diff --git a/local-nuget/Mongo2Go.4.1.0.nupkg b/local-nuget/Mongo2Go.4.1.0.nupkg index 9ab6b1df8..a93781289 100644 Binary files a/local-nuget/Mongo2Go.4.1.0.nupkg and b/local-nuget/Mongo2Go.4.1.0.nupkg differ diff --git a/local-nuget/google.apis/1.69.0/.nupkg.metadata b/local-nuget/google.apis/1.69.0/.nupkg.metadata new file mode 100644 index 000000000..a11c4f308 --- /dev/null +++ b/local-nuget/google.apis/1.69.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "1TfjsXFejwIf7iWaE7A0FbnOEsk8FPlbdFAt1r+I8aSMQfLLdSVWCLdZz6TzuWVwoCGEuJUHTZ/FXdptdU3qWw==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/google.apis/1.69.0/.signature.p7s b/local-nuget/google.apis/1.69.0/.signature.p7s new file mode 100644 index 000000000..24ce2e22d Binary files /dev/null and b/local-nuget/google.apis/1.69.0/.signature.p7s differ diff --git a/local-nuget/google.apis/1.69.0/Google.Apis.nuspec b/local-nuget/google.apis/1.69.0/Google.Apis.nuspec new file mode 100644 index 000000000..5e2f18209 --- /dev/null +++ b/local-nuget/google.apis/1.69.0/Google.Apis.nuspec @@ -0,0 +1,33 @@ + + + + Google.Apis + 1.69.0 + Google APIs Client Library + Google LLC + Apache-2.0 + https://licenses.nuget.org/Apache-2.0 + NuGetIcon.png + https://github.com/googleapis/google-api-dotnet-client + https://www.gstatic.com/images/branding/product/1x/google_developers_64dp.png + The Google APIs Client Library is a runtime client for working with Google services. +The library supports service requests, media upload and download, etc. + Copyright 2021 Google LLC + Google + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/google.apis/1.69.0/LICENSE b/local-nuget/google.apis/1.69.0/LICENSE new file mode 100644 index 000000000..1b8f56b69 --- /dev/null +++ b/local-nuget/google.apis/1.69.0/LICENSE @@ -0,0 +1,176 @@ + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. \ No newline at end of file diff --git a/local-nuget/google.apis/1.69.0/NuGetIcon.png b/local-nuget/google.apis/1.69.0/NuGetIcon.png new file mode 100644 index 000000000..1bba2b116 Binary files /dev/null and b/local-nuget/google.apis/1.69.0/NuGetIcon.png differ diff --git a/local-nuget/google.apis/1.69.0/google.apis.1.69.0.nupkg b/local-nuget/google.apis/1.69.0/google.apis.1.69.0.nupkg new file mode 100644 index 000000000..4888f4dc8 Binary files /dev/null and b/local-nuget/google.apis/1.69.0/google.apis.1.69.0.nupkg differ diff --git a/local-nuget/google.apis/1.69.0/google.apis.1.69.0.nupkg.sha512 b/local-nuget/google.apis/1.69.0/google.apis.1.69.0.nupkg.sha512 new file mode 100644 index 000000000..b85b45a38 --- /dev/null +++ b/local-nuget/google.apis/1.69.0/google.apis.1.69.0.nupkg.sha512 @@ -0,0 +1 @@ +HHb3A0UzbbUuDEUmDNBtn8z4hklURnNfiC3khrWx4nvBeQX0MOoe/7qgLWediv7wbEqKRFKqdbMudEkpsBTDkg== \ No newline at end of file diff --git a/local-nuget/google.apis/1.69.0/lib/net462/Google.Apis.xml b/local-nuget/google.apis/1.69.0/lib/net462/Google.Apis.xml new file mode 100644 index 000000000..02eb31e41 --- /dev/null +++ b/local-nuget/google.apis/1.69.0/lib/net462/Google.Apis.xml @@ -0,0 +1,1840 @@ + + + + Google.Apis + + + + + Extension methods for . + + + + + Throws the exception from if it represents a failure with an exception. + The thrown exception will contain a more useful stack trace than just + where this is available. + + The upload progress to check for failure. Must not be null. + + + Enum which represents the status of the current download. + + + The download has not started. + + + Data is being downloaded. + + + The download was completed successfully. + + + The download failed. + + + Reports download progress. + + + Gets the current status of the upload. + + + Gets the number of bytes received from the server. + + + Gets an exception if one occurred. + + + Media download which uses download file part by part, by . + + + An event which notifies when the download status has been changed. + + + Gets or sets the chunk size to download, it defines the size of each part. + + + Downloads synchronously the given URL to the given stream. + + + Downloads asynchronously the given URL to the given stream. + + + + Downloads asynchronously the given URL to the given stream. This download method supports a cancellation + token to cancel a request before it was completed. + + + In case the download fails will contain the exception that + cause the failure. The only exception which will be thrown is + which indicates that the task was canceled. + + + + + A media downloader implementation which handles media downloads. + + + + The service which this downloader belongs to. + + + Maximum chunk size. Default value is 10*MB. + + + + Gets or sets the amount of data that will be downloaded before notifying the caller of + the download's progress. + Must not exceed . + Default value is . + + + + + The range header for the request, if any. This can be used to download specific parts + of the requested media. + + + + + A provider for response stream interceptors. Each time a response is produced, the provider + is called, and can return null if interception is not required, or an interceptor for + that response. The provider itself should not read the response's content stream, but can check headers. + + + + + Download progress model, which contains the status of the download, the amount of bytes whose where + downloaded so far, and an exception in case an error had occurred. + + + + Constructs a new progress instance. + The status of the download. + The number of bytes received so far. + + + Constructs a new progress instance. + An exception which occurred during the download. + The number of bytes received before the exception occurred. + + + Gets or sets the status of the download. + + + Gets or sets the amount of bytes that have been downloaded so far. + + + Gets or sets the exception which occurred during the download or null. + + + + The original dispatch information for . This is null + if and only if is null. + + + + + Updates the current progress and call the event to notify listeners. + + + + Constructs a new downloader with the given client service. + + + + Gets or sets the callback for modifying requests made when downloading. + + + + + + + + + + + + + + + + + CountedBuffer bundles together a byte buffer and a count of valid bytes. + + + + + How many bytes at the beginning of Data are valid. + + + + + Returns true if the buffer contains no data. + + + + + Read data from stream until the stream is empty or the buffer is full. + + Stream from which to read. + Cancellation token for the operation. + + + + Remove the first n bytes of the buffer. Move any remaining valid bytes to the beginning. + Trying to remove more bytes than the buffer contains just clears the buffer. + + The number of bytes to remove. + + + + The core download logic. We download the media and write it to an output stream + ChunkSize bytes at a time, raising the ProgressChanged event after each chunk. + + The chunking behavior is largely a historical artifact: a previous implementation + issued multiple web requests, each for ChunkSize bytes. Now we do everything in + one request, but the API and client-visible behavior are retained for compatibility. + + The URL of the resource to download. + The download will download the resource into this stream. + A cancellation token to cancel this download in the middle. + A task with the download progress object. If an exception occurred during the download, its + property will contain the exception. + + + + Called when a successful HTTP response is received, allowing subclasses to examine headers. + + + For unsuccessful responses, an appropriate exception is thrown immediately, without this method + being called. + + HTTP response received. + + + + Called when an HTTP response is received, allowing subclasses to examine data before it's + written to the client stream. + + Byte array containing the data downloaded. + Length of data downloaded in this chunk, in bytes. + + + + Called when a download has completed, allowing subclasses to perform any final validation + or transformation. + + + + + Defines the behaviour/header used for sending an etag along with a request. + + + + + The default etag behaviour will be determined by the type of the request. + + + + + The ETag won't be added to the header of the request. + + + + + The ETag will be added as an "If-Match" header. + A request sent with an "If-Match" header will only succeed if both ETags are identical. + + + + + The ETag will be added as an "If-None-Match" header. + A request sent with an "If-None-Match" header will only succeed if ETags are not identical. + + + + + A batch request which represents individual requests to Google servers. You should add a single service + request using the method and execute all individual requests using + . More information about the batch protocol is available in + https://developers.google.com/storage/docs/json_api/v1/how-tos/batch. + + Current implementation doesn't retry on unsuccessful individual response and doesn't support requests with + different access tokens (different users or scopes). + + + + + A concrete type callback for an individual response. + The response type. + The parsed content response or null if the request failed or the response + could not be parsed using the associated . + Error or null if the request succeeded and response content was parsed succesfully. + The request index. + The HTTP individual response. + + + This inner class represents an individual inner request. + + + Gets or sets the client service request. + + + Gets or sets the response class type. + + + A callback method which will be called after an individual response was parsed. + The parsed content response or null if the request failed or the response + could not be parsed using the associated . + Error or null if the request succeeded and response content was parsed succesfully. + The request index. + The HTTP individual response. + + + + This generic inner class represents an individual inner request with a generic response type. + + + + Gets or sets a concrete type callback for an individual response. + + + + Constructs a new batch request using the given service. See + for more information. + + + + + Constructs a new batch request using the given service. The service's HTTP client is used to create a + request to the given server URL and its serializer members are used to serialize the request and + deserialize the response. + + + + Gets the count of all queued requests. + + + Queues an individual request. + The response's type. + The individual request. + A callback which will be called after a response was parsed. + + + Asynchronously executes the batch request. + + + Asynchronously executes the batch request. + Cancellation token to cancel operation. + + + Parses the given string content to a HTTP response. + + + + Creates the batch outer request content which includes all the individual requests to Google servers. + + + + Creates the individual server request. + + + + Creates a string representation that includes the request's headers and content based on the input HTTP + request message. + + + + + Represents an abstract request base class to make requests to a service. + + + + Unsuccessful response handlers for this request only. + + + Exception handlers for this request only. + + + Execute interceptors for this request only. + + + + Credential to use for this request. + If implements + then it will also be included as a handler of an unsuccessful response. + + + + + Add an unsuccessful response handler for this request only. + + The unsuccessful response handler. Must not be null. + + + + Add an exception handler for this request only. + + The exception handler. Must not be null. + + + + Add an execute interceptor for this request only. + If the request is retried, the interceptor will be called on each attempt. + + The execute interceptor. Must not be null. + + + + Represents an abstract, strongly typed request base class to make requests to a service. + Supports a strongly typed response. + + The type of the response object + + + The class logger. + + + The service on which this request will be executed. + + + Defines whether the E-Tag will be used in a specified way or be ignored. + + + + Gets or sets the callback for modifying HTTP requests made by this service request. + + + + + Override for service-wide validation configuration in . + If this is null (the default) then the value from the service initializer is used to determine + whether or not parameters should be validated client-side. If this is non-null, it overrides + whatever value is specified in the service. + + + + + The precise API version represented by this request. + Subclasses generated from a specific known version should override this property, + which will result in an x-api-version header being sent on the HTTP request. + + + + + + + + + + + + + + + + + + + Creates a new service request. + + + + Initializes request's parameters. Inherited classes MUST override this method to add parameters to the + dictionary. + + + + + + + + + + + + + + + + + + + + + + Sync executes the request without parsing the result. + + + Parses the response and deserialize the content into the requested response object. + + + + + + + Creates the which is used to generate a request. + + + A new builder instance which contains the HTTP method and the right Uri with its path and query parameters. + + + + Generates the right URL for this request. + + + Returns the body of this request. + The body of this request. + + + + Adds the right ETag action (e.g. If-Match) header to the given HTTP request if the body contains ETag. + + + + Returns the default ETagAction for a specific HTTP verb. + + + Adds path and query parameters to the given requestBuilder. + + + + Extension methods for request objects. + + + + + Allows a request to be configured in a fluent manner, where normally separate statements are required + after the request creation method is called. + + The type of the request to configure. + The request to configure. Must not be null. + The configuration action to apply to the request. This is typically + setting properties. Must not be null. + The value of , after applying the configuration action. + + + Extension methods to . + + + + Sets the content of the request by the given body and the the required GZip configuration. + + The request. + The service. + The body of the future request. If null do nothing. + + Indicates if the content will be wrapped in a GZip stream, or a regular string stream will be used. + + + + Creates a GZip content based on the given content. + Content to GZip. + GZiped HTTP content. + + + Creates a GZip stream by the given serialized object. + + + A client service request which supports both sync and async execution to get the stream. + + + Gets the name of the method to which this request belongs. + + + Gets the rest path of this request. + + + Gets the HTTP method of this request. + + + Gets the parameters information for this specific request. + + + Gets the service which is related to this request. + + + Creates a HTTP request message with all path and query parameters, ETag, etc. + + If null use the service default GZip behavior. Otherwise indicates if GZip is enabled or disabled. + + + + Executes the request asynchronously and returns the result stream. + + + Executes the request asynchronously and returns the result stream. + A cancellation token to cancel operation. + + + Executes the request and returns the result stream. + + + + A client service request which inherits from and represents a specific + service request with the given response type. It supports both sync and async execution to get the response. + + + + Executes the request asynchronously and returns the result object. + + + Executes the request asynchronously and returns the result object. + A cancellation token to cancel operation. + + + Executes the request and returns the result object. + + + + Interface containing additional response-properties which will be added to every schema type which is + a direct response to a request. + + + + + The e-tag of this response. + + + Will be set by the service deserialization method, + or the by json response parser if implemented on service. + + + + + A page streamer is a helper to provide both synchronous and asynchronous page streaming + of a listable or queryable resource. + + + + The expected usage pattern is to create a single paginator for a resource collection, + and then use the instance methods to obtain paginated results. + + + + To construct a page streamer to return snippets from the YouTube v3 Data API, you might use code + such as the following. The pattern for other APIs would be very similar, with the request.PageToken, + response.NextPageToken and response.Items properties potentially having different names. Constructing + the page streamer doesn't require any service references or authentication, so it's completely safe to perform this + in a type initializer. + ( + (request, token) => request.PageToken = token, + response => response.NextPageToken, + response => response.Items); + ]]> + + The type of resource being paginated + The type of request used to fetch pages + The type of response obtained when fetching pages + The type of the "next page token", which must be a reference type; + a null reference for a token indicates the end of a stream of pages. + + + + Creates a paginator for later use. + + Action to modify a request to include the specified page token. + Must not be null. + Function to extract the next page token from a response. + Must not be null. + Function to extract a sequence of resources from a response. + Must not be null, although it can return null if it is passed a response which contains no + resources. + + + + Lazily fetches resources a page at a time. + + The initial request to send. If this contains a page token, + that token is maintained. This will be modified with new page tokens over time, and should not + be changed by the caller. (The caller should clone the request if they want an independent object + to use in other calls or to modify.) Must not be null. + A sequence of resources, which are fetched a page at a time. Must not be null. + + + + Asynchronously (but eagerly) fetches a complete set of resources, potentially making multiple requests. + + The initial request to send. If this contains a page token, + that token is maintained. This will be modified with new page tokens over time, and should not + be changed by the caller. (The caller should clone the request if they want an independent object + to use in other calls or to modify.) Must not be null. + A sequence of resources, which are fetched asynchronously and a page at a time. + + A task whose result (when complete) is the complete set of results fetched starting with the given + request, and continuing to make further requests until a response has no "next page" token. + + + + Helps build version strings for the x-goog-api-client header. + The value is a space-separated list of name/value pairs, where the value + should be a semantic version string. Names must be unique. + + + + + The name of the header to set. + + + + + Appends the given name/version string to the list. + + The name. Must not be null or empty, or contain a space or a slash. + The version. Must not be null, or contain a space or a slash. + + + + Appends a name/version string, taking the version from the version of the assembly + containing the given type. + + + + + Appends the .NET environment information to the list. + + + + + Whether the name or value that are supposed to be included in a header are valid + + + + + Formats an AssemblyInformationalVersionAttribute value to avoid losing useful information, + but also avoid including unnecessary hex that is appended automatically. + + + + + + + + Clones this VersionHeaderBuilder, creating an independent copy with the same names/values. + + A clone of this builder. + + + + Extensions for to help with parasing errors as returned + by some Google services. + + + + + Attempts to deserialize a from the . + + + This method will throw a if: + + The or its are null. + Or the deserialization attempt throws a . + Or the deserilization attempt returns null. + + Any exception thrown while reading the + will be bubbled up. + Otherwise this method will return the deserialized . + + + + + A base class for a client service which provides common mechanism for all services, like + serialization and GZip support. It should be safe to use a single service instance to make server requests + concurrently from multiple threads. + This class adds a special to the + execute interceptor list, which uses the given + Authenticator. It calls to its applying authentication method, and injects the "Authorization" header in the + request. + If the given Authenticator implements , this + class adds the Authenticator to the 's unsuccessful + response handler list. + + + + The class logger. + + + The default maximum allowed length of a URL string for GET requests. + + + An initializer class for the client service. + + + + Gets or sets the factory for creating instance. If this + property is not set the service uses a new instance. + + + + + Gets or sets a HTTP client initializer which is able to customize properties on + and + . + + + + + Indicates which of exceptions and / or HTTP status codes are automatically retried using exponential backoff. + The default value is which means HTTP Status code 503 + will be retried with exponential backoff. + If set to no automatic retries will happen. + Calling code may still specify custom retries by configuring . + + + + Gets or sets whether this service supports GZip. Default value is true. + + + + Gets or sets the serializer. Default value is . + + + + Gets or sets the API Key. Default value is null. + + + + Gets or sets Application name to be used in the User-Agent header. Default value is null. + + + + + Maximum allowed length of a URL string for GET requests. Default value is 2048. If the value is + set to 0, requests will never be modified due to URL string length. + + + + + Gets or sets the base URI to use for the service. If the value is null, + the default base URI for the service is used. + + + + + The universe domain to connect to, or null to use the default universe domain . + + + + is used to build the endpoint to connect to, unless + is set, in which case will be used without further modification. + may also be used by the credential, if any, to validate against its + own universe domain. + + + + + + The timeout to set on instances used by the service. + May be null, in which case the default timeout values on instances + used by this service will be left unchanged. + + + + + Builder for the x-goog-api-client header, collecting version information. + Services automatically add the API library version to this. + Most users will never need to configure this, but higher level abstraction Google libraries + may add their own version here. + + + + + Determines whether request parameters are validated (client-side) by default. + Defaults to true. This can be overridden on a per-request basis using . + + + + Constructs a new initializer with default values. + + + Constructs a new base client with the specified initializer. + + + + Determines whether or not request parameters should be validated client-side. + This may be overridden on a per-request basis. + + + + + The BaseUri provided in the initializer, which may be null. + + + + + The universe domain to connect to, or null to use the default universe domain, + which may be configured via the . + + + + is used to build the endpoint to connect to, unless + is set, in which case will be used without further modification. + + + + + + The configured universe domain, which is: + + + if not null. + + + Otherwise, the value of the environment variable with name + if set to a non empty or blank-only value. + + + Otherwise, null. + + + + + + + The timeout to set on instances used by the service. + May be null, in which case the default timeout values on instances + used by this service will be left unchanged. + + + + Returns true if this service contains the specified feature. + + + + Creates the back-off handler with . + Overrides this method to change the default behavior of back-off handler (e.g. you can change the maximum + waited request's time span, or create a back-off handler with you own implementation of + ). + + + + + Gets the effective URI taking into account the and the value of + the . + + An explicit URI. May be null. + A default URI. May be null. + + + if not null. + + Otherwise, if is not null, the result of replacing + with + in . + + Otherwise . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The URI used for batch operations. + + + The path used for batch operations. + + + + + + + + + + Retrieves the value of the environment variable with , + mapping empty or whitespace-only strings to null. + + + + + Client service contains all the necessary information a Google service requires. + Each concrete has a reference to a service for + important properties like API key, application name, base Uri, etc. + This service interface also contains serialization methods to serialize an object to stream and deserialize a + stream into an object. + + + + Gets the HTTP client which is used to create requests. + + + + Gets a HTTP client initializer which is able to custom properties on + and + . + + + + Gets the service name. + + + Gets the BaseUri of the service. All request paths should be relative to this URI. + + + Gets the BasePath of the service. + + + Gets the supported features by this service. + + + Gets or sets whether this service supports GZip. + + + Gets the API-Key (DeveloperKey) which this service uses for all requests. + + + Gets the application name to be used in the User-Agent header. + + + + Sets the content of the request by the given body and the this service's configuration. + First the body object is serialized by the Serializer and then, if GZip is enabled, the content will be + wrapped in a GZip stream, otherwise a regular string stream will be used. + + + + Gets the Serializer used by this service. + + + Serializes an object into a string representation. + + + Deserializes a response into the specified object. + + + Deserializes an error response into a object. + If no error is found in the response. + + + + Enum to communicate the status of an upload for progress reporting. + + + + + The upload has not started. + + + + + The upload is initializing. + + + + + Data is being uploaded. + + + + + The upload completed successfully. + + + + + The upload failed. + + + + + Interface reporting upload progress. + + + + + Gets the current status of the upload + + + + + Gets the approximate number of bytes sent to the server. + + + + + Gets an exception if one occurred. + + + + + Interface IUploadSessionData: Provides UploadUri for client to persist. Allows resuming an upload after a program restart for seekable ContentStreams. + + + Defines the data passed from the ResumeableUpload class upon initiation of an upload. + When the client application adds an event handler for the UploadSessionData event, the data + defined in this interface (currently the UploadURI) is passed as a parameter to the event handler procedure. + An event handler for the UploadSessionData event is only required if the application will support resuming the + upload after a program restart. + + + + + The resumable session URI (UploadUri) + + + + + Media upload which uses Google's resumable media upload protocol to upload data. + + + See: https://developers.google.com/drive/manage-uploads#resumable for more information on the protocol. + + + + The class logger. + + + Minimum chunk size (except the last one). Default value is 256*KB. + + + Default chunk size. Default value is 10*MB. + + + + Defines how many bytes are read from the input stream in each stream read action. + The read will continue until we read or we reached the end of the stream. + + + + Indicates the stream's size is unknown. + + + Content-Range header value for the body upload of zero length files. + + + + The x-goog-api-client header value used for resumable uploads initiated without any options or an HttpClient. + + + + + Creates a instance. + + The data to be uploaded. Must not be null. + The options for the upload operation. May be null. + + + + Creates a instance for a resumable upload session which has already been initiated. + + + See https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload#start-resumable for more information about initiating + resumable upload sessions and saving the session URI, or upload URI. + + The session URI of the resumable upload session. Must not be null. + The data to be uploaded. Must not be null. + The options for the upload operation. May be null. + The instance which can be used to upload the specified content. + + + + Gets the options used to control the resumable upload. + + + + + Gets the HTTP client to use to make requests. + + + + Gets or sets the stream to upload. + + + + Gets or sets the length of the steam. Will be if the media content length is + unknown. + + + + + The buffer used for reading from the stream, to prepare HTTP requests. + This is used for both seekable and non-seekable streams, but in a slightly different way: + with seekable streams, we never reuse any *data* between chunks, just the allocated byte arrays. + For non-seekable streams, if some of the data we sent was not received by the server, + we reuse the data in the buffer. + + + + + Gets or sets the resumable session URI. + See https://developers.google.com/drive/manage-uploads#save-session-uri" for more details. + + + + Gets or sets the amount of bytes the server had received so far. + + + Gets or sets the amount of bytes the client had sent so far. + + + Change this value ONLY for testing purposes! + + + + Gets or sets the size of each chunk sent to the server. + Chunks (except the last chunk) must be a multiple of to be compatible with + Google upload servers. + + + + Event called whenever the progress of the upload changes. + + + + Interceptor used to propagate data successfully uploaded on each chunk. + + + + + Callback class that is invoked on abnormal response or an exception. + This class changes the request to query the current status of the upload in order to find how many bytes + were successfully uploaded before the error occurred. + See https://developers.google.com/drive/manage-uploads#resume-upload for more details. + + + + + Constructs a new callback and register it as unsuccessful response handler and exception handler on the + configurable message handler. + + + + Changes the request in order to resume the interrupted upload. + + + Class that communicates the progress of resumable uploads to a container. + + + + Create a ResumableUploadProgress instance. + + The status of the upload. + The number of bytes sent so far. + + + + Create a ResumableUploadProgress instance. + + An exception that occurred during the upload. + The number of bytes sent before this exception occurred. + + + + The original dispatch information for . This is null + if and only if is null. + + + + + Current state of progress of the upload. + + + + + + Updates the current progress and call the event to notify listeners. + + + + + Get the current progress state. + + An IUploadProgress describing the current progress of the upload. + + + + + Event called when an UploadUri is created. + Not needed if the application program will not support resuming after a program restart. + + + Within the event, persist the UploadUri to storage. + It is strongly recommended that the full path filename (or other media identifier) is also stored so that it can be compared to the current open filename (media) upon restart. + + + + + Data to be passed to the application program to allow resuming an upload after a program restart. + + + + + Create a ResumeableUploadSessionData instance to pass the UploadUri to the client. + + The resumable session URI. + + + + Send data (UploadUri) to application so it can store it to persistent storage. + + + + + Uploads the content to the server. This method is synchronous and will block until the upload is completed. + + + In case the upload fails the will contain the exception that + cause the failure. + + + + Uploads the content asynchronously to the server. + + + Uploads the content to the server using the given cancellation token. + + In case the upload fails will contain the exception that + cause the failure. The only exception which will be thrown is + which indicates that the task was canceled. + + A cancellation token to cancel operation. + + + + Resumes the upload from the last point it was interrupted. + Use when resuming and the program was not restarted. + + + + + Resumes the upload from the last point it was interrupted. + Use when the program was restarted and you wish to resume the upload that was in progress when the program was halted. + Implemented only for ContentStreams where .CanSeek is True. + + + In your application's UploadSessionData Event Handler, store UploadUri.AbsoluteUri property value (resumable session URI string value) + to persistent storage for use with Resume() or ResumeAsync() upon a program restart. + It is strongly recommended that the FullPathFilename of the media file that is being uploaded is saved also so that a subsequent execution of the + program can compare the saved FullPathFilename value to the FullPathFilename of the media file that it has opened for uploading. + You do not need to seek to restart point in the ContentStream file. + + VideosResource.InsertMediaUpload UploadUri property value that was saved to persistent storage during a prior execution. + + + + Asynchronously resumes the upload from the last point it was interrupted. + + + You do not need to seek to restart point in the ContentStream file. + + + + + Asynchronously resumes the upload from the last point it was interrupted. + Use when resuming and the program was not restarted. + + + You do not need to seek to restart point in the ContentStream file. + + A cancellation token to cancel the asynchronous operation. + + + + Asynchronously resumes the upload from the last point it was interrupted. + Use when resuming and the program was restarted. + Implemented only for ContentStreams where .CanSeek is True. + + + In your application's UploadSessionData Event Handler, store UploadUri.AbsoluteUri property value (resumable session URI string value) + to persistent storage for use with Resume() or ResumeAsync() upon a program restart. + It is strongly recommended that the FullPathFilename of the media file that is being uploaded is saved also so that a subsequent execution of the + program can compare the saved FullPathFilename value to the FullPathFilename of the media file that it has opened for uploading. + You do not need to seek to restart point in the ContentStream file. + + VideosResource.InsertMediaUpload UploadUri property value that was saved to persistent storage during a prior execution. + + + + Asynchronously resumes the upload from the last point it was interrupted. + Use when the program was restarted and you wish to resume the upload that was in progress when the program was halted. + Implemented only for ContentStreams where .CanSeek is True. + + + In your application's UploadSessionData Event Handler, store UploadUri.AbsoluteUri property value (resumable session URI string value) + to persistent storage for use with Resume() or ResumeAsync() upon a program restart. + It is strongly recommended that the FullPathFilename of the media file that is being uploaded is saved also so that a subsequent execution of the + program can compare the saved FullPathFilename value to the FullPathFilename of the media file that it has opened for uploading. + You do not need to seek to restart point in the ContentStream file. + + VideosResource.InsertMediaUpload UploadUri property value that was saved to persistent storage during a prior execution. + A cancellation token to cancel the asynchronous operation. + + + The core logic for uploading a stream. It is used by the upload and resume methods. + + + + Initiates the resumable upload session and returns the session URI, or upload URI. + See https://developers.google.com/drive/manage-uploads#start-resumable and + https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload#start-resumable for more information. + + The token to monitor for cancellation requests. + + The task containing the session URI to use for the resumable upload. + + + + + Process a response from the final upload chunk call. + + The response body from the final uploaded chunk. + + + Uploads the next chunk of data to the server. + True if the entire media has been completely uploaded. + + + Handles a media upload HTTP response. + True if the entire media has been completely uploaded. + + + + Creates a instance using the error response from the server. + + The error response. + An exception which can be thrown by the caller. + + + A callback when the media was uploaded successfully. + + + Prepares the given request with the next chunk in case the steam length is unknown. + + + Prepares the given request with the next chunk in case the steam length is known. + + + Returns the next byte index need to be sent. + + + + Build a content range header of the form: "bytes X-Y/T" where: + + X is the first byte being sent. + Y is the last byte in the range being sent (inclusive). + T is the total number of bytes in the range or * for unknown size. + + + + See: RFC2616 HTTP/1.1, Section 14.16 Header Field Definitions, Content-Range + http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16 + + Start of the chunk. + Size of the chunk being sent. + The content range header value. + + + + A buffer to be uploaded. This abstraction allows us to use small byte arrays, + avoiding anything which might end up on the large object heap. + + + + + The upload using this buffer; used to find the chunk size etc. + + + + + The capacity of this buffer; + will read until the buffer contains this much data. + + + + + The amount of usable data within the buffer. + + + + + The data in the buffer, divided into blocks each of size (at most) . + + + + + Reads from the stream until the stream has run out of data, or the buffer is full. + + The stream to read from + + true if the stream is exhausted; false otherwise + + + + Resets the length of this buffer to 0, *effectively* discarding the data within it. + (The blocks are actually retained for reuse.) + + + + + Returns the block that contains the specified offset, creating it if necessary. + + The offset within the buffer to fetch the block for. + The offset within the returned block corresponding to within the buffer. + The block for the given position. + + + + Moves any unsent data to the start of this buffer, based on the number of bytes we actually sent, + and the number of bytes the server received. + + + + + Creates an HttpContent for the data in this buffer, up to bytes. + + The length of the content. + + + + Determines how much data should actually be sent from this buffer. + + + + + A read-only stream reading from an UploadBuffer, reading all the blocks in turn. + + + + + Media upload which uses Google's resumable media upload protocol to upload data. + + + See: https://developers.google.com/drive/manage-uploads#resumable for more information on the protocol. + + + The type of the body of this request. Generally this should be the metadata related to the content to be + uploaded. Must be serializable to/from JSON. + + + + Payload description headers, describing the content itself. + + + Payload description headers, describing the content itself. + + + Specify the type of this upload (this class supports resumable only). + + + The uploadType parameter value for resumable uploads. + + + + Create a resumable upload instance with the required parameters. + + The client service. + The path for this media upload method. + The HTTP method to start this upload. + The stream containing the content to upload. + Content type of the content to be uploaded. Some services + may allow this to be null; others require a content type to be specified and will + fail when the upload is started if the value is null. + + Caller is responsible for maintaining the open until the upload is + completed. + Caller is responsible for closing the . + + + + Gets or sets the service. + + + + Gets or sets the path of the method (combined with + ) to produce + absolute Uri. + + + + Gets or sets the HTTP method of this upload (used to initialize the upload). + + + Gets or sets the stream's Content-Type. + + + Gets or sets the body of this request. + + + + + + Creates a request to initialize a request. + + + + Reflectively enumerate the properties of this object looking for all properties containing the + RequestParameterAttribute and copy their values into the request builder. + + + + + Media upload which uses Google's resumable media upload protocol to upload data. + The version with two types contains both a request object and a response object. + + + See: https://developers.google.com/gdata/docs/resumable_upload for + information on the protocol. + + + The type of the body of this request. Generally this should be the metadata related + to the content to be uploaded. Must be serializable to/from JSON. + + + The type of the response body. + + + + + Create a resumable upload instance with the required parameters. + + The client service. + The path for this media upload method. + The HTTP method to start this upload. + The stream containing the content to upload. + Content type of the content to be uploaded. + + Considerations regarding : + + + If is seekable, then the stream position will be reset to + 0 before reading commences. If is not + seekable, then it will be read from its current position. + + + Caller is responsible for maintaining the open until the + upload is completed. + + + Caller is responsible for closing the . + + + + + + + The response body. + + + This property will be set during upload. The event + is triggered when this has been set. + + + + Event which is called when the response metadata is processed. + + + Process the response body + + + + Options for operations. + + + + + Gets or sets the HTTP client to use when starting the upload sessions and uploading data. + + + + + Gets or sets the callback for modifying the session initiation request. + See https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload#start-resumable for more information. + + + Note: If these options are used with a created using , + this property will be ignored as the session has already been initiated. + + + + + Gets or sets the serializer to use when parsing error responses. + + + + + Gets or sets the name of the service performing the upload. + + + This will be used to set the in the event of an error. + + + + + Gets the as a if it is an instance of one. + + + + + Extension methods for . + + + + + Throws the exception from if it represents a failure with an exception. + The thrown exception will contain a more useful stack trace than just + where this is available. + + The upload progress to check for failure. Must not be null. + + + + Extension methods for . + + + + + Sets the given key/value pair as a request option. + + + This method exist mostly to handle the fact that HttpRequestMessage.Options are only available + from .NET 5 and up. + + + + + Gets the value associated with the given key on the request options. + + + This method exist mostly to handle the fact that HttpRequestMessage.Options are only available + from .NET 5 and up. + + + + + File data store that implements . This store creates a different file for each + combination of type and key. This file data store stores a JSON format of the specified object. + + + + Gets the full folder path. + + + + Constructs a new file data store. If fullPath is false the path will be used as relative to + Environment.SpecialFolder.ApplicationData" on Windows, or $HOME on Linux and MacOS, + otherwise the input folder will be treated as absolute. + The folder is created if it doesn't exist yet. + + Folder path. + + Defines whether the folder parameter is absolute or relative to + Environment.SpecialFolder.ApplicationData on Windows, or$HOME on Linux and MacOS. + + + + + Stores the given value for the given key. It creates a new file (named ) in + . + + The type to store in the data store. + The key. + The value to store in the data store. + + + + Deletes the given key. It deletes the named file in + . + + The key to delete from the data store. + + + + Returns the stored value for the given key or null if the matching file ( + in doesn't exist. + + The type to retrieve. + The key to retrieve from the data store. + The stored object. + + + + Clears all values in the data store. This method deletes all files in . + + + + Creates a unique stored key based on the key and the class type. + The object key. + The type to store or retrieve. + + + + A null datastore. Nothing is stored, nothing is retrievable. + + + + + Construct a new null datastore, that stores nothing. + + + + + + + + + + + Asynchronously returns the stored value for the given key or null if not found. + This implementation of will always return a completed task + with a result of null. + + The type to retrieve from the data store. + The key to retrieve its value. + Always null. + + + + Asynchronously stores the given value for the given key (replacing any existing value). + This implementation of does not store the value, + and will not return it in future calls to . + + The type to store in the data store. + The key. + The value. + A task that completes immediately. + + + diff --git a/local-nuget/google.apis/1.69.0/lib/net6.0/Google.Apis.xml b/local-nuget/google.apis/1.69.0/lib/net6.0/Google.Apis.xml new file mode 100644 index 000000000..02eb31e41 --- /dev/null +++ b/local-nuget/google.apis/1.69.0/lib/net6.0/Google.Apis.xml @@ -0,0 +1,1840 @@ + + + + Google.Apis + + + + + Extension methods for . + + + + + Throws the exception from if it represents a failure with an exception. + The thrown exception will contain a more useful stack trace than just + where this is available. + + The upload progress to check for failure. Must not be null. + + + Enum which represents the status of the current download. + + + The download has not started. + + + Data is being downloaded. + + + The download was completed successfully. + + + The download failed. + + + Reports download progress. + + + Gets the current status of the upload. + + + Gets the number of bytes received from the server. + + + Gets an exception if one occurred. + + + Media download which uses download file part by part, by . + + + An event which notifies when the download status has been changed. + + + Gets or sets the chunk size to download, it defines the size of each part. + + + Downloads synchronously the given URL to the given stream. + + + Downloads asynchronously the given URL to the given stream. + + + + Downloads asynchronously the given URL to the given stream. This download method supports a cancellation + token to cancel a request before it was completed. + + + In case the download fails will contain the exception that + cause the failure. The only exception which will be thrown is + which indicates that the task was canceled. + + + + + A media downloader implementation which handles media downloads. + + + + The service which this downloader belongs to. + + + Maximum chunk size. Default value is 10*MB. + + + + Gets or sets the amount of data that will be downloaded before notifying the caller of + the download's progress. + Must not exceed . + Default value is . + + + + + The range header for the request, if any. This can be used to download specific parts + of the requested media. + + + + + A provider for response stream interceptors. Each time a response is produced, the provider + is called, and can return null if interception is not required, or an interceptor for + that response. The provider itself should not read the response's content stream, but can check headers. + + + + + Download progress model, which contains the status of the download, the amount of bytes whose where + downloaded so far, and an exception in case an error had occurred. + + + + Constructs a new progress instance. + The status of the download. + The number of bytes received so far. + + + Constructs a new progress instance. + An exception which occurred during the download. + The number of bytes received before the exception occurred. + + + Gets or sets the status of the download. + + + Gets or sets the amount of bytes that have been downloaded so far. + + + Gets or sets the exception which occurred during the download or null. + + + + The original dispatch information for . This is null + if and only if is null. + + + + + Updates the current progress and call the event to notify listeners. + + + + Constructs a new downloader with the given client service. + + + + Gets or sets the callback for modifying requests made when downloading. + + + + + + + + + + + + + + + + + CountedBuffer bundles together a byte buffer and a count of valid bytes. + + + + + How many bytes at the beginning of Data are valid. + + + + + Returns true if the buffer contains no data. + + + + + Read data from stream until the stream is empty or the buffer is full. + + Stream from which to read. + Cancellation token for the operation. + + + + Remove the first n bytes of the buffer. Move any remaining valid bytes to the beginning. + Trying to remove more bytes than the buffer contains just clears the buffer. + + The number of bytes to remove. + + + + The core download logic. We download the media and write it to an output stream + ChunkSize bytes at a time, raising the ProgressChanged event after each chunk. + + The chunking behavior is largely a historical artifact: a previous implementation + issued multiple web requests, each for ChunkSize bytes. Now we do everything in + one request, but the API and client-visible behavior are retained for compatibility. + + The URL of the resource to download. + The download will download the resource into this stream. + A cancellation token to cancel this download in the middle. + A task with the download progress object. If an exception occurred during the download, its + property will contain the exception. + + + + Called when a successful HTTP response is received, allowing subclasses to examine headers. + + + For unsuccessful responses, an appropriate exception is thrown immediately, without this method + being called. + + HTTP response received. + + + + Called when an HTTP response is received, allowing subclasses to examine data before it's + written to the client stream. + + Byte array containing the data downloaded. + Length of data downloaded in this chunk, in bytes. + + + + Called when a download has completed, allowing subclasses to perform any final validation + or transformation. + + + + + Defines the behaviour/header used for sending an etag along with a request. + + + + + The default etag behaviour will be determined by the type of the request. + + + + + The ETag won't be added to the header of the request. + + + + + The ETag will be added as an "If-Match" header. + A request sent with an "If-Match" header will only succeed if both ETags are identical. + + + + + The ETag will be added as an "If-None-Match" header. + A request sent with an "If-None-Match" header will only succeed if ETags are not identical. + + + + + A batch request which represents individual requests to Google servers. You should add a single service + request using the method and execute all individual requests using + . More information about the batch protocol is available in + https://developers.google.com/storage/docs/json_api/v1/how-tos/batch. + + Current implementation doesn't retry on unsuccessful individual response and doesn't support requests with + different access tokens (different users or scopes). + + + + + A concrete type callback for an individual response. + The response type. + The parsed content response or null if the request failed or the response + could not be parsed using the associated . + Error or null if the request succeeded and response content was parsed succesfully. + The request index. + The HTTP individual response. + + + This inner class represents an individual inner request. + + + Gets or sets the client service request. + + + Gets or sets the response class type. + + + A callback method which will be called after an individual response was parsed. + The parsed content response or null if the request failed or the response + could not be parsed using the associated . + Error or null if the request succeeded and response content was parsed succesfully. + The request index. + The HTTP individual response. + + + + This generic inner class represents an individual inner request with a generic response type. + + + + Gets or sets a concrete type callback for an individual response. + + + + Constructs a new batch request using the given service. See + for more information. + + + + + Constructs a new batch request using the given service. The service's HTTP client is used to create a + request to the given server URL and its serializer members are used to serialize the request and + deserialize the response. + + + + Gets the count of all queued requests. + + + Queues an individual request. + The response's type. + The individual request. + A callback which will be called after a response was parsed. + + + Asynchronously executes the batch request. + + + Asynchronously executes the batch request. + Cancellation token to cancel operation. + + + Parses the given string content to a HTTP response. + + + + Creates the batch outer request content which includes all the individual requests to Google servers. + + + + Creates the individual server request. + + + + Creates a string representation that includes the request's headers and content based on the input HTTP + request message. + + + + + Represents an abstract request base class to make requests to a service. + + + + Unsuccessful response handlers for this request only. + + + Exception handlers for this request only. + + + Execute interceptors for this request only. + + + + Credential to use for this request. + If implements + then it will also be included as a handler of an unsuccessful response. + + + + + Add an unsuccessful response handler for this request only. + + The unsuccessful response handler. Must not be null. + + + + Add an exception handler for this request only. + + The exception handler. Must not be null. + + + + Add an execute interceptor for this request only. + If the request is retried, the interceptor will be called on each attempt. + + The execute interceptor. Must not be null. + + + + Represents an abstract, strongly typed request base class to make requests to a service. + Supports a strongly typed response. + + The type of the response object + + + The class logger. + + + The service on which this request will be executed. + + + Defines whether the E-Tag will be used in a specified way or be ignored. + + + + Gets or sets the callback for modifying HTTP requests made by this service request. + + + + + Override for service-wide validation configuration in . + If this is null (the default) then the value from the service initializer is used to determine + whether or not parameters should be validated client-side. If this is non-null, it overrides + whatever value is specified in the service. + + + + + The precise API version represented by this request. + Subclasses generated from a specific known version should override this property, + which will result in an x-api-version header being sent on the HTTP request. + + + + + + + + + + + + + + + + + + + Creates a new service request. + + + + Initializes request's parameters. Inherited classes MUST override this method to add parameters to the + dictionary. + + + + + + + + + + + + + + + + + + + + + + Sync executes the request without parsing the result. + + + Parses the response and deserialize the content into the requested response object. + + + + + + + Creates the which is used to generate a request. + + + A new builder instance which contains the HTTP method and the right Uri with its path and query parameters. + + + + Generates the right URL for this request. + + + Returns the body of this request. + The body of this request. + + + + Adds the right ETag action (e.g. If-Match) header to the given HTTP request if the body contains ETag. + + + + Returns the default ETagAction for a specific HTTP verb. + + + Adds path and query parameters to the given requestBuilder. + + + + Extension methods for request objects. + + + + + Allows a request to be configured in a fluent manner, where normally separate statements are required + after the request creation method is called. + + The type of the request to configure. + The request to configure. Must not be null. + The configuration action to apply to the request. This is typically + setting properties. Must not be null. + The value of , after applying the configuration action. + + + Extension methods to . + + + + Sets the content of the request by the given body and the the required GZip configuration. + + The request. + The service. + The body of the future request. If null do nothing. + + Indicates if the content will be wrapped in a GZip stream, or a regular string stream will be used. + + + + Creates a GZip content based on the given content. + Content to GZip. + GZiped HTTP content. + + + Creates a GZip stream by the given serialized object. + + + A client service request which supports both sync and async execution to get the stream. + + + Gets the name of the method to which this request belongs. + + + Gets the rest path of this request. + + + Gets the HTTP method of this request. + + + Gets the parameters information for this specific request. + + + Gets the service which is related to this request. + + + Creates a HTTP request message with all path and query parameters, ETag, etc. + + If null use the service default GZip behavior. Otherwise indicates if GZip is enabled or disabled. + + + + Executes the request asynchronously and returns the result stream. + + + Executes the request asynchronously and returns the result stream. + A cancellation token to cancel operation. + + + Executes the request and returns the result stream. + + + + A client service request which inherits from and represents a specific + service request with the given response type. It supports both sync and async execution to get the response. + + + + Executes the request asynchronously and returns the result object. + + + Executes the request asynchronously and returns the result object. + A cancellation token to cancel operation. + + + Executes the request and returns the result object. + + + + Interface containing additional response-properties which will be added to every schema type which is + a direct response to a request. + + + + + The e-tag of this response. + + + Will be set by the service deserialization method, + or the by json response parser if implemented on service. + + + + + A page streamer is a helper to provide both synchronous and asynchronous page streaming + of a listable or queryable resource. + + + + The expected usage pattern is to create a single paginator for a resource collection, + and then use the instance methods to obtain paginated results. + + + + To construct a page streamer to return snippets from the YouTube v3 Data API, you might use code + such as the following. The pattern for other APIs would be very similar, with the request.PageToken, + response.NextPageToken and response.Items properties potentially having different names. Constructing + the page streamer doesn't require any service references or authentication, so it's completely safe to perform this + in a type initializer. + ( + (request, token) => request.PageToken = token, + response => response.NextPageToken, + response => response.Items); + ]]> + + The type of resource being paginated + The type of request used to fetch pages + The type of response obtained when fetching pages + The type of the "next page token", which must be a reference type; + a null reference for a token indicates the end of a stream of pages. + + + + Creates a paginator for later use. + + Action to modify a request to include the specified page token. + Must not be null. + Function to extract the next page token from a response. + Must not be null. + Function to extract a sequence of resources from a response. + Must not be null, although it can return null if it is passed a response which contains no + resources. + + + + Lazily fetches resources a page at a time. + + The initial request to send. If this contains a page token, + that token is maintained. This will be modified with new page tokens over time, and should not + be changed by the caller. (The caller should clone the request if they want an independent object + to use in other calls or to modify.) Must not be null. + A sequence of resources, which are fetched a page at a time. Must not be null. + + + + Asynchronously (but eagerly) fetches a complete set of resources, potentially making multiple requests. + + The initial request to send. If this contains a page token, + that token is maintained. This will be modified with new page tokens over time, and should not + be changed by the caller. (The caller should clone the request if they want an independent object + to use in other calls or to modify.) Must not be null. + A sequence of resources, which are fetched asynchronously and a page at a time. + + A task whose result (when complete) is the complete set of results fetched starting with the given + request, and continuing to make further requests until a response has no "next page" token. + + + + Helps build version strings for the x-goog-api-client header. + The value is a space-separated list of name/value pairs, where the value + should be a semantic version string. Names must be unique. + + + + + The name of the header to set. + + + + + Appends the given name/version string to the list. + + The name. Must not be null or empty, or contain a space or a slash. + The version. Must not be null, or contain a space or a slash. + + + + Appends a name/version string, taking the version from the version of the assembly + containing the given type. + + + + + Appends the .NET environment information to the list. + + + + + Whether the name or value that are supposed to be included in a header are valid + + + + + Formats an AssemblyInformationalVersionAttribute value to avoid losing useful information, + but also avoid including unnecessary hex that is appended automatically. + + + + + + + + Clones this VersionHeaderBuilder, creating an independent copy with the same names/values. + + A clone of this builder. + + + + Extensions for to help with parasing errors as returned + by some Google services. + + + + + Attempts to deserialize a from the . + + + This method will throw a if: + + The or its are null. + Or the deserialization attempt throws a . + Or the deserilization attempt returns null. + + Any exception thrown while reading the + will be bubbled up. + Otherwise this method will return the deserialized . + + + + + A base class for a client service which provides common mechanism for all services, like + serialization and GZip support. It should be safe to use a single service instance to make server requests + concurrently from multiple threads. + This class adds a special to the + execute interceptor list, which uses the given + Authenticator. It calls to its applying authentication method, and injects the "Authorization" header in the + request. + If the given Authenticator implements , this + class adds the Authenticator to the 's unsuccessful + response handler list. + + + + The class logger. + + + The default maximum allowed length of a URL string for GET requests. + + + An initializer class for the client service. + + + + Gets or sets the factory for creating instance. If this + property is not set the service uses a new instance. + + + + + Gets or sets a HTTP client initializer which is able to customize properties on + and + . + + + + + Indicates which of exceptions and / or HTTP status codes are automatically retried using exponential backoff. + The default value is which means HTTP Status code 503 + will be retried with exponential backoff. + If set to no automatic retries will happen. + Calling code may still specify custom retries by configuring . + + + + Gets or sets whether this service supports GZip. Default value is true. + + + + Gets or sets the serializer. Default value is . + + + + Gets or sets the API Key. Default value is null. + + + + Gets or sets Application name to be used in the User-Agent header. Default value is null. + + + + + Maximum allowed length of a URL string for GET requests. Default value is 2048. If the value is + set to 0, requests will never be modified due to URL string length. + + + + + Gets or sets the base URI to use for the service. If the value is null, + the default base URI for the service is used. + + + + + The universe domain to connect to, or null to use the default universe domain . + + + + is used to build the endpoint to connect to, unless + is set, in which case will be used without further modification. + may also be used by the credential, if any, to validate against its + own universe domain. + + + + + + The timeout to set on instances used by the service. + May be null, in which case the default timeout values on instances + used by this service will be left unchanged. + + + + + Builder for the x-goog-api-client header, collecting version information. + Services automatically add the API library version to this. + Most users will never need to configure this, but higher level abstraction Google libraries + may add their own version here. + + + + + Determines whether request parameters are validated (client-side) by default. + Defaults to true. This can be overridden on a per-request basis using . + + + + Constructs a new initializer with default values. + + + Constructs a new base client with the specified initializer. + + + + Determines whether or not request parameters should be validated client-side. + This may be overridden on a per-request basis. + + + + + The BaseUri provided in the initializer, which may be null. + + + + + The universe domain to connect to, or null to use the default universe domain, + which may be configured via the . + + + + is used to build the endpoint to connect to, unless + is set, in which case will be used without further modification. + + + + + + The configured universe domain, which is: + + + if not null. + + + Otherwise, the value of the environment variable with name + if set to a non empty or blank-only value. + + + Otherwise, null. + + + + + + + The timeout to set on instances used by the service. + May be null, in which case the default timeout values on instances + used by this service will be left unchanged. + + + + Returns true if this service contains the specified feature. + + + + Creates the back-off handler with . + Overrides this method to change the default behavior of back-off handler (e.g. you can change the maximum + waited request's time span, or create a back-off handler with you own implementation of + ). + + + + + Gets the effective URI taking into account the and the value of + the . + + An explicit URI. May be null. + A default URI. May be null. + + + if not null. + + Otherwise, if is not null, the result of replacing + with + in . + + Otherwise . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The URI used for batch operations. + + + The path used for batch operations. + + + + + + + + + + Retrieves the value of the environment variable with , + mapping empty or whitespace-only strings to null. + + + + + Client service contains all the necessary information a Google service requires. + Each concrete has a reference to a service for + important properties like API key, application name, base Uri, etc. + This service interface also contains serialization methods to serialize an object to stream and deserialize a + stream into an object. + + + + Gets the HTTP client which is used to create requests. + + + + Gets a HTTP client initializer which is able to custom properties on + and + . + + + + Gets the service name. + + + Gets the BaseUri of the service. All request paths should be relative to this URI. + + + Gets the BasePath of the service. + + + Gets the supported features by this service. + + + Gets or sets whether this service supports GZip. + + + Gets the API-Key (DeveloperKey) which this service uses for all requests. + + + Gets the application name to be used in the User-Agent header. + + + + Sets the content of the request by the given body and the this service's configuration. + First the body object is serialized by the Serializer and then, if GZip is enabled, the content will be + wrapped in a GZip stream, otherwise a regular string stream will be used. + + + + Gets the Serializer used by this service. + + + Serializes an object into a string representation. + + + Deserializes a response into the specified object. + + + Deserializes an error response into a object. + If no error is found in the response. + + + + Enum to communicate the status of an upload for progress reporting. + + + + + The upload has not started. + + + + + The upload is initializing. + + + + + Data is being uploaded. + + + + + The upload completed successfully. + + + + + The upload failed. + + + + + Interface reporting upload progress. + + + + + Gets the current status of the upload + + + + + Gets the approximate number of bytes sent to the server. + + + + + Gets an exception if one occurred. + + + + + Interface IUploadSessionData: Provides UploadUri for client to persist. Allows resuming an upload after a program restart for seekable ContentStreams. + + + Defines the data passed from the ResumeableUpload class upon initiation of an upload. + When the client application adds an event handler for the UploadSessionData event, the data + defined in this interface (currently the UploadURI) is passed as a parameter to the event handler procedure. + An event handler for the UploadSessionData event is only required if the application will support resuming the + upload after a program restart. + + + + + The resumable session URI (UploadUri) + + + + + Media upload which uses Google's resumable media upload protocol to upload data. + + + See: https://developers.google.com/drive/manage-uploads#resumable for more information on the protocol. + + + + The class logger. + + + Minimum chunk size (except the last one). Default value is 256*KB. + + + Default chunk size. Default value is 10*MB. + + + + Defines how many bytes are read from the input stream in each stream read action. + The read will continue until we read or we reached the end of the stream. + + + + Indicates the stream's size is unknown. + + + Content-Range header value for the body upload of zero length files. + + + + The x-goog-api-client header value used for resumable uploads initiated without any options or an HttpClient. + + + + + Creates a instance. + + The data to be uploaded. Must not be null. + The options for the upload operation. May be null. + + + + Creates a instance for a resumable upload session which has already been initiated. + + + See https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload#start-resumable for more information about initiating + resumable upload sessions and saving the session URI, or upload URI. + + The session URI of the resumable upload session. Must not be null. + The data to be uploaded. Must not be null. + The options for the upload operation. May be null. + The instance which can be used to upload the specified content. + + + + Gets the options used to control the resumable upload. + + + + + Gets the HTTP client to use to make requests. + + + + Gets or sets the stream to upload. + + + + Gets or sets the length of the steam. Will be if the media content length is + unknown. + + + + + The buffer used for reading from the stream, to prepare HTTP requests. + This is used for both seekable and non-seekable streams, but in a slightly different way: + with seekable streams, we never reuse any *data* between chunks, just the allocated byte arrays. + For non-seekable streams, if some of the data we sent was not received by the server, + we reuse the data in the buffer. + + + + + Gets or sets the resumable session URI. + See https://developers.google.com/drive/manage-uploads#save-session-uri" for more details. + + + + Gets or sets the amount of bytes the server had received so far. + + + Gets or sets the amount of bytes the client had sent so far. + + + Change this value ONLY for testing purposes! + + + + Gets or sets the size of each chunk sent to the server. + Chunks (except the last chunk) must be a multiple of to be compatible with + Google upload servers. + + + + Event called whenever the progress of the upload changes. + + + + Interceptor used to propagate data successfully uploaded on each chunk. + + + + + Callback class that is invoked on abnormal response or an exception. + This class changes the request to query the current status of the upload in order to find how many bytes + were successfully uploaded before the error occurred. + See https://developers.google.com/drive/manage-uploads#resume-upload for more details. + + + + + Constructs a new callback and register it as unsuccessful response handler and exception handler on the + configurable message handler. + + + + Changes the request in order to resume the interrupted upload. + + + Class that communicates the progress of resumable uploads to a container. + + + + Create a ResumableUploadProgress instance. + + The status of the upload. + The number of bytes sent so far. + + + + Create a ResumableUploadProgress instance. + + An exception that occurred during the upload. + The number of bytes sent before this exception occurred. + + + + The original dispatch information for . This is null + if and only if is null. + + + + + Current state of progress of the upload. + + + + + + Updates the current progress and call the event to notify listeners. + + + + + Get the current progress state. + + An IUploadProgress describing the current progress of the upload. + + + + + Event called when an UploadUri is created. + Not needed if the application program will not support resuming after a program restart. + + + Within the event, persist the UploadUri to storage. + It is strongly recommended that the full path filename (or other media identifier) is also stored so that it can be compared to the current open filename (media) upon restart. + + + + + Data to be passed to the application program to allow resuming an upload after a program restart. + + + + + Create a ResumeableUploadSessionData instance to pass the UploadUri to the client. + + The resumable session URI. + + + + Send data (UploadUri) to application so it can store it to persistent storage. + + + + + Uploads the content to the server. This method is synchronous and will block until the upload is completed. + + + In case the upload fails the will contain the exception that + cause the failure. + + + + Uploads the content asynchronously to the server. + + + Uploads the content to the server using the given cancellation token. + + In case the upload fails will contain the exception that + cause the failure. The only exception which will be thrown is + which indicates that the task was canceled. + + A cancellation token to cancel operation. + + + + Resumes the upload from the last point it was interrupted. + Use when resuming and the program was not restarted. + + + + + Resumes the upload from the last point it was interrupted. + Use when the program was restarted and you wish to resume the upload that was in progress when the program was halted. + Implemented only for ContentStreams where .CanSeek is True. + + + In your application's UploadSessionData Event Handler, store UploadUri.AbsoluteUri property value (resumable session URI string value) + to persistent storage for use with Resume() or ResumeAsync() upon a program restart. + It is strongly recommended that the FullPathFilename of the media file that is being uploaded is saved also so that a subsequent execution of the + program can compare the saved FullPathFilename value to the FullPathFilename of the media file that it has opened for uploading. + You do not need to seek to restart point in the ContentStream file. + + VideosResource.InsertMediaUpload UploadUri property value that was saved to persistent storage during a prior execution. + + + + Asynchronously resumes the upload from the last point it was interrupted. + + + You do not need to seek to restart point in the ContentStream file. + + + + + Asynchronously resumes the upload from the last point it was interrupted. + Use when resuming and the program was not restarted. + + + You do not need to seek to restart point in the ContentStream file. + + A cancellation token to cancel the asynchronous operation. + + + + Asynchronously resumes the upload from the last point it was interrupted. + Use when resuming and the program was restarted. + Implemented only for ContentStreams where .CanSeek is True. + + + In your application's UploadSessionData Event Handler, store UploadUri.AbsoluteUri property value (resumable session URI string value) + to persistent storage for use with Resume() or ResumeAsync() upon a program restart. + It is strongly recommended that the FullPathFilename of the media file that is being uploaded is saved also so that a subsequent execution of the + program can compare the saved FullPathFilename value to the FullPathFilename of the media file that it has opened for uploading. + You do not need to seek to restart point in the ContentStream file. + + VideosResource.InsertMediaUpload UploadUri property value that was saved to persistent storage during a prior execution. + + + + Asynchronously resumes the upload from the last point it was interrupted. + Use when the program was restarted and you wish to resume the upload that was in progress when the program was halted. + Implemented only for ContentStreams where .CanSeek is True. + + + In your application's UploadSessionData Event Handler, store UploadUri.AbsoluteUri property value (resumable session URI string value) + to persistent storage for use with Resume() or ResumeAsync() upon a program restart. + It is strongly recommended that the FullPathFilename of the media file that is being uploaded is saved also so that a subsequent execution of the + program can compare the saved FullPathFilename value to the FullPathFilename of the media file that it has opened for uploading. + You do not need to seek to restart point in the ContentStream file. + + VideosResource.InsertMediaUpload UploadUri property value that was saved to persistent storage during a prior execution. + A cancellation token to cancel the asynchronous operation. + + + The core logic for uploading a stream. It is used by the upload and resume methods. + + + + Initiates the resumable upload session and returns the session URI, or upload URI. + See https://developers.google.com/drive/manage-uploads#start-resumable and + https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload#start-resumable for more information. + + The token to monitor for cancellation requests. + + The task containing the session URI to use for the resumable upload. + + + + + Process a response from the final upload chunk call. + + The response body from the final uploaded chunk. + + + Uploads the next chunk of data to the server. + True if the entire media has been completely uploaded. + + + Handles a media upload HTTP response. + True if the entire media has been completely uploaded. + + + + Creates a instance using the error response from the server. + + The error response. + An exception which can be thrown by the caller. + + + A callback when the media was uploaded successfully. + + + Prepares the given request with the next chunk in case the steam length is unknown. + + + Prepares the given request with the next chunk in case the steam length is known. + + + Returns the next byte index need to be sent. + + + + Build a content range header of the form: "bytes X-Y/T" where: + + X is the first byte being sent. + Y is the last byte in the range being sent (inclusive). + T is the total number of bytes in the range or * for unknown size. + + + + See: RFC2616 HTTP/1.1, Section 14.16 Header Field Definitions, Content-Range + http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16 + + Start of the chunk. + Size of the chunk being sent. + The content range header value. + + + + A buffer to be uploaded. This abstraction allows us to use small byte arrays, + avoiding anything which might end up on the large object heap. + + + + + The upload using this buffer; used to find the chunk size etc. + + + + + The capacity of this buffer; + will read until the buffer contains this much data. + + + + + The amount of usable data within the buffer. + + + + + The data in the buffer, divided into blocks each of size (at most) . + + + + + Reads from the stream until the stream has run out of data, or the buffer is full. + + The stream to read from + + true if the stream is exhausted; false otherwise + + + + Resets the length of this buffer to 0, *effectively* discarding the data within it. + (The blocks are actually retained for reuse.) + + + + + Returns the block that contains the specified offset, creating it if necessary. + + The offset within the buffer to fetch the block for. + The offset within the returned block corresponding to within the buffer. + The block for the given position. + + + + Moves any unsent data to the start of this buffer, based on the number of bytes we actually sent, + and the number of bytes the server received. + + + + + Creates an HttpContent for the data in this buffer, up to bytes. + + The length of the content. + + + + Determines how much data should actually be sent from this buffer. + + + + + A read-only stream reading from an UploadBuffer, reading all the blocks in turn. + + + + + Media upload which uses Google's resumable media upload protocol to upload data. + + + See: https://developers.google.com/drive/manage-uploads#resumable for more information on the protocol. + + + The type of the body of this request. Generally this should be the metadata related to the content to be + uploaded. Must be serializable to/from JSON. + + + + Payload description headers, describing the content itself. + + + Payload description headers, describing the content itself. + + + Specify the type of this upload (this class supports resumable only). + + + The uploadType parameter value for resumable uploads. + + + + Create a resumable upload instance with the required parameters. + + The client service. + The path for this media upload method. + The HTTP method to start this upload. + The stream containing the content to upload. + Content type of the content to be uploaded. Some services + may allow this to be null; others require a content type to be specified and will + fail when the upload is started if the value is null. + + Caller is responsible for maintaining the open until the upload is + completed. + Caller is responsible for closing the . + + + + Gets or sets the service. + + + + Gets or sets the path of the method (combined with + ) to produce + absolute Uri. + + + + Gets or sets the HTTP method of this upload (used to initialize the upload). + + + Gets or sets the stream's Content-Type. + + + Gets or sets the body of this request. + + + + + + Creates a request to initialize a request. + + + + Reflectively enumerate the properties of this object looking for all properties containing the + RequestParameterAttribute and copy their values into the request builder. + + + + + Media upload which uses Google's resumable media upload protocol to upload data. + The version with two types contains both a request object and a response object. + + + See: https://developers.google.com/gdata/docs/resumable_upload for + information on the protocol. + + + The type of the body of this request. Generally this should be the metadata related + to the content to be uploaded. Must be serializable to/from JSON. + + + The type of the response body. + + + + + Create a resumable upload instance with the required parameters. + + The client service. + The path for this media upload method. + The HTTP method to start this upload. + The stream containing the content to upload. + Content type of the content to be uploaded. + + Considerations regarding : + + + If is seekable, then the stream position will be reset to + 0 before reading commences. If is not + seekable, then it will be read from its current position. + + + Caller is responsible for maintaining the open until the + upload is completed. + + + Caller is responsible for closing the . + + + + + + + The response body. + + + This property will be set during upload. The event + is triggered when this has been set. + + + + Event which is called when the response metadata is processed. + + + Process the response body + + + + Options for operations. + + + + + Gets or sets the HTTP client to use when starting the upload sessions and uploading data. + + + + + Gets or sets the callback for modifying the session initiation request. + See https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload#start-resumable for more information. + + + Note: If these options are used with a created using , + this property will be ignored as the session has already been initiated. + + + + + Gets or sets the serializer to use when parsing error responses. + + + + + Gets or sets the name of the service performing the upload. + + + This will be used to set the in the event of an error. + + + + + Gets the as a if it is an instance of one. + + + + + Extension methods for . + + + + + Throws the exception from if it represents a failure with an exception. + The thrown exception will contain a more useful stack trace than just + where this is available. + + The upload progress to check for failure. Must not be null. + + + + Extension methods for . + + + + + Sets the given key/value pair as a request option. + + + This method exist mostly to handle the fact that HttpRequestMessage.Options are only available + from .NET 5 and up. + + + + + Gets the value associated with the given key on the request options. + + + This method exist mostly to handle the fact that HttpRequestMessage.Options are only available + from .NET 5 and up. + + + + + File data store that implements . This store creates a different file for each + combination of type and key. This file data store stores a JSON format of the specified object. + + + + Gets the full folder path. + + + + Constructs a new file data store. If fullPath is false the path will be used as relative to + Environment.SpecialFolder.ApplicationData" on Windows, or $HOME on Linux and MacOS, + otherwise the input folder will be treated as absolute. + The folder is created if it doesn't exist yet. + + Folder path. + + Defines whether the folder parameter is absolute or relative to + Environment.SpecialFolder.ApplicationData on Windows, or$HOME on Linux and MacOS. + + + + + Stores the given value for the given key. It creates a new file (named ) in + . + + The type to store in the data store. + The key. + The value to store in the data store. + + + + Deletes the given key. It deletes the named file in + . + + The key to delete from the data store. + + + + Returns the stored value for the given key or null if the matching file ( + in doesn't exist. + + The type to retrieve. + The key to retrieve from the data store. + The stored object. + + + + Clears all values in the data store. This method deletes all files in . + + + + Creates a unique stored key based on the key and the class type. + The object key. + The type to store or retrieve. + + + + A null datastore. Nothing is stored, nothing is retrievable. + + + + + Construct a new null datastore, that stores nothing. + + + + + + + + + + + Asynchronously returns the stored value for the given key or null if not found. + This implementation of will always return a completed task + with a result of null. + + The type to retrieve from the data store. + The key to retrieve its value. + Always null. + + + + Asynchronously stores the given value for the given key (replacing any existing value). + This implementation of does not store the value, + and will not return it in future calls to . + + The type to store in the data store. + The key. + The value. + A task that completes immediately. + + + diff --git a/local-nuget/google.apis/1.69.0/lib/netstandard2.0/Google.Apis.xml b/local-nuget/google.apis/1.69.0/lib/netstandard2.0/Google.Apis.xml new file mode 100644 index 000000000..02eb31e41 --- /dev/null +++ b/local-nuget/google.apis/1.69.0/lib/netstandard2.0/Google.Apis.xml @@ -0,0 +1,1840 @@ + + + + Google.Apis + + + + + Extension methods for . + + + + + Throws the exception from if it represents a failure with an exception. + The thrown exception will contain a more useful stack trace than just + where this is available. + + The upload progress to check for failure. Must not be null. + + + Enum which represents the status of the current download. + + + The download has not started. + + + Data is being downloaded. + + + The download was completed successfully. + + + The download failed. + + + Reports download progress. + + + Gets the current status of the upload. + + + Gets the number of bytes received from the server. + + + Gets an exception if one occurred. + + + Media download which uses download file part by part, by . + + + An event which notifies when the download status has been changed. + + + Gets or sets the chunk size to download, it defines the size of each part. + + + Downloads synchronously the given URL to the given stream. + + + Downloads asynchronously the given URL to the given stream. + + + + Downloads asynchronously the given URL to the given stream. This download method supports a cancellation + token to cancel a request before it was completed. + + + In case the download fails will contain the exception that + cause the failure. The only exception which will be thrown is + which indicates that the task was canceled. + + + + + A media downloader implementation which handles media downloads. + + + + The service which this downloader belongs to. + + + Maximum chunk size. Default value is 10*MB. + + + + Gets or sets the amount of data that will be downloaded before notifying the caller of + the download's progress. + Must not exceed . + Default value is . + + + + + The range header for the request, if any. This can be used to download specific parts + of the requested media. + + + + + A provider for response stream interceptors. Each time a response is produced, the provider + is called, and can return null if interception is not required, or an interceptor for + that response. The provider itself should not read the response's content stream, but can check headers. + + + + + Download progress model, which contains the status of the download, the amount of bytes whose where + downloaded so far, and an exception in case an error had occurred. + + + + Constructs a new progress instance. + The status of the download. + The number of bytes received so far. + + + Constructs a new progress instance. + An exception which occurred during the download. + The number of bytes received before the exception occurred. + + + Gets or sets the status of the download. + + + Gets or sets the amount of bytes that have been downloaded so far. + + + Gets or sets the exception which occurred during the download or null. + + + + The original dispatch information for . This is null + if and only if is null. + + + + + Updates the current progress and call the event to notify listeners. + + + + Constructs a new downloader with the given client service. + + + + Gets or sets the callback for modifying requests made when downloading. + + + + + + + + + + + + + + + + + CountedBuffer bundles together a byte buffer and a count of valid bytes. + + + + + How many bytes at the beginning of Data are valid. + + + + + Returns true if the buffer contains no data. + + + + + Read data from stream until the stream is empty or the buffer is full. + + Stream from which to read. + Cancellation token for the operation. + + + + Remove the first n bytes of the buffer. Move any remaining valid bytes to the beginning. + Trying to remove more bytes than the buffer contains just clears the buffer. + + The number of bytes to remove. + + + + The core download logic. We download the media and write it to an output stream + ChunkSize bytes at a time, raising the ProgressChanged event after each chunk. + + The chunking behavior is largely a historical artifact: a previous implementation + issued multiple web requests, each for ChunkSize bytes. Now we do everything in + one request, but the API and client-visible behavior are retained for compatibility. + + The URL of the resource to download. + The download will download the resource into this stream. + A cancellation token to cancel this download in the middle. + A task with the download progress object. If an exception occurred during the download, its + property will contain the exception. + + + + Called when a successful HTTP response is received, allowing subclasses to examine headers. + + + For unsuccessful responses, an appropriate exception is thrown immediately, without this method + being called. + + HTTP response received. + + + + Called when an HTTP response is received, allowing subclasses to examine data before it's + written to the client stream. + + Byte array containing the data downloaded. + Length of data downloaded in this chunk, in bytes. + + + + Called when a download has completed, allowing subclasses to perform any final validation + or transformation. + + + + + Defines the behaviour/header used for sending an etag along with a request. + + + + + The default etag behaviour will be determined by the type of the request. + + + + + The ETag won't be added to the header of the request. + + + + + The ETag will be added as an "If-Match" header. + A request sent with an "If-Match" header will only succeed if both ETags are identical. + + + + + The ETag will be added as an "If-None-Match" header. + A request sent with an "If-None-Match" header will only succeed if ETags are not identical. + + + + + A batch request which represents individual requests to Google servers. You should add a single service + request using the method and execute all individual requests using + . More information about the batch protocol is available in + https://developers.google.com/storage/docs/json_api/v1/how-tos/batch. + + Current implementation doesn't retry on unsuccessful individual response and doesn't support requests with + different access tokens (different users or scopes). + + + + + A concrete type callback for an individual response. + The response type. + The parsed content response or null if the request failed or the response + could not be parsed using the associated . + Error or null if the request succeeded and response content was parsed succesfully. + The request index. + The HTTP individual response. + + + This inner class represents an individual inner request. + + + Gets or sets the client service request. + + + Gets or sets the response class type. + + + A callback method which will be called after an individual response was parsed. + The parsed content response or null if the request failed or the response + could not be parsed using the associated . + Error or null if the request succeeded and response content was parsed succesfully. + The request index. + The HTTP individual response. + + + + This generic inner class represents an individual inner request with a generic response type. + + + + Gets or sets a concrete type callback for an individual response. + + + + Constructs a new batch request using the given service. See + for more information. + + + + + Constructs a new batch request using the given service. The service's HTTP client is used to create a + request to the given server URL and its serializer members are used to serialize the request and + deserialize the response. + + + + Gets the count of all queued requests. + + + Queues an individual request. + The response's type. + The individual request. + A callback which will be called after a response was parsed. + + + Asynchronously executes the batch request. + + + Asynchronously executes the batch request. + Cancellation token to cancel operation. + + + Parses the given string content to a HTTP response. + + + + Creates the batch outer request content which includes all the individual requests to Google servers. + + + + Creates the individual server request. + + + + Creates a string representation that includes the request's headers and content based on the input HTTP + request message. + + + + + Represents an abstract request base class to make requests to a service. + + + + Unsuccessful response handlers for this request only. + + + Exception handlers for this request only. + + + Execute interceptors for this request only. + + + + Credential to use for this request. + If implements + then it will also be included as a handler of an unsuccessful response. + + + + + Add an unsuccessful response handler for this request only. + + The unsuccessful response handler. Must not be null. + + + + Add an exception handler for this request only. + + The exception handler. Must not be null. + + + + Add an execute interceptor for this request only. + If the request is retried, the interceptor will be called on each attempt. + + The execute interceptor. Must not be null. + + + + Represents an abstract, strongly typed request base class to make requests to a service. + Supports a strongly typed response. + + The type of the response object + + + The class logger. + + + The service on which this request will be executed. + + + Defines whether the E-Tag will be used in a specified way or be ignored. + + + + Gets or sets the callback for modifying HTTP requests made by this service request. + + + + + Override for service-wide validation configuration in . + If this is null (the default) then the value from the service initializer is used to determine + whether or not parameters should be validated client-side. If this is non-null, it overrides + whatever value is specified in the service. + + + + + The precise API version represented by this request. + Subclasses generated from a specific known version should override this property, + which will result in an x-api-version header being sent on the HTTP request. + + + + + + + + + + + + + + + + + + + Creates a new service request. + + + + Initializes request's parameters. Inherited classes MUST override this method to add parameters to the + dictionary. + + + + + + + + + + + + + + + + + + + + + + Sync executes the request without parsing the result. + + + Parses the response and deserialize the content into the requested response object. + + + + + + + Creates the which is used to generate a request. + + + A new builder instance which contains the HTTP method and the right Uri with its path and query parameters. + + + + Generates the right URL for this request. + + + Returns the body of this request. + The body of this request. + + + + Adds the right ETag action (e.g. If-Match) header to the given HTTP request if the body contains ETag. + + + + Returns the default ETagAction for a specific HTTP verb. + + + Adds path and query parameters to the given requestBuilder. + + + + Extension methods for request objects. + + + + + Allows a request to be configured in a fluent manner, where normally separate statements are required + after the request creation method is called. + + The type of the request to configure. + The request to configure. Must not be null. + The configuration action to apply to the request. This is typically + setting properties. Must not be null. + The value of , after applying the configuration action. + + + Extension methods to . + + + + Sets the content of the request by the given body and the the required GZip configuration. + + The request. + The service. + The body of the future request. If null do nothing. + + Indicates if the content will be wrapped in a GZip stream, or a regular string stream will be used. + + + + Creates a GZip content based on the given content. + Content to GZip. + GZiped HTTP content. + + + Creates a GZip stream by the given serialized object. + + + A client service request which supports both sync and async execution to get the stream. + + + Gets the name of the method to which this request belongs. + + + Gets the rest path of this request. + + + Gets the HTTP method of this request. + + + Gets the parameters information for this specific request. + + + Gets the service which is related to this request. + + + Creates a HTTP request message with all path and query parameters, ETag, etc. + + If null use the service default GZip behavior. Otherwise indicates if GZip is enabled or disabled. + + + + Executes the request asynchronously and returns the result stream. + + + Executes the request asynchronously and returns the result stream. + A cancellation token to cancel operation. + + + Executes the request and returns the result stream. + + + + A client service request which inherits from and represents a specific + service request with the given response type. It supports both sync and async execution to get the response. + + + + Executes the request asynchronously and returns the result object. + + + Executes the request asynchronously and returns the result object. + A cancellation token to cancel operation. + + + Executes the request and returns the result object. + + + + Interface containing additional response-properties which will be added to every schema type which is + a direct response to a request. + + + + + The e-tag of this response. + + + Will be set by the service deserialization method, + or the by json response parser if implemented on service. + + + + + A page streamer is a helper to provide both synchronous and asynchronous page streaming + of a listable or queryable resource. + + + + The expected usage pattern is to create a single paginator for a resource collection, + and then use the instance methods to obtain paginated results. + + + + To construct a page streamer to return snippets from the YouTube v3 Data API, you might use code + such as the following. The pattern for other APIs would be very similar, with the request.PageToken, + response.NextPageToken and response.Items properties potentially having different names. Constructing + the page streamer doesn't require any service references or authentication, so it's completely safe to perform this + in a type initializer. + ( + (request, token) => request.PageToken = token, + response => response.NextPageToken, + response => response.Items); + ]]> + + The type of resource being paginated + The type of request used to fetch pages + The type of response obtained when fetching pages + The type of the "next page token", which must be a reference type; + a null reference for a token indicates the end of a stream of pages. + + + + Creates a paginator for later use. + + Action to modify a request to include the specified page token. + Must not be null. + Function to extract the next page token from a response. + Must not be null. + Function to extract a sequence of resources from a response. + Must not be null, although it can return null if it is passed a response which contains no + resources. + + + + Lazily fetches resources a page at a time. + + The initial request to send. If this contains a page token, + that token is maintained. This will be modified with new page tokens over time, and should not + be changed by the caller. (The caller should clone the request if they want an independent object + to use in other calls or to modify.) Must not be null. + A sequence of resources, which are fetched a page at a time. Must not be null. + + + + Asynchronously (but eagerly) fetches a complete set of resources, potentially making multiple requests. + + The initial request to send. If this contains a page token, + that token is maintained. This will be modified with new page tokens over time, and should not + be changed by the caller. (The caller should clone the request if they want an independent object + to use in other calls or to modify.) Must not be null. + A sequence of resources, which are fetched asynchronously and a page at a time. + + A task whose result (when complete) is the complete set of results fetched starting with the given + request, and continuing to make further requests until a response has no "next page" token. + + + + Helps build version strings for the x-goog-api-client header. + The value is a space-separated list of name/value pairs, where the value + should be a semantic version string. Names must be unique. + + + + + The name of the header to set. + + + + + Appends the given name/version string to the list. + + The name. Must not be null or empty, or contain a space or a slash. + The version. Must not be null, or contain a space or a slash. + + + + Appends a name/version string, taking the version from the version of the assembly + containing the given type. + + + + + Appends the .NET environment information to the list. + + + + + Whether the name or value that are supposed to be included in a header are valid + + + + + Formats an AssemblyInformationalVersionAttribute value to avoid losing useful information, + but also avoid including unnecessary hex that is appended automatically. + + + + + + + + Clones this VersionHeaderBuilder, creating an independent copy with the same names/values. + + A clone of this builder. + + + + Extensions for to help with parasing errors as returned + by some Google services. + + + + + Attempts to deserialize a from the . + + + This method will throw a if: + + The or its are null. + Or the deserialization attempt throws a . + Or the deserilization attempt returns null. + + Any exception thrown while reading the + will be bubbled up. + Otherwise this method will return the deserialized . + + + + + A base class for a client service which provides common mechanism for all services, like + serialization and GZip support. It should be safe to use a single service instance to make server requests + concurrently from multiple threads. + This class adds a special to the + execute interceptor list, which uses the given + Authenticator. It calls to its applying authentication method, and injects the "Authorization" header in the + request. + If the given Authenticator implements , this + class adds the Authenticator to the 's unsuccessful + response handler list. + + + + The class logger. + + + The default maximum allowed length of a URL string for GET requests. + + + An initializer class for the client service. + + + + Gets or sets the factory for creating instance. If this + property is not set the service uses a new instance. + + + + + Gets or sets a HTTP client initializer which is able to customize properties on + and + . + + + + + Indicates which of exceptions and / or HTTP status codes are automatically retried using exponential backoff. + The default value is which means HTTP Status code 503 + will be retried with exponential backoff. + If set to no automatic retries will happen. + Calling code may still specify custom retries by configuring . + + + + Gets or sets whether this service supports GZip. Default value is true. + + + + Gets or sets the serializer. Default value is . + + + + Gets or sets the API Key. Default value is null. + + + + Gets or sets Application name to be used in the User-Agent header. Default value is null. + + + + + Maximum allowed length of a URL string for GET requests. Default value is 2048. If the value is + set to 0, requests will never be modified due to URL string length. + + + + + Gets or sets the base URI to use for the service. If the value is null, + the default base URI for the service is used. + + + + + The universe domain to connect to, or null to use the default universe domain . + + + + is used to build the endpoint to connect to, unless + is set, in which case will be used without further modification. + may also be used by the credential, if any, to validate against its + own universe domain. + + + + + + The timeout to set on instances used by the service. + May be null, in which case the default timeout values on instances + used by this service will be left unchanged. + + + + + Builder for the x-goog-api-client header, collecting version information. + Services automatically add the API library version to this. + Most users will never need to configure this, but higher level abstraction Google libraries + may add their own version here. + + + + + Determines whether request parameters are validated (client-side) by default. + Defaults to true. This can be overridden on a per-request basis using . + + + + Constructs a new initializer with default values. + + + Constructs a new base client with the specified initializer. + + + + Determines whether or not request parameters should be validated client-side. + This may be overridden on a per-request basis. + + + + + The BaseUri provided in the initializer, which may be null. + + + + + The universe domain to connect to, or null to use the default universe domain, + which may be configured via the . + + + + is used to build the endpoint to connect to, unless + is set, in which case will be used without further modification. + + + + + + The configured universe domain, which is: + + + if not null. + + + Otherwise, the value of the environment variable with name + if set to a non empty or blank-only value. + + + Otherwise, null. + + + + + + + The timeout to set on instances used by the service. + May be null, in which case the default timeout values on instances + used by this service will be left unchanged. + + + + Returns true if this service contains the specified feature. + + + + Creates the back-off handler with . + Overrides this method to change the default behavior of back-off handler (e.g. you can change the maximum + waited request's time span, or create a back-off handler with you own implementation of + ). + + + + + Gets the effective URI taking into account the and the value of + the . + + An explicit URI. May be null. + A default URI. May be null. + + + if not null. + + Otherwise, if is not null, the result of replacing + with + in . + + Otherwise . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The URI used for batch operations. + + + The path used for batch operations. + + + + + + + + + + Retrieves the value of the environment variable with , + mapping empty or whitespace-only strings to null. + + + + + Client service contains all the necessary information a Google service requires. + Each concrete has a reference to a service for + important properties like API key, application name, base Uri, etc. + This service interface also contains serialization methods to serialize an object to stream and deserialize a + stream into an object. + + + + Gets the HTTP client which is used to create requests. + + + + Gets a HTTP client initializer which is able to custom properties on + and + . + + + + Gets the service name. + + + Gets the BaseUri of the service. All request paths should be relative to this URI. + + + Gets the BasePath of the service. + + + Gets the supported features by this service. + + + Gets or sets whether this service supports GZip. + + + Gets the API-Key (DeveloperKey) which this service uses for all requests. + + + Gets the application name to be used in the User-Agent header. + + + + Sets the content of the request by the given body and the this service's configuration. + First the body object is serialized by the Serializer and then, if GZip is enabled, the content will be + wrapped in a GZip stream, otherwise a regular string stream will be used. + + + + Gets the Serializer used by this service. + + + Serializes an object into a string representation. + + + Deserializes a response into the specified object. + + + Deserializes an error response into a object. + If no error is found in the response. + + + + Enum to communicate the status of an upload for progress reporting. + + + + + The upload has not started. + + + + + The upload is initializing. + + + + + Data is being uploaded. + + + + + The upload completed successfully. + + + + + The upload failed. + + + + + Interface reporting upload progress. + + + + + Gets the current status of the upload + + + + + Gets the approximate number of bytes sent to the server. + + + + + Gets an exception if one occurred. + + + + + Interface IUploadSessionData: Provides UploadUri for client to persist. Allows resuming an upload after a program restart for seekable ContentStreams. + + + Defines the data passed from the ResumeableUpload class upon initiation of an upload. + When the client application adds an event handler for the UploadSessionData event, the data + defined in this interface (currently the UploadURI) is passed as a parameter to the event handler procedure. + An event handler for the UploadSessionData event is only required if the application will support resuming the + upload after a program restart. + + + + + The resumable session URI (UploadUri) + + + + + Media upload which uses Google's resumable media upload protocol to upload data. + + + See: https://developers.google.com/drive/manage-uploads#resumable for more information on the protocol. + + + + The class logger. + + + Minimum chunk size (except the last one). Default value is 256*KB. + + + Default chunk size. Default value is 10*MB. + + + + Defines how many bytes are read from the input stream in each stream read action. + The read will continue until we read or we reached the end of the stream. + + + + Indicates the stream's size is unknown. + + + Content-Range header value for the body upload of zero length files. + + + + The x-goog-api-client header value used for resumable uploads initiated without any options or an HttpClient. + + + + + Creates a instance. + + The data to be uploaded. Must not be null. + The options for the upload operation. May be null. + + + + Creates a instance for a resumable upload session which has already been initiated. + + + See https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload#start-resumable for more information about initiating + resumable upload sessions and saving the session URI, or upload URI. + + The session URI of the resumable upload session. Must not be null. + The data to be uploaded. Must not be null. + The options for the upload operation. May be null. + The instance which can be used to upload the specified content. + + + + Gets the options used to control the resumable upload. + + + + + Gets the HTTP client to use to make requests. + + + + Gets or sets the stream to upload. + + + + Gets or sets the length of the steam. Will be if the media content length is + unknown. + + + + + The buffer used for reading from the stream, to prepare HTTP requests. + This is used for both seekable and non-seekable streams, but in a slightly different way: + with seekable streams, we never reuse any *data* between chunks, just the allocated byte arrays. + For non-seekable streams, if some of the data we sent was not received by the server, + we reuse the data in the buffer. + + + + + Gets or sets the resumable session URI. + See https://developers.google.com/drive/manage-uploads#save-session-uri" for more details. + + + + Gets or sets the amount of bytes the server had received so far. + + + Gets or sets the amount of bytes the client had sent so far. + + + Change this value ONLY for testing purposes! + + + + Gets or sets the size of each chunk sent to the server. + Chunks (except the last chunk) must be a multiple of to be compatible with + Google upload servers. + + + + Event called whenever the progress of the upload changes. + + + + Interceptor used to propagate data successfully uploaded on each chunk. + + + + + Callback class that is invoked on abnormal response or an exception. + This class changes the request to query the current status of the upload in order to find how many bytes + were successfully uploaded before the error occurred. + See https://developers.google.com/drive/manage-uploads#resume-upload for more details. + + + + + Constructs a new callback and register it as unsuccessful response handler and exception handler on the + configurable message handler. + + + + Changes the request in order to resume the interrupted upload. + + + Class that communicates the progress of resumable uploads to a container. + + + + Create a ResumableUploadProgress instance. + + The status of the upload. + The number of bytes sent so far. + + + + Create a ResumableUploadProgress instance. + + An exception that occurred during the upload. + The number of bytes sent before this exception occurred. + + + + The original dispatch information for . This is null + if and only if is null. + + + + + Current state of progress of the upload. + + + + + + Updates the current progress and call the event to notify listeners. + + + + + Get the current progress state. + + An IUploadProgress describing the current progress of the upload. + + + + + Event called when an UploadUri is created. + Not needed if the application program will not support resuming after a program restart. + + + Within the event, persist the UploadUri to storage. + It is strongly recommended that the full path filename (or other media identifier) is also stored so that it can be compared to the current open filename (media) upon restart. + + + + + Data to be passed to the application program to allow resuming an upload after a program restart. + + + + + Create a ResumeableUploadSessionData instance to pass the UploadUri to the client. + + The resumable session URI. + + + + Send data (UploadUri) to application so it can store it to persistent storage. + + + + + Uploads the content to the server. This method is synchronous and will block until the upload is completed. + + + In case the upload fails the will contain the exception that + cause the failure. + + + + Uploads the content asynchronously to the server. + + + Uploads the content to the server using the given cancellation token. + + In case the upload fails will contain the exception that + cause the failure. The only exception which will be thrown is + which indicates that the task was canceled. + + A cancellation token to cancel operation. + + + + Resumes the upload from the last point it was interrupted. + Use when resuming and the program was not restarted. + + + + + Resumes the upload from the last point it was interrupted. + Use when the program was restarted and you wish to resume the upload that was in progress when the program was halted. + Implemented only for ContentStreams where .CanSeek is True. + + + In your application's UploadSessionData Event Handler, store UploadUri.AbsoluteUri property value (resumable session URI string value) + to persistent storage for use with Resume() or ResumeAsync() upon a program restart. + It is strongly recommended that the FullPathFilename of the media file that is being uploaded is saved also so that a subsequent execution of the + program can compare the saved FullPathFilename value to the FullPathFilename of the media file that it has opened for uploading. + You do not need to seek to restart point in the ContentStream file. + + VideosResource.InsertMediaUpload UploadUri property value that was saved to persistent storage during a prior execution. + + + + Asynchronously resumes the upload from the last point it was interrupted. + + + You do not need to seek to restart point in the ContentStream file. + + + + + Asynchronously resumes the upload from the last point it was interrupted. + Use when resuming and the program was not restarted. + + + You do not need to seek to restart point in the ContentStream file. + + A cancellation token to cancel the asynchronous operation. + + + + Asynchronously resumes the upload from the last point it was interrupted. + Use when resuming and the program was restarted. + Implemented only for ContentStreams where .CanSeek is True. + + + In your application's UploadSessionData Event Handler, store UploadUri.AbsoluteUri property value (resumable session URI string value) + to persistent storage for use with Resume() or ResumeAsync() upon a program restart. + It is strongly recommended that the FullPathFilename of the media file that is being uploaded is saved also so that a subsequent execution of the + program can compare the saved FullPathFilename value to the FullPathFilename of the media file that it has opened for uploading. + You do not need to seek to restart point in the ContentStream file. + + VideosResource.InsertMediaUpload UploadUri property value that was saved to persistent storage during a prior execution. + + + + Asynchronously resumes the upload from the last point it was interrupted. + Use when the program was restarted and you wish to resume the upload that was in progress when the program was halted. + Implemented only for ContentStreams where .CanSeek is True. + + + In your application's UploadSessionData Event Handler, store UploadUri.AbsoluteUri property value (resumable session URI string value) + to persistent storage for use with Resume() or ResumeAsync() upon a program restart. + It is strongly recommended that the FullPathFilename of the media file that is being uploaded is saved also so that a subsequent execution of the + program can compare the saved FullPathFilename value to the FullPathFilename of the media file that it has opened for uploading. + You do not need to seek to restart point in the ContentStream file. + + VideosResource.InsertMediaUpload UploadUri property value that was saved to persistent storage during a prior execution. + A cancellation token to cancel the asynchronous operation. + + + The core logic for uploading a stream. It is used by the upload and resume methods. + + + + Initiates the resumable upload session and returns the session URI, or upload URI. + See https://developers.google.com/drive/manage-uploads#start-resumable and + https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload#start-resumable for more information. + + The token to monitor for cancellation requests. + + The task containing the session URI to use for the resumable upload. + + + + + Process a response from the final upload chunk call. + + The response body from the final uploaded chunk. + + + Uploads the next chunk of data to the server. + True if the entire media has been completely uploaded. + + + Handles a media upload HTTP response. + True if the entire media has been completely uploaded. + + + + Creates a instance using the error response from the server. + + The error response. + An exception which can be thrown by the caller. + + + A callback when the media was uploaded successfully. + + + Prepares the given request with the next chunk in case the steam length is unknown. + + + Prepares the given request with the next chunk in case the steam length is known. + + + Returns the next byte index need to be sent. + + + + Build a content range header of the form: "bytes X-Y/T" where: + + X is the first byte being sent. + Y is the last byte in the range being sent (inclusive). + T is the total number of bytes in the range or * for unknown size. + + + + See: RFC2616 HTTP/1.1, Section 14.16 Header Field Definitions, Content-Range + http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16 + + Start of the chunk. + Size of the chunk being sent. + The content range header value. + + + + A buffer to be uploaded. This abstraction allows us to use small byte arrays, + avoiding anything which might end up on the large object heap. + + + + + The upload using this buffer; used to find the chunk size etc. + + + + + The capacity of this buffer; + will read until the buffer contains this much data. + + + + + The amount of usable data within the buffer. + + + + + The data in the buffer, divided into blocks each of size (at most) . + + + + + Reads from the stream until the stream has run out of data, or the buffer is full. + + The stream to read from + + true if the stream is exhausted; false otherwise + + + + Resets the length of this buffer to 0, *effectively* discarding the data within it. + (The blocks are actually retained for reuse.) + + + + + Returns the block that contains the specified offset, creating it if necessary. + + The offset within the buffer to fetch the block for. + The offset within the returned block corresponding to within the buffer. + The block for the given position. + + + + Moves any unsent data to the start of this buffer, based on the number of bytes we actually sent, + and the number of bytes the server received. + + + + + Creates an HttpContent for the data in this buffer, up to bytes. + + The length of the content. + + + + Determines how much data should actually be sent from this buffer. + + + + + A read-only stream reading from an UploadBuffer, reading all the blocks in turn. + + + + + Media upload which uses Google's resumable media upload protocol to upload data. + + + See: https://developers.google.com/drive/manage-uploads#resumable for more information on the protocol. + + + The type of the body of this request. Generally this should be the metadata related to the content to be + uploaded. Must be serializable to/from JSON. + + + + Payload description headers, describing the content itself. + + + Payload description headers, describing the content itself. + + + Specify the type of this upload (this class supports resumable only). + + + The uploadType parameter value for resumable uploads. + + + + Create a resumable upload instance with the required parameters. + + The client service. + The path for this media upload method. + The HTTP method to start this upload. + The stream containing the content to upload. + Content type of the content to be uploaded. Some services + may allow this to be null; others require a content type to be specified and will + fail when the upload is started if the value is null. + + Caller is responsible for maintaining the open until the upload is + completed. + Caller is responsible for closing the . + + + + Gets or sets the service. + + + + Gets or sets the path of the method (combined with + ) to produce + absolute Uri. + + + + Gets or sets the HTTP method of this upload (used to initialize the upload). + + + Gets or sets the stream's Content-Type. + + + Gets or sets the body of this request. + + + + + + Creates a request to initialize a request. + + + + Reflectively enumerate the properties of this object looking for all properties containing the + RequestParameterAttribute and copy their values into the request builder. + + + + + Media upload which uses Google's resumable media upload protocol to upload data. + The version with two types contains both a request object and a response object. + + + See: https://developers.google.com/gdata/docs/resumable_upload for + information on the protocol. + + + The type of the body of this request. Generally this should be the metadata related + to the content to be uploaded. Must be serializable to/from JSON. + + + The type of the response body. + + + + + Create a resumable upload instance with the required parameters. + + The client service. + The path for this media upload method. + The HTTP method to start this upload. + The stream containing the content to upload. + Content type of the content to be uploaded. + + Considerations regarding : + + + If is seekable, then the stream position will be reset to + 0 before reading commences. If is not + seekable, then it will be read from its current position. + + + Caller is responsible for maintaining the open until the + upload is completed. + + + Caller is responsible for closing the . + + + + + + + The response body. + + + This property will be set during upload. The event + is triggered when this has been set. + + + + Event which is called when the response metadata is processed. + + + Process the response body + + + + Options for operations. + + + + + Gets or sets the HTTP client to use when starting the upload sessions and uploading data. + + + + + Gets or sets the callback for modifying the session initiation request. + See https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload#start-resumable for more information. + + + Note: If these options are used with a created using , + this property will be ignored as the session has already been initiated. + + + + + Gets or sets the serializer to use when parsing error responses. + + + + + Gets or sets the name of the service performing the upload. + + + This will be used to set the in the event of an error. + + + + + Gets the as a if it is an instance of one. + + + + + Extension methods for . + + + + + Throws the exception from if it represents a failure with an exception. + The thrown exception will contain a more useful stack trace than just + where this is available. + + The upload progress to check for failure. Must not be null. + + + + Extension methods for . + + + + + Sets the given key/value pair as a request option. + + + This method exist mostly to handle the fact that HttpRequestMessage.Options are only available + from .NET 5 and up. + + + + + Gets the value associated with the given key on the request options. + + + This method exist mostly to handle the fact that HttpRequestMessage.Options are only available + from .NET 5 and up. + + + + + File data store that implements . This store creates a different file for each + combination of type and key. This file data store stores a JSON format of the specified object. + + + + Gets the full folder path. + + + + Constructs a new file data store. If fullPath is false the path will be used as relative to + Environment.SpecialFolder.ApplicationData" on Windows, or $HOME on Linux and MacOS, + otherwise the input folder will be treated as absolute. + The folder is created if it doesn't exist yet. + + Folder path. + + Defines whether the folder parameter is absolute or relative to + Environment.SpecialFolder.ApplicationData on Windows, or$HOME on Linux and MacOS. + + + + + Stores the given value for the given key. It creates a new file (named ) in + . + + The type to store in the data store. + The key. + The value to store in the data store. + + + + Deletes the given key. It deletes the named file in + . + + The key to delete from the data store. + + + + Returns the stored value for the given key or null if the matching file ( + in doesn't exist. + + The type to retrieve. + The key to retrieve from the data store. + The stored object. + + + + Clears all values in the data store. This method deletes all files in . + + + + Creates a unique stored key based on the key and the class type. + The object key. + The type to store or retrieve. + + + + A null datastore. Nothing is stored, nothing is retrievable. + + + + + Construct a new null datastore, that stores nothing. + + + + + + + + + + + Asynchronously returns the stored value for the given key or null if not found. + This implementation of will always return a completed task + with a result of null. + + The type to retrieve from the data store. + The key to retrieve its value. + Always null. + + + + Asynchronously stores the given value for the given key (replacing any existing value). + This implementation of does not store the value, + and will not return it in future calls to . + + The type to store in the data store. + The key. + The value. + A task that completes immediately. + + + diff --git a/local-nuget/microsoft.codecoverage/17.14.0/.nupkg.metadata b/local-nuget/microsoft.codecoverage/17.14.0/.nupkg.metadata new file mode 100644 index 000000000..97cb66181 --- /dev/null +++ b/local-nuget/microsoft.codecoverage/17.14.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "z2GYXGG6LjGoumT59xSB2dMnqSwQBjkxdDJmSJHwy5nPtZ435GXa6wj5hz/lRrAZ7NyXXxZNXVsiHXzHRru5eA==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.codecoverage/17.14.0/.signature.p7s b/local-nuget/microsoft.codecoverage/17.14.0/.signature.p7s new file mode 100644 index 000000000..e36d4f836 Binary files /dev/null and b/local-nuget/microsoft.codecoverage/17.14.0/.signature.p7s differ diff --git a/local-nuget/microsoft.codecoverage/17.14.0/Icon.png b/local-nuget/microsoft.codecoverage/17.14.0/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.codecoverage/17.14.0/Icon.png differ diff --git a/local-nuget/microsoft.codecoverage/17.14.0/Microsoft.CodeCoverage.nuspec b/local-nuget/microsoft.codecoverage/17.14.0/Microsoft.CodeCoverage.nuspec new file mode 100644 index 000000000..ad6a21f67 --- /dev/null +++ b/local-nuget/microsoft.codecoverage/17.14.0/Microsoft.CodeCoverage.nuspec @@ -0,0 +1,22 @@ + + + + Microsoft.CodeCoverage + 17.14.0 + Microsoft + true + MIT + https://licenses.nuget.org/MIT + Icon.png + https://github.com/microsoft/vstest + Microsoft.CodeCoverage package brings infra for collecting code coverage from vstest.console.exe and "dotnet test". + © Microsoft Corporation. All rights reserved. + vstest visual-studio unittest testplatform mstest microsoft test testing codecoverage code-coverage + true + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.codecoverage/17.14.0/ThirdPartyNotices.txt b/local-nuget/microsoft.codecoverage/17.14.0/ThirdPartyNotices.txt new file mode 100644 index 000000000..d225c6ec4 --- /dev/null +++ b/local-nuget/microsoft.codecoverage/17.14.0/ThirdPartyNotices.txt @@ -0,0 +1,39 @@ +CodeCoverage + +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do Not Translate or Localize + +This software incorporates components from the projects listed below. The original copyright notices +and the licenses under which Microsoft received such components are set forth below and are provided for +informational purposes only. Microsoft reserves all rights not expressly granted herein, whether by +implication, estoppel or otherwise. + +1. Mono.Cecil version 0.11.3 (https://github.com/jbevain/cecil) + + + +%% Mono.Cecil NOTICES AND INFORMATION BEGIN HERE +========================================= +Copyright (c) 2008 - 2015 Jb Evain +Copyright (c) 2008 - 2011 Novell, Inc. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF Mono.Cecil NOTICES AND INFORMATION diff --git a/local-nuget/microsoft.codecoverage/17.14.0/microsoft.codecoverage.17.14.0.nupkg b/local-nuget/microsoft.codecoverage/17.14.0/microsoft.codecoverage.17.14.0.nupkg new file mode 100644 index 000000000..04b017de1 Binary files /dev/null and b/local-nuget/microsoft.codecoverage/17.14.0/microsoft.codecoverage.17.14.0.nupkg differ diff --git a/local-nuget/microsoft.codecoverage/17.14.0/microsoft.codecoverage.17.14.0.nupkg.sha512 b/local-nuget/microsoft.codecoverage/17.14.0/microsoft.codecoverage.17.14.0.nupkg.sha512 new file mode 100644 index 000000000..8a047d55d --- /dev/null +++ b/local-nuget/microsoft.codecoverage/17.14.0/microsoft.codecoverage.17.14.0.nupkg.sha512 @@ -0,0 +1 @@ +NeXYhiKMa7ZiYo5QLtmUUIDphloSQjBZxZrcqcz8oB3WzM575QLFhNDXq5XZyDdXxZK0dFjd0k42NwBtVKj0Rg== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/.nupkg.metadata b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/.nupkg.metadata new file mode 100644 index 000000000..dda283bf9 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/.signature.p7s b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/.signature.p7s new file mode 100644 index 000000000..d1697dc06 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/Icon.png b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/Icon.png new file mode 100644 index 000000000..a0f1fdbf4 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/Icon.png differ diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/LICENSE.TXT b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/LICENSE.TXT new file mode 100644 index 000000000..984713a49 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/Microsoft.Extensions.Configuration.Abstractions.nuspec b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/Microsoft.Extensions.Configuration.Abstractions.nuspec new file mode 100644 index 000000000..13f098063 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/Microsoft.Extensions.Configuration.Abstractions.nuspec @@ -0,0 +1,36 @@ + + + + Microsoft.Extensions.Configuration.Abstractions + 8.0.0 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Provides abstractions of key-value pair based configuration. Interfaces defined in this package are implemented by classes in Microsoft.Extensions.Configuration and other configuration packages. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/PACKAGE.md b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/PACKAGE.md new file mode 100644 index 000000000..e744e1b9e --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/PACKAGE.md @@ -0,0 +1,82 @@ +## About + + + +Provides abstractions of key-value pair based configuration. Interfaces defined in this package are implemented by classes in [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/) and other configuration packages. + +## Key Features + + + +* Abstractions for string key-value pair configuration sources and sections +* Path conventions of keys establishing a heirachy of values +* Support for multiple configuration sources, aggregating and defining precdence for values +* Support for reload on change + +## How to Use + + + +The example below shows a small code sample using this library and trying out the `ConfigurationKeyName` attribute available since .NET 6: + +```cs +public class MyClass +{ + [ConfigurationKeyName("named_property")] + public string NamedProperty { get; set; } +} +``` + +Given the simple class above, we can create a dictionary to hold the configuration data and use it as the memory source to build a configuration section: + +```cs +var dic = new Dictionary +{ + {"named_property", "value for named property"}, +}; + +var config = new ConfigurationBuilder() + .AddInMemoryCollection(dic) + .Build(); + +var options = config.Get(); +Console.WriteLine(options.NamedProperty); // returns "value for named property" +``` + +## Main Types + + + +The main types provided by this library are: + +* `Microsoft.Extensions.Configuration.IConfiguration` +* `Microsoft.Extensions.Configuration.IConfigurationBuilder` +* `Microsoft.Extensions.Configuration.IConfigurationProvider` +* `Microsoft.Extensions.Configuration.IConfigurationRoot` +* `Microsoft.Extensions.Configuration.IConfigurationSection` + +## Additional Documentation + + + +* [Configuration in .NET](https://learn.microsoft.com/dotnet/core/extensions/configuration) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration) + +## Related Packages + + +* [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration) +* [Microsoft.Extensions.Configuration.Binder](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Binder) +* [Microsoft.Extensions.Configuration.CommandLine](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.CommandLine) +* [Microsoft.Extensions.Configuration.EnvironmentVariables](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.EnvironmentVariables) +* [Microsoft.Extensions.Configuration.FileExtensions](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.FileExtensions) +* [Microsoft.Extensions.Configuration.Ini](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Ini) +* [Microsoft.Extensions.Configuration.Json](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Json) +* [Microsoft.Extensions.Configuration.UserSecrets](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.UserSecrets) +* [Microsoft.Extensions.Configuration.Xml](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.Xml) + +## Feedback & Contributing + + + +Microsoft.Extensions.Caching.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..4b40333f7 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1272 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2022 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +https://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.13, October 13th, 2022 + + Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure (Legacy License) +-------------------------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for The LLVM Project +----------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets new file mode 100644 index 000000000..950d8036a --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/buildTransitive/net6.0/_._ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/buildTransitive/net6.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets new file mode 100644 index 000000000..d948223f8 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml new file mode 100644 index 000000000..71c1deb85 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml @@ -0,0 +1,534 @@ + + + + Microsoft.Extensions.Configuration.Abstractions + + + + + Provides the data about current item of the configuration. + + + + + Initializes a new instance of . + + The path of the current item of the configuration. + The key of the current item of the configuration. + The value of the current item of the configuration. + The to use to get the value of the current item. + + + + Gets the path of the current item. + + + + + Gets the key of the current item. + + + + + Gets the value of the current item. + + + + + Gets the that was used to get the value of the current item. + + + + + Extension methods for configuration classes. + + + + + Adds a new configuration source. + + The builder to add to. + Configures the source secrets. + The . + + + + Shorthand for GetSection("ConnectionStrings")[name]. + + The configuration to enumerate. + The connection string key. + The connection string. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + An enumeration of key value pairs. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + If true, the child keys returned will have the current configuration's Path trimmed from the front. + An enumeration of key value pairs. + + + + Determines whether the section has a or has children + + The section to enumerate. + if the section has values or children; otherwise, . + + + + Gets a configuration sub-section with the specified key. + + The configuration to enumerate. + The key of the configuration section. + The . + + If no matching sub-section is found with the specified key, an exception is raised. + + There is no section with key . + + + + Specifies the key name for a configuration property. + + + + + Initializes a new instance of . + + The key name. + + + + The key name for a configuration property. + + + + + Utility methods and constants for manipulating Configuration paths + + + + + The delimiter ":" used to separate individual keys in a path. + + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Extracts the last path segment from the path. + + The path. + The last path segment of the path. + + + + Extracts the path corresponding to the parent node for a given path. + + The path. + The original path minus the last individual segment found in it. Null if the original path corresponds to a top level node. + + + + Extension methods for . + + + + + Generates a human-readable view of the configuration showing where each value came from. + + The debug view. + + + + Generates a human-readable view of the configuration showing where each value came from. + + Configuration root + + Function for processing the value e.g. hiding secrets + Parameters: + ConfigurationDebugViewContext: Context of the current configuration item + returns: A string value is used to assign as the Value of the configuration section + + The debug view. + + + + Represents a set of key/value application configuration properties. + + + + + Gets or sets a configuration value. + + The configuration key. + The configuration value. + + + + Gets a configuration sub-section with the specified key. + + The key of the configuration section. + The . + + This method will never return null. If no matching sub-section is found with the specified key, + an empty will be returned. + + + + + Gets the immediate descendant configuration sub-sections. + + The configuration sub-sections. + + + + Returns a that can be used to observe when this configuration is reloaded. + + A . + + + + Represents a type used to build application configuration. + + + + + Gets a key/value collection that can be used to share data between the + and the registered s. + + + + + Gets the sources used to obtain configuration values + + + + + Adds a new configuration source. + + The configuration source to add. + The same . + + + + Builds an with keys and values from the set of sources registered in + . + + An with keys and values from the registered sources. + + + + Represents a mutable configuration object. + + + It is both an and an . + As sources are added, it updates its current view of configuration. + + + + + Provides configuration key/values for an application. + + + + + Tries to get a configuration value for the specified key. + + The key. + The value. + True if a value for the specified key was found, otherwise false. + + + + Sets a configuration value for the specified key. + + The key. + The value. + + + + Returns a change token if this provider supports change tracking, null otherwise. + + The change token. + + + + Loads configuration values from the source represented by this . + + + + + Returns the immediate descendant configuration keys for a given parent path based on this + s data and the set of keys returned by all the preceding + s. + + The child keys returned by the preceding providers for the same parent path. + The parent path. + The child keys. + + + + Represents the root of an hierarchy. + + + + + Force the configuration values to be reloaded from the underlying s. + + + + + The s for this configuration. + + + + + Represents a section of application configuration values. + + + + + Gets the key this section occupies in its parent. + + + + + Gets the full path to this section within the . + + + + + Gets or sets the section value. + + + + + Represents a source of configuration key/values for an application. + + + + + Builds the for this source. + + The . + An + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Section '{0}' not found in configuration. + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml new file mode 100644 index 000000000..f0a9fc191 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml @@ -0,0 +1,425 @@ + + + + Microsoft.Extensions.Configuration.Abstractions + + + + + Provides the data about current item of the configuration. + + + + + Initializes a new instance of . + + The path of the current item of the configuration. + The key of the current item of the configuration. + The value of the current item of the configuration. + The to use to get the value of the current item. + + + + Gets the path of the current item. + + + + + Gets the key of the current item. + + + + + Gets the value of the current item. + + + + + Gets the that was used to get the value of the current item. + + + + + Extension methods for configuration classes. + + + + + Adds a new configuration source. + + The builder to add to. + Configures the source secrets. + The . + + + + Shorthand for GetSection("ConnectionStrings")[name]. + + The configuration to enumerate. + The connection string key. + The connection string. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + An enumeration of key value pairs. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + If true, the child keys returned will have the current configuration's Path trimmed from the front. + An enumeration of key value pairs. + + + + Determines whether the section has a or has children + + The section to enumerate. + if the section has values or children; otherwise, . + + + + Gets a configuration sub-section with the specified key. + + The configuration to enumerate. + The key of the configuration section. + The . + + If no matching sub-section is found with the specified key, an exception is raised. + + There is no section with key . + + + + Specifies the key name for a configuration property. + + + + + Initializes a new instance of . + + The key name. + + + + The key name for a configuration property. + + + + + Utility methods and constants for manipulating Configuration paths + + + + + The delimiter ":" used to separate individual keys in a path. + + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Extracts the last path segment from the path. + + The path. + The last path segment of the path. + + + + Extracts the path corresponding to the parent node for a given path. + + The path. + The original path minus the last individual segment found in it. Null if the original path corresponds to a top level node. + + + + Extension methods for . + + + + + Generates a human-readable view of the configuration showing where each value came from. + + The debug view. + + + + Generates a human-readable view of the configuration showing where each value came from. + + Configuration root + + Function for processing the value e.g. hiding secrets + Parameters: + ConfigurationDebugViewContext: Context of the current configuration item + returns: A string value is used to assign as the Value of the configuration section + + The debug view. + + + + Represents a set of key/value application configuration properties. + + + + + Gets or sets a configuration value. + + The configuration key. + The configuration value. + + + + Gets a configuration sub-section with the specified key. + + The key of the configuration section. + The . + + This method will never return null. If no matching sub-section is found with the specified key, + an empty will be returned. + + + + + Gets the immediate descendant configuration sub-sections. + + The configuration sub-sections. + + + + Returns a that can be used to observe when this configuration is reloaded. + + A . + + + + Represents a type used to build application configuration. + + + + + Gets a key/value collection that can be used to share data between the + and the registered s. + + + + + Gets the sources used to obtain configuration values + + + + + Adds a new configuration source. + + The configuration source to add. + The same . + + + + Builds an with keys and values from the set of sources registered in + . + + An with keys and values from the registered sources. + + + + Represents a mutable configuration object. + + + It is both an and an . + As sources are added, it updates its current view of configuration. + + + + + Provides configuration key/values for an application. + + + + + Tries to get a configuration value for the specified key. + + The key. + The value. + True if a value for the specified key was found, otherwise false. + + + + Sets a configuration value for the specified key. + + The key. + The value. + + + + Returns a change token if this provider supports change tracking, null otherwise. + + The change token. + + + + Loads configuration values from the source represented by this . + + + + + Returns the immediate descendant configuration keys for a given parent path based on this + s data and the set of keys returned by all the preceding + s. + + The child keys returned by the preceding providers for the same parent path. + The parent path. + The child keys. + + + + Represents the root of an hierarchy. + + + + + Force the configuration values to be reloaded from the underlying s. + + + + + The s for this configuration. + + + + + Represents a section of application configuration values. + + + + + Gets the key this section occupies in its parent. + + + + + Gets the full path to this section within the . + + + + + Gets or sets the section value. + + + + + Represents a source of configuration key/values for an application. + + + + + Builds the for this source. + + The . + An + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + Section '{0}' not found in configuration. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml new file mode 100644 index 000000000..114165adf --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml @@ -0,0 +1,354 @@ + + + + Microsoft.Extensions.Configuration.Abstractions + + + + + Provides the data about current item of the configuration. + + + + + Initializes a new instance of . + + The path of the current item of the configuration. + The key of the current item of the configuration. + The value of the current item of the configuration. + The to use to get the value of the current item. + + + + Gets the path of the current item. + + + + + Gets the key of the current item. + + + + + Gets the value of the current item. + + + + + Gets the that was used to get the value of the current item. + + + + + Extension methods for configuration classes. + + + + + Adds a new configuration source. + + The builder to add to. + Configures the source secrets. + The . + + + + Shorthand for GetSection("ConnectionStrings")[name]. + + The configuration to enumerate. + The connection string key. + The connection string. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + An enumeration of key value pairs. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + If true, the child keys returned will have the current configuration's Path trimmed from the front. + An enumeration of key value pairs. + + + + Determines whether the section has a or has children + + The section to enumerate. + if the section has values or children; otherwise, . + + + + Gets a configuration sub-section with the specified key. + + The configuration to enumerate. + The key of the configuration section. + The . + + If no matching sub-section is found with the specified key, an exception is raised. + + There is no section with key . + + + + Specifies the key name for a configuration property. + + + + + Initializes a new instance of . + + The key name. + + + + The key name for a configuration property. + + + + + Utility methods and constants for manipulating Configuration paths + + + + + The delimiter ":" used to separate individual keys in a path. + + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Extracts the last path segment from the path. + + The path. + The last path segment of the path. + + + + Extracts the path corresponding to the parent node for a given path. + + The path. + The original path minus the last individual segment found in it. Null if the original path corresponds to a top level node. + + + + Extension methods for . + + + + + Generates a human-readable view of the configuration showing where each value came from. + + The debug view. + + + + Generates a human-readable view of the configuration showing where each value came from. + + Configuration root + + Function for processing the value e.g. hiding secrets + Parameters: + ConfigurationDebugViewContext: Context of the current configuration item + returns: A string value is used to assign as the Value of the configuration section + + The debug view. + + + + Represents a set of key/value application configuration properties. + + + + + Gets or sets a configuration value. + + The configuration key. + The configuration value. + + + + Gets a configuration sub-section with the specified key. + + The key of the configuration section. + The . + + This method will never return null. If no matching sub-section is found with the specified key, + an empty will be returned. + + + + + Gets the immediate descendant configuration sub-sections. + + The configuration sub-sections. + + + + Returns a that can be used to observe when this configuration is reloaded. + + A . + + + + Represents a type used to build application configuration. + + + + + Gets a key/value collection that can be used to share data between the + and the registered s. + + + + + Gets the sources used to obtain configuration values + + + + + Adds a new configuration source. + + The configuration source to add. + The same . + + + + Builds an with keys and values from the set of sources registered in + . + + An with keys and values from the registered sources. + + + + Represents a mutable configuration object. + + + It is both an and an . + As sources are added, it updates its current view of configuration. + + + + + Provides configuration key/values for an application. + + + + + Tries to get a configuration value for the specified key. + + The key. + The value. + True if a value for the specified key was found, otherwise false. + + + + Sets a configuration value for the specified key. + + The key. + The value. + + + + Returns a change token if this provider supports change tracking, null otherwise. + + The change token. + + + + Loads configuration values from the source represented by this . + + + + + Returns the immediate descendant configuration keys for a given parent path based on this + s data and the set of keys returned by all the preceding + s. + + The child keys returned by the preceding providers for the same parent path. + The parent path. + The child keys. + + + + Represents the root of an hierarchy. + + + + + Force the configuration values to be reloaded from the underlying s. + + + + + The s for this configuration. + + + + + Represents a section of application configuration values. + + + + + Gets the key this section occupies in its parent. + + + + + Gets the full path to this section within the . + + + + + Gets or sets the section value. + + + + + Represents a source of configuration key/values for an application. + + + + + Builds the for this source. + + The . + An + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + Section '{0}' not found in configuration. + + + diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml new file mode 100644 index 000000000..114165adf --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml @@ -0,0 +1,354 @@ + + + + Microsoft.Extensions.Configuration.Abstractions + + + + + Provides the data about current item of the configuration. + + + + + Initializes a new instance of . + + The path of the current item of the configuration. + The key of the current item of the configuration. + The value of the current item of the configuration. + The to use to get the value of the current item. + + + + Gets the path of the current item. + + + + + Gets the key of the current item. + + + + + Gets the value of the current item. + + + + + Gets the that was used to get the value of the current item. + + + + + Extension methods for configuration classes. + + + + + Adds a new configuration source. + + The builder to add to. + Configures the source secrets. + The . + + + + Shorthand for GetSection("ConnectionStrings")[name]. + + The configuration to enumerate. + The connection string key. + The connection string. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + An enumeration of key value pairs. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + If true, the child keys returned will have the current configuration's Path trimmed from the front. + An enumeration of key value pairs. + + + + Determines whether the section has a or has children + + The section to enumerate. + if the section has values or children; otherwise, . + + + + Gets a configuration sub-section with the specified key. + + The configuration to enumerate. + The key of the configuration section. + The . + + If no matching sub-section is found with the specified key, an exception is raised. + + There is no section with key . + + + + Specifies the key name for a configuration property. + + + + + Initializes a new instance of . + + The key name. + + + + The key name for a configuration property. + + + + + Utility methods and constants for manipulating Configuration paths + + + + + The delimiter ":" used to separate individual keys in a path. + + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Extracts the last path segment from the path. + + The path. + The last path segment of the path. + + + + Extracts the path corresponding to the parent node for a given path. + + The path. + The original path minus the last individual segment found in it. Null if the original path corresponds to a top level node. + + + + Extension methods for . + + + + + Generates a human-readable view of the configuration showing where each value came from. + + The debug view. + + + + Generates a human-readable view of the configuration showing where each value came from. + + Configuration root + + Function for processing the value e.g. hiding secrets + Parameters: + ConfigurationDebugViewContext: Context of the current configuration item + returns: A string value is used to assign as the Value of the configuration section + + The debug view. + + + + Represents a set of key/value application configuration properties. + + + + + Gets or sets a configuration value. + + The configuration key. + The configuration value. + + + + Gets a configuration sub-section with the specified key. + + The key of the configuration section. + The . + + This method will never return null. If no matching sub-section is found with the specified key, + an empty will be returned. + + + + + Gets the immediate descendant configuration sub-sections. + + The configuration sub-sections. + + + + Returns a that can be used to observe when this configuration is reloaded. + + A . + + + + Represents a type used to build application configuration. + + + + + Gets a key/value collection that can be used to share data between the + and the registered s. + + + + + Gets the sources used to obtain configuration values + + + + + Adds a new configuration source. + + The configuration source to add. + The same . + + + + Builds an with keys and values from the set of sources registered in + . + + An with keys and values from the registered sources. + + + + Represents a mutable configuration object. + + + It is both an and an . + As sources are added, it updates its current view of configuration. + + + + + Provides configuration key/values for an application. + + + + + Tries to get a configuration value for the specified key. + + The key. + The value. + True if a value for the specified key was found, otherwise false. + + + + Sets a configuration value for the specified key. + + The key. + The value. + + + + Returns a change token if this provider supports change tracking, null otherwise. + + The change token. + + + + Loads configuration values from the source represented by this . + + + + + Returns the immediate descendant configuration keys for a given parent path based on this + s data and the set of keys returned by all the preceding + s. + + The child keys returned by the preceding providers for the same parent path. + The parent path. + The child keys. + + + + Represents the root of an hierarchy. + + + + + Force the configuration values to be reloaded from the underlying s. + + + + + The s for this configuration. + + + + + Represents a section of application configuration values. + + + + + Gets the key this section occupies in its parent. + + + + + Gets the full path to this section within the . + + + + + Gets or sets the section value. + + + + + Represents a source of configuration key/values for an application. + + + + + Builds the for this source. + + The . + An + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + Section '{0}' not found in configuration. + + + diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml new file mode 100644 index 000000000..71c1deb85 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml @@ -0,0 +1,534 @@ + + + + Microsoft.Extensions.Configuration.Abstractions + + + + + Provides the data about current item of the configuration. + + + + + Initializes a new instance of . + + The path of the current item of the configuration. + The key of the current item of the configuration. + The value of the current item of the configuration. + The to use to get the value of the current item. + + + + Gets the path of the current item. + + + + + Gets the key of the current item. + + + + + Gets the value of the current item. + + + + + Gets the that was used to get the value of the current item. + + + + + Extension methods for configuration classes. + + + + + Adds a new configuration source. + + The builder to add to. + Configures the source secrets. + The . + + + + Shorthand for GetSection("ConnectionStrings")[name]. + + The configuration to enumerate. + The connection string key. + The connection string. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + An enumeration of key value pairs. + + + + Get the enumeration of key value pairs within the + + The configuration to enumerate. + If true, the child keys returned will have the current configuration's Path trimmed from the front. + An enumeration of key value pairs. + + + + Determines whether the section has a or has children + + The section to enumerate. + if the section has values or children; otherwise, . + + + + Gets a configuration sub-section with the specified key. + + The configuration to enumerate. + The key of the configuration section. + The . + + If no matching sub-section is found with the specified key, an exception is raised. + + There is no section with key . + + + + Specifies the key name for a configuration property. + + + + + Initializes a new instance of . + + The key name. + + + + The key name for a configuration property. + + + + + Utility methods and constants for manipulating Configuration paths + + + + + The delimiter ":" used to separate individual keys in a path. + + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Combines path segments into one path. + + The path segments to combine. + The combined path. + + + + Extracts the last path segment from the path. + + The path. + The last path segment of the path. + + + + Extracts the path corresponding to the parent node for a given path. + + The path. + The original path minus the last individual segment found in it. Null if the original path corresponds to a top level node. + + + + Extension methods for . + + + + + Generates a human-readable view of the configuration showing where each value came from. + + The debug view. + + + + Generates a human-readable view of the configuration showing where each value came from. + + Configuration root + + Function for processing the value e.g. hiding secrets + Parameters: + ConfigurationDebugViewContext: Context of the current configuration item + returns: A string value is used to assign as the Value of the configuration section + + The debug view. + + + + Represents a set of key/value application configuration properties. + + + + + Gets or sets a configuration value. + + The configuration key. + The configuration value. + + + + Gets a configuration sub-section with the specified key. + + The key of the configuration section. + The . + + This method will never return null. If no matching sub-section is found with the specified key, + an empty will be returned. + + + + + Gets the immediate descendant configuration sub-sections. + + The configuration sub-sections. + + + + Returns a that can be used to observe when this configuration is reloaded. + + A . + + + + Represents a type used to build application configuration. + + + + + Gets a key/value collection that can be used to share data between the + and the registered s. + + + + + Gets the sources used to obtain configuration values + + + + + Adds a new configuration source. + + The configuration source to add. + The same . + + + + Builds an with keys and values from the set of sources registered in + . + + An with keys and values from the registered sources. + + + + Represents a mutable configuration object. + + + It is both an and an . + As sources are added, it updates its current view of configuration. + + + + + Provides configuration key/values for an application. + + + + + Tries to get a configuration value for the specified key. + + The key. + The value. + True if a value for the specified key was found, otherwise false. + + + + Sets a configuration value for the specified key. + + The key. + The value. + + + + Returns a change token if this provider supports change tracking, null otherwise. + + The change token. + + + + Loads configuration values from the source represented by this . + + + + + Returns the immediate descendant configuration keys for a given parent path based on this + s data and the set of keys returned by all the preceding + s. + + The child keys returned by the preceding providers for the same parent path. + The parent path. + The child keys. + + + + Represents the root of an hierarchy. + + + + + Force the configuration values to be reloaded from the underlying s. + + + + + The s for this configuration. + + + + + Represents a section of application configuration values. + + + + + Gets the key this section occupies in its parent. + + + + + Gets the full path to this section within the . + + + + + Gets or sets the section value. + + + + + Represents a source of configuration key/values for an application. + + + + + Builds the for this source. + + The . + An + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Section '{0}' not found in configuration. + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/microsoft.extensions.configuration.abstractions.8.0.0.nupkg b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/microsoft.extensions.configuration.abstractions.8.0.0.nupkg new file mode 100644 index 000000000..06907cc75 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/microsoft.extensions.configuration.abstractions.8.0.0.nupkg differ diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512 b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512 new file mode 100644 index 000000000..8e3d5a8b1 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512 @@ -0,0 +1 @@ +MxYXCRCpQpDI30/tJvqISkfdm/l063rSI2jVpjMIZgoB0tq0pEZiBh2srsz0ugnNq/zNRjb3arMXi+zsWtMaLw== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.configuration.abstractions/8.0.0/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..a7b54836f --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "sNsznxpgL7oNki7Q1AbaCD6PQcXBBeeasQNze76GZ4PfXEpKrEeWHdMxt1oRK7N+sz1vryDHSLo8cunH9zAaJQ==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..ffffa99e3 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.CommandLine.nuspec b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.CommandLine.nuspec new file mode 100644 index 000000000..db7448734 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.CommandLine.nuspec @@ -0,0 +1,40 @@ + + + + Microsoft.Extensions.Configuration.CommandLine + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Command line configuration provider implementation for Microsoft.Extensions.Configuration. This package enables you to read configuration parameters from the command line arguments of your application. You can use CommandLineConfigurationExtensions.AddCommandLine extension method on IConfigurationBuilder to add the command line configuration provider to the configuration builder. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..3714573d5 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,44 @@ +## About + + + +Command line configuration provider implementation for [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/). This package enables you to read configuration parameters from the command line arguments of your application. You can use [CommandLineConfigurationExtensions.AddCommandLine](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.commandlineconfigurationextensions.addcommandline) extension method on `IConfigurationBuilder` to add the command line configuration provider to the configuration builder. + +## How to Use + + + +The following example shows how to read application configuration from the command line. You can use a command like `dotnet run --InputPath "c:\fizz" --OutputPath "c:\buzz"` to run it. + +```C# +using System; +using Microsoft.Extensions.Configuration; + +class Program +{ + static void Main(string[] args) + { + // Build a configuration object from command line + IConfiguration config = new ConfigurationBuilder() + .AddCommandLine(args) + .Build(); + + // Read configuration values + Console.WriteLine($"InputPath: {config["InputPath"]}"); + Console.WriteLine($"OutputPath: {config["OutputPath"]}"); + } +} +``` + +## Additional Documentation + + + +* [Command-line configuration provider](https://learn.microsoft.com/dotnet/core/extensions/configuration-providers#command-line-configuration-provider) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.commandline) + +## Feedback & Contributing + + + +Microsoft.Extensions.Configuration.CommandLine is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.CommandLine.targets b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.CommandLine.targets new file mode 100644 index 000000000..567e6b3b7 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.CommandLine.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.CommandLine.targets b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.CommandLine.targets new file mode 100644 index 000000000..a446ea753 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.CommandLine.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.CommandLine.xml b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.CommandLine.xml new file mode 100644 index 000000000..56516bcc6 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.CommandLine.xml @@ -0,0 +1,210 @@ + + + + Microsoft.Extensions.Configuration.CommandLine + + + + + Extension methods for registering with . + + + + + Adds a + that reads configuration values from the command line. + + The to add to. + The command line args. + The . + + + The values passed on the command line, in the args string array, should be a set + of keys prefixed with two dashes ("--") and then values, separate by either the + equals sign ("=") or a space (" "). + + + A forward slash ("/") can be used as an alternative prefix, with either equals or space, and when using + an equals sign the prefix can be left out altogether. + + + There are five basic alternative formats for arguments: + key1=value1 --key2=value2 /key3=value3 --key4 value4 /key5 value5. + + + + A simple console application that has five values. + + // dotnet run key1=value1 --key2=value2 /key3=value3 --key4 value4 /key5 value5 + + using Microsoft.Extensions.Configuration; + using System; + + namespace CommandLineSample + { + public class Program + { + public static void Main(string[] args) + { + var builder = new ConfigurationBuilder(); + builder.AddCommandLine(args); + + var config = builder.Build(); + + Console.WriteLine($"Key1: '{config["Key1"]}'"); + Console.WriteLine($"Key2: '{config["Key2"]}'"); + Console.WriteLine($"Key3: '{config["Key3"]}'"); + Console.WriteLine($"Key4: '{config["Key4"]}'"); + Console.WriteLine($"Key5: '{config["Key5"]}'"); + } + } + } + + + + + + Adds a that reads + configuration values from the command line using the specified switch mappings. + + The to add to. + The command line args. + + The switch mappings. A dictionary of short (with prefix "-") and + alias keys (with prefix "--"), mapped to the configuration key (no prefix). + + The . + + + The switchMappings allows additional formats for alternative short and alias keys + to be used from the command line. Also see the basic version of AddCommandLine for + the standard formats supported. + + + Short keys start with a single dash ("-") and are mapped to the main key name (without + prefix), and can be used with either equals or space. The single dash mappings are intended + to be used for shorter alternative switches. + + + Note that a single dash switch cannot be accessed directly, but must have a switch mapping + defined and accessed using the full key. Passing an undefined single dash argument will + cause as FormatException. + + + There are two formats for short arguments: + -k1=value1 -k2 value2. + + + Alias key definitions start with two dashes ("--") and are mapped to the main key name (without + prefix), and can be used in place of the normal key. They also work when a forward slash prefix + is used in the command line (but not with the no prefix equals format). + + + There are only four formats for aliased arguments: + --alt3=value3 /alt4=value4 --alt5 value5 /alt6 value6. + + + + A simple console application that has two short and four alias switch mappings defined. + + // dotnet run -k1=value1 -k2 value2 --alt3=value2 /alt4=value3 --alt5 value5 /alt6 value6 + + using Microsoft.Extensions.Configuration; + using System; + using System.Collections.Generic; + + namespace CommandLineSample + { + public class Program + { + public static void Main(string[] args) + { + var switchMappings = new Dictionary<string, string>() + { + { "-k1", "key1" }, + { "-k2", "key2" }, + { "--alt3", "key3" }, + { "--alt4", "key4" }, + { "--alt5", "key5" }, + { "--alt6", "key6" }, + }; + var builder = new ConfigurationBuilder(); + builder.AddCommandLine(args, switchMappings); + + var config = builder.Build(); + + Console.WriteLine($"Key1: '{config["Key1"]}'"); + Console.WriteLine($"Key2: '{config["Key2"]}'"); + Console.WriteLine($"Key3: '{config["Key3"]}'"); + Console.WriteLine($"Key4: '{config["Key4"]}'"); + Console.WriteLine($"Key5: '{config["Key5"]}'"); + Console.WriteLine($"Key6: '{config["Key6"]}'"); + } + } + } + + + + + + Adds an that reads configuration values from the command line. + + The to add to. + Configures the source. + The . + + + + Provides configuration key-value pairs that are obtained from the command line. + + + + + Initializes a new instance. + + The command line args. + The switch mappings. + + + + Gets the command-line arguments. + + + + + Loads the configuration data from the command-line arguments. + + + + + Represents command-line arguments as an . + + + + + Gets or sets the switch mappings. + + + + + Gets or sets the command line arguments. + + + + + Builds the for this source. + + The . + A . + + + Keys in switch mappings are case-insensitive. A duplicated key '{0}' was found. + + + The switch mappings contain an invalid switch '{0}'. + + + The short switch '{0}' is not defined in the switch mappings. + + + diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.CommandLine.xml b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.CommandLine.xml new file mode 100644 index 000000000..9d8e5790f --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.CommandLine.xml @@ -0,0 +1,393 @@ + + + + Microsoft.Extensions.Configuration.CommandLine + + + + + Extension methods for registering with . + + + + + Adds a + that reads configuration values from the command line. + + The to add to. + The command line args. + The . + + + The values passed on the command line, in the args string array, should be a set + of keys prefixed with two dashes ("--") and then values, separate by either the + equals sign ("=") or a space (" "). + + + A forward slash ("/") can be used as an alternative prefix, with either equals or space, and when using + an equals sign the prefix can be left out altogether. + + + There are five basic alternative formats for arguments: + key1=value1 --key2=value2 /key3=value3 --key4 value4 /key5 value5. + + + + A simple console application that has five values. + + // dotnet run key1=value1 --key2=value2 /key3=value3 --key4 value4 /key5 value5 + + using Microsoft.Extensions.Configuration; + using System; + + namespace CommandLineSample + { + public class Program + { + public static void Main(string[] args) + { + var builder = new ConfigurationBuilder(); + builder.AddCommandLine(args); + + var config = builder.Build(); + + Console.WriteLine($"Key1: '{config["Key1"]}'"); + Console.WriteLine($"Key2: '{config["Key2"]}'"); + Console.WriteLine($"Key3: '{config["Key3"]}'"); + Console.WriteLine($"Key4: '{config["Key4"]}'"); + Console.WriteLine($"Key5: '{config["Key5"]}'"); + } + } + } + + + + + + Adds a that reads + configuration values from the command line using the specified switch mappings. + + The to add to. + The command line args. + + The switch mappings. A dictionary of short (with prefix "-") and + alias keys (with prefix "--"), mapped to the configuration key (no prefix). + + The . + + + The switchMappings allows additional formats for alternative short and alias keys + to be used from the command line. Also see the basic version of AddCommandLine for + the standard formats supported. + + + Short keys start with a single dash ("-") and are mapped to the main key name (without + prefix), and can be used with either equals or space. The single dash mappings are intended + to be used for shorter alternative switches. + + + Note that a single dash switch cannot be accessed directly, but must have a switch mapping + defined and accessed using the full key. Passing an undefined single dash argument will + cause as FormatException. + + + There are two formats for short arguments: + -k1=value1 -k2 value2. + + + Alias key definitions start with two dashes ("--") and are mapped to the main key name (without + prefix), and can be used in place of the normal key. They also work when a forward slash prefix + is used in the command line (but not with the no prefix equals format). + + + There are only four formats for aliased arguments: + --alt3=value3 /alt4=value4 --alt5 value5 /alt6 value6. + + + + A simple console application that has two short and four alias switch mappings defined. + + // dotnet run -k1=value1 -k2 value2 --alt3=value2 /alt4=value3 --alt5 value5 /alt6 value6 + + using Microsoft.Extensions.Configuration; + using System; + using System.Collections.Generic; + + namespace CommandLineSample + { + public class Program + { + public static void Main(string[] args) + { + var switchMappings = new Dictionary<string, string>() + { + { "-k1", "key1" }, + { "-k2", "key2" }, + { "--alt3", "key3" }, + { "--alt4", "key4" }, + { "--alt5", "key5" }, + { "--alt6", "key6" }, + }; + var builder = new ConfigurationBuilder(); + builder.AddCommandLine(args, switchMappings); + + var config = builder.Build(); + + Console.WriteLine($"Key1: '{config["Key1"]}'"); + Console.WriteLine($"Key2: '{config["Key2"]}'"); + Console.WriteLine($"Key3: '{config["Key3"]}'"); + Console.WriteLine($"Key4: '{config["Key4"]}'"); + Console.WriteLine($"Key5: '{config["Key5"]}'"); + Console.WriteLine($"Key6: '{config["Key6"]}'"); + } + } + } + + + + + + Adds an that reads configuration values from the command line. + + The to add to. + Configures the source. + The . + + + + Provides configuration key-value pairs that are obtained from the command line. + + + + + Initializes a new instance. + + The command line args. + The switch mappings. + + + + Gets the command-line arguments. + + + + + Loads the configuration data from the command-line arguments. + + + + + Represents command-line arguments as an . + + + + + Gets or sets the switch mappings. + + + + + Gets or sets the command line arguments. + + + + + Builds the for this source. + + The . + A . + + + Keys in switch mappings are case-insensitive. A duplicated key '{0}' was found. + + + The switch mappings contain an invalid switch '{0}'. + + + The short switch '{0}' is not defined in the switch mappings. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.CommandLine.xml b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.CommandLine.xml new file mode 100644 index 000000000..56516bcc6 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.CommandLine.xml @@ -0,0 +1,210 @@ + + + + Microsoft.Extensions.Configuration.CommandLine + + + + + Extension methods for registering with . + + + + + Adds a + that reads configuration values from the command line. + + The to add to. + The command line args. + The . + + + The values passed on the command line, in the args string array, should be a set + of keys prefixed with two dashes ("--") and then values, separate by either the + equals sign ("=") or a space (" "). + + + A forward slash ("/") can be used as an alternative prefix, with either equals or space, and when using + an equals sign the prefix can be left out altogether. + + + There are five basic alternative formats for arguments: + key1=value1 --key2=value2 /key3=value3 --key4 value4 /key5 value5. + + + + A simple console application that has five values. + + // dotnet run key1=value1 --key2=value2 /key3=value3 --key4 value4 /key5 value5 + + using Microsoft.Extensions.Configuration; + using System; + + namespace CommandLineSample + { + public class Program + { + public static void Main(string[] args) + { + var builder = new ConfigurationBuilder(); + builder.AddCommandLine(args); + + var config = builder.Build(); + + Console.WriteLine($"Key1: '{config["Key1"]}'"); + Console.WriteLine($"Key2: '{config["Key2"]}'"); + Console.WriteLine($"Key3: '{config["Key3"]}'"); + Console.WriteLine($"Key4: '{config["Key4"]}'"); + Console.WriteLine($"Key5: '{config["Key5"]}'"); + } + } + } + + + + + + Adds a that reads + configuration values from the command line using the specified switch mappings. + + The to add to. + The command line args. + + The switch mappings. A dictionary of short (with prefix "-") and + alias keys (with prefix "--"), mapped to the configuration key (no prefix). + + The . + + + The switchMappings allows additional formats for alternative short and alias keys + to be used from the command line. Also see the basic version of AddCommandLine for + the standard formats supported. + + + Short keys start with a single dash ("-") and are mapped to the main key name (without + prefix), and can be used with either equals or space. The single dash mappings are intended + to be used for shorter alternative switches. + + + Note that a single dash switch cannot be accessed directly, but must have a switch mapping + defined and accessed using the full key. Passing an undefined single dash argument will + cause as FormatException. + + + There are two formats for short arguments: + -k1=value1 -k2 value2. + + + Alias key definitions start with two dashes ("--") and are mapped to the main key name (without + prefix), and can be used in place of the normal key. They also work when a forward slash prefix + is used in the command line (but not with the no prefix equals format). + + + There are only four formats for aliased arguments: + --alt3=value3 /alt4=value4 --alt5 value5 /alt6 value6. + + + + A simple console application that has two short and four alias switch mappings defined. + + // dotnet run -k1=value1 -k2 value2 --alt3=value2 /alt4=value3 --alt5 value5 /alt6 value6 + + using Microsoft.Extensions.Configuration; + using System; + using System.Collections.Generic; + + namespace CommandLineSample + { + public class Program + { + public static void Main(string[] args) + { + var switchMappings = new Dictionary<string, string>() + { + { "-k1", "key1" }, + { "-k2", "key2" }, + { "--alt3", "key3" }, + { "--alt4", "key4" }, + { "--alt5", "key5" }, + { "--alt6", "key6" }, + }; + var builder = new ConfigurationBuilder(); + builder.AddCommandLine(args, switchMappings); + + var config = builder.Build(); + + Console.WriteLine($"Key1: '{config["Key1"]}'"); + Console.WriteLine($"Key2: '{config["Key2"]}'"); + Console.WriteLine($"Key3: '{config["Key3"]}'"); + Console.WriteLine($"Key4: '{config["Key4"]}'"); + Console.WriteLine($"Key5: '{config["Key5"]}'"); + Console.WriteLine($"Key6: '{config["Key6"]}'"); + } + } + } + + + + + + Adds an that reads configuration values from the command line. + + The to add to. + Configures the source. + The . + + + + Provides configuration key-value pairs that are obtained from the command line. + + + + + Initializes a new instance. + + The command line args. + The switch mappings. + + + + Gets the command-line arguments. + + + + + Loads the configuration data from the command-line arguments. + + + + + Represents command-line arguments as an . + + + + + Gets or sets the switch mappings. + + + + + Gets or sets the command line arguments. + + + + + Builds the for this source. + + The . + A . + + + Keys in switch mappings are case-insensitive. A duplicated key '{0}' was found. + + + The switch mappings contain an invalid switch '{0}'. + + + The short switch '{0}' is not defined in the switch mappings. + + + diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.CommandLine.xml b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.CommandLine.xml new file mode 100644 index 000000000..56516bcc6 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.CommandLine.xml @@ -0,0 +1,210 @@ + + + + Microsoft.Extensions.Configuration.CommandLine + + + + + Extension methods for registering with . + + + + + Adds a + that reads configuration values from the command line. + + The to add to. + The command line args. + The . + + + The values passed on the command line, in the args string array, should be a set + of keys prefixed with two dashes ("--") and then values, separate by either the + equals sign ("=") or a space (" "). + + + A forward slash ("/") can be used as an alternative prefix, with either equals or space, and when using + an equals sign the prefix can be left out altogether. + + + There are five basic alternative formats for arguments: + key1=value1 --key2=value2 /key3=value3 --key4 value4 /key5 value5. + + + + A simple console application that has five values. + + // dotnet run key1=value1 --key2=value2 /key3=value3 --key4 value4 /key5 value5 + + using Microsoft.Extensions.Configuration; + using System; + + namespace CommandLineSample + { + public class Program + { + public static void Main(string[] args) + { + var builder = new ConfigurationBuilder(); + builder.AddCommandLine(args); + + var config = builder.Build(); + + Console.WriteLine($"Key1: '{config["Key1"]}'"); + Console.WriteLine($"Key2: '{config["Key2"]}'"); + Console.WriteLine($"Key3: '{config["Key3"]}'"); + Console.WriteLine($"Key4: '{config["Key4"]}'"); + Console.WriteLine($"Key5: '{config["Key5"]}'"); + } + } + } + + + + + + Adds a that reads + configuration values from the command line using the specified switch mappings. + + The to add to. + The command line args. + + The switch mappings. A dictionary of short (with prefix "-") and + alias keys (with prefix "--"), mapped to the configuration key (no prefix). + + The . + + + The switchMappings allows additional formats for alternative short and alias keys + to be used from the command line. Also see the basic version of AddCommandLine for + the standard formats supported. + + + Short keys start with a single dash ("-") and are mapped to the main key name (without + prefix), and can be used with either equals or space. The single dash mappings are intended + to be used for shorter alternative switches. + + + Note that a single dash switch cannot be accessed directly, but must have a switch mapping + defined and accessed using the full key. Passing an undefined single dash argument will + cause as FormatException. + + + There are two formats for short arguments: + -k1=value1 -k2 value2. + + + Alias key definitions start with two dashes ("--") and are mapped to the main key name (without + prefix), and can be used in place of the normal key. They also work when a forward slash prefix + is used in the command line (but not with the no prefix equals format). + + + There are only four formats for aliased arguments: + --alt3=value3 /alt4=value4 --alt5 value5 /alt6 value6. + + + + A simple console application that has two short and four alias switch mappings defined. + + // dotnet run -k1=value1 -k2 value2 --alt3=value2 /alt4=value3 --alt5 value5 /alt6 value6 + + using Microsoft.Extensions.Configuration; + using System; + using System.Collections.Generic; + + namespace CommandLineSample + { + public class Program + { + public static void Main(string[] args) + { + var switchMappings = new Dictionary<string, string>() + { + { "-k1", "key1" }, + { "-k2", "key2" }, + { "--alt3", "key3" }, + { "--alt4", "key4" }, + { "--alt5", "key5" }, + { "--alt6", "key6" }, + }; + var builder = new ConfigurationBuilder(); + builder.AddCommandLine(args, switchMappings); + + var config = builder.Build(); + + Console.WriteLine($"Key1: '{config["Key1"]}'"); + Console.WriteLine($"Key2: '{config["Key2"]}'"); + Console.WriteLine($"Key3: '{config["Key3"]}'"); + Console.WriteLine($"Key4: '{config["Key4"]}'"); + Console.WriteLine($"Key5: '{config["Key5"]}'"); + Console.WriteLine($"Key6: '{config["Key6"]}'"); + } + } + } + + + + + + Adds an that reads configuration values from the command line. + + The to add to. + Configures the source. + The . + + + + Provides configuration key-value pairs that are obtained from the command line. + + + + + Initializes a new instance. + + The command line args. + The switch mappings. + + + + Gets the command-line arguments. + + + + + Loads the configuration data from the command-line arguments. + + + + + Represents command-line arguments as an . + + + + + Gets or sets the switch mappings. + + + + + Gets or sets the command line arguments. + + + + + Builds the for this source. + + The . + A . + + + Keys in switch mappings are case-insensitive. A duplicated key '{0}' was found. + + + The switch mappings contain an invalid switch '{0}'. + + + The short switch '{0}' is not defined in the switch mappings. + + + diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.CommandLine.xml b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.CommandLine.xml new file mode 100644 index 000000000..9d8e5790f --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.CommandLine.xml @@ -0,0 +1,393 @@ + + + + Microsoft.Extensions.Configuration.CommandLine + + + + + Extension methods for registering with . + + + + + Adds a + that reads configuration values from the command line. + + The to add to. + The command line args. + The . + + + The values passed on the command line, in the args string array, should be a set + of keys prefixed with two dashes ("--") and then values, separate by either the + equals sign ("=") or a space (" "). + + + A forward slash ("/") can be used as an alternative prefix, with either equals or space, and when using + an equals sign the prefix can be left out altogether. + + + There are five basic alternative formats for arguments: + key1=value1 --key2=value2 /key3=value3 --key4 value4 /key5 value5. + + + + A simple console application that has five values. + + // dotnet run key1=value1 --key2=value2 /key3=value3 --key4 value4 /key5 value5 + + using Microsoft.Extensions.Configuration; + using System; + + namespace CommandLineSample + { + public class Program + { + public static void Main(string[] args) + { + var builder = new ConfigurationBuilder(); + builder.AddCommandLine(args); + + var config = builder.Build(); + + Console.WriteLine($"Key1: '{config["Key1"]}'"); + Console.WriteLine($"Key2: '{config["Key2"]}'"); + Console.WriteLine($"Key3: '{config["Key3"]}'"); + Console.WriteLine($"Key4: '{config["Key4"]}'"); + Console.WriteLine($"Key5: '{config["Key5"]}'"); + } + } + } + + + + + + Adds a that reads + configuration values from the command line using the specified switch mappings. + + The to add to. + The command line args. + + The switch mappings. A dictionary of short (with prefix "-") and + alias keys (with prefix "--"), mapped to the configuration key (no prefix). + + The . + + + The switchMappings allows additional formats for alternative short and alias keys + to be used from the command line. Also see the basic version of AddCommandLine for + the standard formats supported. + + + Short keys start with a single dash ("-") and are mapped to the main key name (without + prefix), and can be used with either equals or space. The single dash mappings are intended + to be used for shorter alternative switches. + + + Note that a single dash switch cannot be accessed directly, but must have a switch mapping + defined and accessed using the full key. Passing an undefined single dash argument will + cause as FormatException. + + + There are two formats for short arguments: + -k1=value1 -k2 value2. + + + Alias key definitions start with two dashes ("--") and are mapped to the main key name (without + prefix), and can be used in place of the normal key. They also work when a forward slash prefix + is used in the command line (but not with the no prefix equals format). + + + There are only four formats for aliased arguments: + --alt3=value3 /alt4=value4 --alt5 value5 /alt6 value6. + + + + A simple console application that has two short and four alias switch mappings defined. + + // dotnet run -k1=value1 -k2 value2 --alt3=value2 /alt4=value3 --alt5 value5 /alt6 value6 + + using Microsoft.Extensions.Configuration; + using System; + using System.Collections.Generic; + + namespace CommandLineSample + { + public class Program + { + public static void Main(string[] args) + { + var switchMappings = new Dictionary<string, string>() + { + { "-k1", "key1" }, + { "-k2", "key2" }, + { "--alt3", "key3" }, + { "--alt4", "key4" }, + { "--alt5", "key5" }, + { "--alt6", "key6" }, + }; + var builder = new ConfigurationBuilder(); + builder.AddCommandLine(args, switchMappings); + + var config = builder.Build(); + + Console.WriteLine($"Key1: '{config["Key1"]}'"); + Console.WriteLine($"Key2: '{config["Key2"]}'"); + Console.WriteLine($"Key3: '{config["Key3"]}'"); + Console.WriteLine($"Key4: '{config["Key4"]}'"); + Console.WriteLine($"Key5: '{config["Key5"]}'"); + Console.WriteLine($"Key6: '{config["Key6"]}'"); + } + } + } + + + + + + Adds an that reads configuration values from the command line. + + The to add to. + Configures the source. + The . + + + + Provides configuration key-value pairs that are obtained from the command line. + + + + + Initializes a new instance. + + The command line args. + The switch mappings. + + + + Gets the command-line arguments. + + + + + Loads the configuration data from the command-line arguments. + + + + + Represents command-line arguments as an . + + + + + Gets or sets the switch mappings. + + + + + Gets or sets the command line arguments. + + + + + Builds the for this source. + + The . + A . + + + Keys in switch mappings are case-insensitive. A duplicated key '{0}' was found. + + + The switch mappings contain an invalid switch '{0}'. + + + The short switch '{0}' is not defined in the switch mappings. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.commandline.10.0.0-rc.2.25502.107.nupkg b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.commandline.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..ff598319d Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.commandline.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.commandline.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.commandline.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..dfad61e34 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.commandline.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +lBUHH+L39V/PWt/qtSwpu1iSifo7PRRf9MEdeuy/wsBp6rHoYsnX7xbP4GJf7diCztWK8krG5qQb7ZjtjpaDLg== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.configuration.commandline/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..86c477a92 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "2SV60IUAWfluZv2YHNZ+nUOljYHGIsy96FpJs+N9/bgKDYs9qr6DdzPeIhiHrz+XvRzbybvcwtTBf5dKrYN4oA==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..c090da15f Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.EnvironmentVariables.nuspec b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.EnvironmentVariables.nuspec new file mode 100644 index 000000000..992a11852 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.EnvironmentVariables.nuspec @@ -0,0 +1,40 @@ + + + + Microsoft.Extensions.Configuration.EnvironmentVariables + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Environment variables configuration provider implementation for Microsoft.Extensions.Configuration. This package enables you to read configuration parameters from environment variables. You can use EnvironmentVariablesExtensions.AddEnvironmentVariables extension method on IConfigurationBuilder to add the environment variables configuration provider to the configuration builder. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..eb9a67bfb --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,44 @@ +## About + + + +Environment variables configuration provider implementation for [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/). This package enables you to read configuration parameters from environment variables. You can use [EnvironmentVariablesExtensions.AddEnvironmentVariables](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.environmentvariablesextensions.addenvironmentvariables) extension method on `IConfigurationBuilder` to add the environment variables configuration provider to the configuration builder. + +## How to Use + + + +The following example shows how to read application configuration from environment variables. + +```cs +using System; +using Microsoft.Extensions.Configuration; + +class Program +{ + static void Main() + { + // Build a configuration object from environment variables + IConfiguration config = new ConfigurationBuilder() + .AddEnvironmentVariables() + .Build(); + + // Read configuration values + Console.WriteLine($"Server: {config["Server"]}"); + Console.WriteLine($"Database: {config["Database"]}"); + } +} +``` + +## Additional Documentation + + + +* [Environment variable configuration provider](https://learn.microsoft.com/dotnet/core/extensions/configuration-providers#environment-variable-configuration-provider) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.environmentvariables) + +## Feedback & Contributing + + + +Microsoft.Extensions.Configuration.EnvironmentVariables is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.EnvironmentVariables.targets b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.EnvironmentVariables.targets new file mode 100644 index 000000000..fdee926b5 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.EnvironmentVariables.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.targets b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.targets new file mode 100644 index 000000000..c3028ce0e --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml new file mode 100644 index 000000000..e02aaaaa0 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml @@ -0,0 +1,81 @@ + + + + Microsoft.Extensions.Configuration.EnvironmentVariables + + + + + Provides configuration key-value pairs that are obtained from environment variables. + + + + + Initializes a new instance. + + + + + Initializes a new instance with the specified prefix. + + A prefix used to filter the environment variables. + + + + Loads the environment variables. + + + + + Generates a string representing this provider name and relevant details. + + The configuration name. + + + + Represents environment variables as an . + + + + + A prefix used to filter environment variables. + + + + + Builds the for this source. + + The . + A . + + + + Provides extension methods for registering with . + + + + + Adds an that reads configuration values from environment variables. + + The to add to. + The . + + + + Adds an that reads configuration values from environment variables + with a specified prefix. + + The to add to. + The prefix that environment variable names must start with. The prefix will be removed from the environment variable names. + The . + + + + Adds an that reads configuration values from environment variables. + + The to add to. + The action that configures the source. + The . + + + diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.EnvironmentVariables.xml b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.EnvironmentVariables.xml new file mode 100644 index 000000000..e0970a933 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.EnvironmentVariables.xml @@ -0,0 +1,264 @@ + + + + Microsoft.Extensions.Configuration.EnvironmentVariables + + + + + Provides configuration key-value pairs that are obtained from environment variables. + + + + + Initializes a new instance. + + + + + Initializes a new instance with the specified prefix. + + A prefix used to filter the environment variables. + + + + Loads the environment variables. + + + + + Generates a string representing this provider name and relevant details. + + The configuration name. + + + + Represents environment variables as an . + + + + + A prefix used to filter environment variables. + + + + + Builds the for this source. + + The . + A . + + + + Provides extension methods for registering with . + + + + + Adds an that reads configuration values from environment variables. + + The to add to. + The . + + + + Adds an that reads configuration values from environment variables + with a specified prefix. + + The to add to. + The prefix that environment variable names must start with. The prefix will be removed from the environment variable names. + The . + + + + Adds an that reads configuration values from environment variables. + + The to add to. + The action that configures the source. + The . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml new file mode 100644 index 000000000..e02aaaaa0 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml @@ -0,0 +1,81 @@ + + + + Microsoft.Extensions.Configuration.EnvironmentVariables + + + + + Provides configuration key-value pairs that are obtained from environment variables. + + + + + Initializes a new instance. + + + + + Initializes a new instance with the specified prefix. + + A prefix used to filter the environment variables. + + + + Loads the environment variables. + + + + + Generates a string representing this provider name and relevant details. + + The configuration name. + + + + Represents environment variables as an . + + + + + A prefix used to filter environment variables. + + + + + Builds the for this source. + + The . + A . + + + + Provides extension methods for registering with . + + + + + Adds an that reads configuration values from environment variables. + + The to add to. + The . + + + + Adds an that reads configuration values from environment variables + with a specified prefix. + + The to add to. + The prefix that environment variable names must start with. The prefix will be removed from the environment variable names. + The . + + + + Adds an that reads configuration values from environment variables. + + The to add to. + The action that configures the source. + The . + + + diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml new file mode 100644 index 000000000..e02aaaaa0 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml @@ -0,0 +1,81 @@ + + + + Microsoft.Extensions.Configuration.EnvironmentVariables + + + + + Provides configuration key-value pairs that are obtained from environment variables. + + + + + Initializes a new instance. + + + + + Initializes a new instance with the specified prefix. + + A prefix used to filter the environment variables. + + + + Loads the environment variables. + + + + + Generates a string representing this provider name and relevant details. + + The configuration name. + + + + Represents environment variables as an . + + + + + A prefix used to filter environment variables. + + + + + Builds the for this source. + + The . + A . + + + + Provides extension methods for registering with . + + + + + Adds an that reads configuration values from environment variables. + + The to add to. + The . + + + + Adds an that reads configuration values from environment variables + with a specified prefix. + + The to add to. + The prefix that environment variable names must start with. The prefix will be removed from the environment variable names. + The . + + + + Adds an that reads configuration values from environment variables. + + The to add to. + The action that configures the source. + The . + + + diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml new file mode 100644 index 000000000..e0970a933 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.EnvironmentVariables.xml @@ -0,0 +1,264 @@ + + + + Microsoft.Extensions.Configuration.EnvironmentVariables + + + + + Provides configuration key-value pairs that are obtained from environment variables. + + + + + Initializes a new instance. + + + + + Initializes a new instance with the specified prefix. + + A prefix used to filter the environment variables. + + + + Loads the environment variables. + + + + + Generates a string representing this provider name and relevant details. + + The configuration name. + + + + Represents environment variables as an . + + + + + A prefix used to filter environment variables. + + + + + Builds the for this source. + + The . + A . + + + + Provides extension methods for registering with . + + + + + Adds an that reads configuration values from environment variables. + + The to add to. + The . + + + + Adds an that reads configuration values from environment variables + with a specified prefix. + + The to add to. + The prefix that environment variable names must start with. The prefix will be removed from the environment variable names. + The . + + + + Adds an that reads configuration values from environment variables. + + The to add to. + The action that configures the source. + The . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.environmentvariables.10.0.0-rc.2.25502.107.nupkg b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.environmentvariables.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..cbde9057f Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.environmentvariables.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.environmentvariables.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.environmentvariables.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..cb6d86f9b --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.environmentvariables.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +ZAOXrdkc1gZmb7VKXbREzHHHSRfpBKHypJxNvArmLSroyTxgWNsIdesvU30YXL9INaij4UOY7jrNK3OKy0jrLQ== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.configuration.environmentvariables/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..0d3bce179 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "5KrgXSTFR8cFLmDXXoT7GLVvDyHNw0Z9xG4doD78Q/HdlAR4jiMzmLLS9GFXrPGopmC6qqEZr2VBJHEu16INcA==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..b7154028b Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.FileExtensions.nuspec b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.FileExtensions.nuspec new file mode 100644 index 000000000..8e1c935a0 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.FileExtensions.nuspec @@ -0,0 +1,55 @@ + + + + Microsoft.Extensions.Configuration.FileExtensions + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Provides a base class for file-based configuration providers used with Microsoft.Extensions.Configuration and extension methods for configuring them. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..4a4f40410 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,19 @@ +## About + + + +Provides a base class for file-based configuration providers used with [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/) and extension methods for configuring them. + +## Additional Documentation + + + +* [Configuration in .NET](https://learn.microsoft.com/dotnet/core/extensions/configuration) +* [Microsoft.Extensions.Configuration.FileConfigurationProvider](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.fileconfigurationprovider) +* [Microsoft.Extensions.Configuration.FileConfigurationExtensions](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.fileconfigurationextensions) + +## Feedback & Contributing + + + +Microsoft.Extensions.Configuration.FileExtensions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.FileExtensions.targets b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.FileExtensions.targets new file mode 100644 index 000000000..4568d3711 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.FileExtensions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.FileExtensions.targets b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.FileExtensions.targets new file mode 100644 index 000000000..51f5eb0a4 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.FileExtensions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.FileExtensions.xml b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.FileExtensions.xml new file mode 100644 index 000000000..990d9913e --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.FileExtensions.xml @@ -0,0 +1,191 @@ + + + + Microsoft.Extensions.Configuration.FileExtensions + + + + + Provides extension methods for . + + + + + Sets the default to be used for file-based providers. + + The to add to. + The default file provider instance. + The . + + + + Gets the default to be used for file-based providers. + + The . + The default . + + + + Sets the FileProvider for file-based providers to a PhysicalFileProvider with the base path. + + The to add to. + The absolute path of file-based providers. + The . + + + + Sets a default action to be invoked for file-based providers when an error occurs. + + The to add to. + The Action to be invoked on a file load exception. + The . + + + + Gets a default action to be invoked for file-based providers when an error occurs. + + The . + The The Action to be invoked on a file load exception, if set. + + + + Provides the base class for file-based providers. + + + + + Initializes a new instance with the specified source. + + The source settings. + + + + Gets the source settings for this provider. + + + + + Generates a string representing this provider name and relevant details. + + The configuration name. + + + + Loads the contents of the file at . + + Optional is false on the source and a + directory cannot be found at the specified Path. + Optional is false on the source and a + file does not exist at specified Path. + An exception was thrown by the concrete implementation of the + method. Use the source callback + if you need more control over the exception. + + + + Loads this provider's data from a stream. + + The stream to read. + + + + + + + Disposes the provider. + + true if invoked from . + + + + Provides the base class for file-based . + + + + + Gets or sets the provider used to access the contents of the file. + + + + + Gets or sets the path to the file. + + + + + Gets or sets a value that indicates whether loading the file is optional. + + + + + Gets or sets a value that indicates whether the source will be loaded if the underlying file changes. + + + + + Gets or sets the number of milliseconds that reload will wait before calling Load. + + + The number of milliseconds that reload waits before calling Load. The default is 250. + + + This delay helps avoid triggering reload before a file is completely written. + + + + + Gets or sets the action that's called if an uncaught exception occurs in FileConfigurationProvider.Load. + + + + + Builds the for this source. + + The . + To be added. + + + + Called to use any default settings on the builder like the FileProvider or FileLoadExceptionHandler. + + The . + + + + Creates a physical file provider for the nearest existing directory if no file provider has been set, for absolute Path. + + + + + Contains information about a file load exception. + + + + + Gets or sets the that caused the exception. + + + + + Gets or sets the exception that occurred in Load. + + + + + Gets or sets a value that indicates whether the exception is rethrown. + + + if the exception isn't rethrown; otherwise, . + + + + The expected physical path was '{0}'. + + + The configuration file '{0}' was not found and is not optional. + + + Failed to load configuration from file '{0}'. + + + diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.FileExtensions.xml b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.FileExtensions.xml new file mode 100644 index 000000000..f4d2bfdb3 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.FileExtensions.xml @@ -0,0 +1,374 @@ + + + + Microsoft.Extensions.Configuration.FileExtensions + + + + + Provides extension methods for . + + + + + Sets the default to be used for file-based providers. + + The to add to. + The default file provider instance. + The . + + + + Gets the default to be used for file-based providers. + + The . + The default . + + + + Sets the FileProvider for file-based providers to a PhysicalFileProvider with the base path. + + The to add to. + The absolute path of file-based providers. + The . + + + + Sets a default action to be invoked for file-based providers when an error occurs. + + The to add to. + The Action to be invoked on a file load exception. + The . + + + + Gets a default action to be invoked for file-based providers when an error occurs. + + The . + The The Action to be invoked on a file load exception, if set. + + + + Provides the base class for file-based providers. + + + + + Initializes a new instance with the specified source. + + The source settings. + + + + Gets the source settings for this provider. + + + + + Generates a string representing this provider name and relevant details. + + The configuration name. + + + + Loads the contents of the file at . + + Optional is false on the source and a + directory cannot be found at the specified Path. + Optional is false on the source and a + file does not exist at specified Path. + An exception was thrown by the concrete implementation of the + method. Use the source callback + if you need more control over the exception. + + + + Loads this provider's data from a stream. + + The stream to read. + + + + + + + Disposes the provider. + + true if invoked from . + + + + Provides the base class for file-based . + + + + + Gets or sets the provider used to access the contents of the file. + + + + + Gets or sets the path to the file. + + + + + Gets or sets a value that indicates whether loading the file is optional. + + + + + Gets or sets a value that indicates whether the source will be loaded if the underlying file changes. + + + + + Gets or sets the number of milliseconds that reload will wait before calling Load. + + + The number of milliseconds that reload waits before calling Load. The default is 250. + + + This delay helps avoid triggering reload before a file is completely written. + + + + + Gets or sets the action that's called if an uncaught exception occurs in FileConfigurationProvider.Load. + + + + + Builds the for this source. + + The . + To be added. + + + + Called to use any default settings on the builder like the FileProvider or FileLoadExceptionHandler. + + The . + + + + Creates a physical file provider for the nearest existing directory if no file provider has been set, for absolute Path. + + + + + Contains information about a file load exception. + + + + + Gets or sets the that caused the exception. + + + + + Gets or sets the exception that occurred in Load. + + + + + Gets or sets a value that indicates whether the exception is rethrown. + + + if the exception isn't rethrown; otherwise, . + + + + The expected physical path was '{0}'. + + + The configuration file '{0}' was not found and is not optional. + + + Failed to load configuration from file '{0}'. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.xml b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.xml new file mode 100644 index 000000000..990d9913e --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.xml @@ -0,0 +1,191 @@ + + + + Microsoft.Extensions.Configuration.FileExtensions + + + + + Provides extension methods for . + + + + + Sets the default to be used for file-based providers. + + The to add to. + The default file provider instance. + The . + + + + Gets the default to be used for file-based providers. + + The . + The default . + + + + Sets the FileProvider for file-based providers to a PhysicalFileProvider with the base path. + + The to add to. + The absolute path of file-based providers. + The . + + + + Sets a default action to be invoked for file-based providers when an error occurs. + + The to add to. + The Action to be invoked on a file load exception. + The . + + + + Gets a default action to be invoked for file-based providers when an error occurs. + + The . + The The Action to be invoked on a file load exception, if set. + + + + Provides the base class for file-based providers. + + + + + Initializes a new instance with the specified source. + + The source settings. + + + + Gets the source settings for this provider. + + + + + Generates a string representing this provider name and relevant details. + + The configuration name. + + + + Loads the contents of the file at . + + Optional is false on the source and a + directory cannot be found at the specified Path. + Optional is false on the source and a + file does not exist at specified Path. + An exception was thrown by the concrete implementation of the + method. Use the source callback + if you need more control over the exception. + + + + Loads this provider's data from a stream. + + The stream to read. + + + + + + + Disposes the provider. + + true if invoked from . + + + + Provides the base class for file-based . + + + + + Gets or sets the provider used to access the contents of the file. + + + + + Gets or sets the path to the file. + + + + + Gets or sets a value that indicates whether loading the file is optional. + + + + + Gets or sets a value that indicates whether the source will be loaded if the underlying file changes. + + + + + Gets or sets the number of milliseconds that reload will wait before calling Load. + + + The number of milliseconds that reload waits before calling Load. The default is 250. + + + This delay helps avoid triggering reload before a file is completely written. + + + + + Gets or sets the action that's called if an uncaught exception occurs in FileConfigurationProvider.Load. + + + + + Builds the for this source. + + The . + To be added. + + + + Called to use any default settings on the builder like the FileProvider or FileLoadExceptionHandler. + + The . + + + + Creates a physical file provider for the nearest existing directory if no file provider has been set, for absolute Path. + + + + + Contains information about a file load exception. + + + + + Gets or sets the that caused the exception. + + + + + Gets or sets the exception that occurred in Load. + + + + + Gets or sets a value that indicates whether the exception is rethrown. + + + if the exception isn't rethrown; otherwise, . + + + + The expected physical path was '{0}'. + + + The configuration file '{0}' was not found and is not optional. + + + Failed to load configuration from file '{0}'. + + + diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.FileExtensions.xml b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.FileExtensions.xml new file mode 100644 index 000000000..990d9913e --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.FileExtensions.xml @@ -0,0 +1,191 @@ + + + + Microsoft.Extensions.Configuration.FileExtensions + + + + + Provides extension methods for . + + + + + Sets the default to be used for file-based providers. + + The to add to. + The default file provider instance. + The . + + + + Gets the default to be used for file-based providers. + + The . + The default . + + + + Sets the FileProvider for file-based providers to a PhysicalFileProvider with the base path. + + The to add to. + The absolute path of file-based providers. + The . + + + + Sets a default action to be invoked for file-based providers when an error occurs. + + The to add to. + The Action to be invoked on a file load exception. + The . + + + + Gets a default action to be invoked for file-based providers when an error occurs. + + The . + The The Action to be invoked on a file load exception, if set. + + + + Provides the base class for file-based providers. + + + + + Initializes a new instance with the specified source. + + The source settings. + + + + Gets the source settings for this provider. + + + + + Generates a string representing this provider name and relevant details. + + The configuration name. + + + + Loads the contents of the file at . + + Optional is false on the source and a + directory cannot be found at the specified Path. + Optional is false on the source and a + file does not exist at specified Path. + An exception was thrown by the concrete implementation of the + method. Use the source callback + if you need more control over the exception. + + + + Loads this provider's data from a stream. + + The stream to read. + + + + + + + Disposes the provider. + + true if invoked from . + + + + Provides the base class for file-based . + + + + + Gets or sets the provider used to access the contents of the file. + + + + + Gets or sets the path to the file. + + + + + Gets or sets a value that indicates whether loading the file is optional. + + + + + Gets or sets a value that indicates whether the source will be loaded if the underlying file changes. + + + + + Gets or sets the number of milliseconds that reload will wait before calling Load. + + + The number of milliseconds that reload waits before calling Load. The default is 250. + + + This delay helps avoid triggering reload before a file is completely written. + + + + + Gets or sets the action that's called if an uncaught exception occurs in FileConfigurationProvider.Load. + + + + + Builds the for this source. + + The . + To be added. + + + + Called to use any default settings on the builder like the FileProvider or FileLoadExceptionHandler. + + The . + + + + Creates a physical file provider for the nearest existing directory if no file provider has been set, for absolute Path. + + + + + Contains information about a file load exception. + + + + + Gets or sets the that caused the exception. + + + + + Gets or sets the exception that occurred in Load. + + + + + Gets or sets a value that indicates whether the exception is rethrown. + + + if the exception isn't rethrown; otherwise, . + + + + The expected physical path was '{0}'. + + + The configuration file '{0}' was not found and is not optional. + + + Failed to load configuration from file '{0}'. + + + diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.xml b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.xml new file mode 100644 index 000000000..f4d2bfdb3 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.xml @@ -0,0 +1,374 @@ + + + + Microsoft.Extensions.Configuration.FileExtensions + + + + + Provides extension methods for . + + + + + Sets the default to be used for file-based providers. + + The to add to. + The default file provider instance. + The . + + + + Gets the default to be used for file-based providers. + + The . + The default . + + + + Sets the FileProvider for file-based providers to a PhysicalFileProvider with the base path. + + The to add to. + The absolute path of file-based providers. + The . + + + + Sets a default action to be invoked for file-based providers when an error occurs. + + The to add to. + The Action to be invoked on a file load exception. + The . + + + + Gets a default action to be invoked for file-based providers when an error occurs. + + The . + The The Action to be invoked on a file load exception, if set. + + + + Provides the base class for file-based providers. + + + + + Initializes a new instance with the specified source. + + The source settings. + + + + Gets the source settings for this provider. + + + + + Generates a string representing this provider name and relevant details. + + The configuration name. + + + + Loads the contents of the file at . + + Optional is false on the source and a + directory cannot be found at the specified Path. + Optional is false on the source and a + file does not exist at specified Path. + An exception was thrown by the concrete implementation of the + method. Use the source callback + if you need more control over the exception. + + + + Loads this provider's data from a stream. + + The stream to read. + + + + + + + Disposes the provider. + + true if invoked from . + + + + Provides the base class for file-based . + + + + + Gets or sets the provider used to access the contents of the file. + + + + + Gets or sets the path to the file. + + + + + Gets or sets a value that indicates whether loading the file is optional. + + + + + Gets or sets a value that indicates whether the source will be loaded if the underlying file changes. + + + + + Gets or sets the number of milliseconds that reload will wait before calling Load. + + + The number of milliseconds that reload waits before calling Load. The default is 250. + + + This delay helps avoid triggering reload before a file is completely written. + + + + + Gets or sets the action that's called if an uncaught exception occurs in FileConfigurationProvider.Load. + + + + + Builds the for this source. + + The . + To be added. + + + + Called to use any default settings on the builder like the FileProvider or FileLoadExceptionHandler. + + The . + + + + Creates a physical file provider for the nearest existing directory if no file provider has been set, for absolute Path. + + + + + Contains information about a file load exception. + + + + + Gets or sets the that caused the exception. + + + + + Gets or sets the exception that occurred in Load. + + + + + Gets or sets a value that indicates whether the exception is rethrown. + + + if the exception isn't rethrown; otherwise, . + + + + The expected physical path was '{0}'. + + + The configuration file '{0}' was not found and is not optional. + + + Failed to load configuration from file '{0}'. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.fileextensions.10.0.0-rc.2.25502.107.nupkg b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.fileextensions.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..c0524d8d7 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.fileextensions.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.fileextensions.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.fileextensions.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..b304f141f --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.fileextensions.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +Jh9U7e4D2ZKRsM8dx0Z9TKZFjzu49/4TTNMNxJ5QaMaa9aJl9IMvMkENWBWHkErjm8vf0iAOFuVFEoZmm00ikw== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.configuration.fileextensions/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/.nupkg.metadata b/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/.nupkg.metadata new file mode 100644 index 000000000..52e5b4b90 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "ebFbu+vsz4rzeAICWavk9a0FutWVs7aNZap5k/IVxVhu2CnnhOp/H/gNtpzplrqjYDaNYdmv9a/DoUvH2ynVEQ==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/.signature.p7s b/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/.signature.p7s new file mode 100644 index 000000000..abd0d5d53 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/Microsoft.Extensions.Configuration.FileExtensions.nuspec b/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/Microsoft.Extensions.Configuration.FileExtensions.nuspec new file mode 100644 index 000000000..2978687a5 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/Microsoft.Extensions.Configuration.FileExtensions.nuspec @@ -0,0 +1,24 @@ + + + + Microsoft.Extensions.Configuration.FileExtensions + 2.0.0 + Microsoft + Microsoft + true + https://raw.githubusercontent.com/aspnet/Home/2.0.0/LICENSE.txt + https://asp.net/ + https://go.microsoft.com/fwlink/?LinkID=288859 + Extension methods for configuring file-based configuration providers for Microsoft.Extensions.Configuration. + Copyright © Microsoft Corporation + configuration + true + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.xml b/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.xml new file mode 100644 index 000000000..f551bfd90 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.xml @@ -0,0 +1,175 @@ + + + + Microsoft.Extensions.Configuration.FileExtensions + + + + + Extension methods for . + + + + + Sets the default to be used for file-based providers. + + The to add to. + The default file provider instance. + The . + + + + Gets the default to be used for file-based providers. + + The . + The . + + + + Sets the FileProvider for file-based providers to a PhysicalFileProvider with the base path. + + The to add to. + The absolute path of file-based providers. + The . + + + + Sets a default action to be invoked for file-based providers when an error occurs. + + The to add to. + The Action to be invoked on a file load exception. + The . + + + + Gets the default to be used for file-based providers. + + The . + The . + + + + Base class for file based . + + + + + Initializes a new instance with the specified source. + + The source settings. + + + + The source settings for this provider. + + + + + Loads the contents of the file at . + + If Optional is false on the source and a + file does not exist at specified Path. + + + + Loads this provider's data from a stream. + + The stream to read. + + + + Represents a base class for file based . + + + + + Used to access the contents of the file. + + + + + The path to the file. + + + + + Determines if loading the file is optional. + + + + + Determines whether the source will be loaded if the underlying file changes. + + + + + Number of milliseconds that reload will wait before calling Load. This helps + avoid triggering reload before a file is completely written. Default is 250. + + + + + Will be called if an uncaught exception occurs in FileConfigurationProvider.Load. + + + + + Builds the for this source. + + The . + A + + + + Called to use any default settings on the builder like the FileProvider or FileLoadExceptionHandler. + + The . + + + + If no file provider has been set, for absolute Path, this will creates a physical file provider + for the nearest existing directory. + + + + + Contains information about a file load exception. + + + + + The that caused the exception. + + + + + The exception that occured in Load. + + + + + If true, the exception will not be rethrown. + + + + + The expected physical path was '{0}'. + + + + + The expected physical path was '{0}'. + + + + + The configuration file '{0}' was not found and is not optional. + + + + + The configuration file '{0}' was not found and is not optional. + + + + diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/microsoft.extensions.configuration.fileextensions.2.0.0.nupkg b/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/microsoft.extensions.configuration.fileextensions.2.0.0.nupkg new file mode 100644 index 000000000..30e7201ab Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/microsoft.extensions.configuration.fileextensions.2.0.0.nupkg differ diff --git a/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/microsoft.extensions.configuration.fileextensions.2.0.0.nupkg.sha512 b/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/microsoft.extensions.configuration.fileextensions.2.0.0.nupkg.sha512 new file mode 100644 index 000000000..c7a436527 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.fileextensions/2.0.0/microsoft.extensions.configuration.fileextensions.2.0.0.nupkg.sha512 @@ -0,0 +1 @@ +BZgEA+Lr65quM9TutXR0QfOpzXE5szwwb8LfvoNxsOcr6vpeH8Ux8GaWojY0hS6nfnNRN+vr3k2S3rDCjycTQg== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..624f97f18 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "USwHuFz4BFKoaqSydHWH/d7Mr+fVsAh9S0S9pdsdHro1IixMbqQ9Gpo2sEZf25e3tZSq/ts6XsVmrQWmxmDhYA==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..d0d873182 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..705f7cbed --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,78 @@ +## About + + + +JSON configuration provider implementation for [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/). This package enables you to read your application's settings from a JSON file. You can use [JsonConfigurationExtensions.AddJsonFile](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.jsonconfigurationextensions.addjsonfile) extension method on `IConfigurationBuilder` to add the JSON configuration provider to the configuration builder. + +## How to Use + + + +The following example shows how to read application settings from the JSON configuration file. + +```cs +using System; +using Microsoft.Extensions.Configuration; + +class Program +{ + static void Main() + { + // Build a configuration object from JSON file + IConfiguration config = new ConfigurationBuilder() + .AddJsonFile("appsettings.json") + .Build(); + + // Get a configuration section + IConfigurationSection section = config.GetSection("Settings"); + + // Read simple values + Console.WriteLine($"Server: {section["Server"]}"); + Console.WriteLine($"Database: {section["Database"]}"); + + // Read a collection + Console.WriteLine("Ports: "); + IConfigurationSection ports = section.GetSection("Ports"); + + foreach (IConfigurationSection child in ports.GetChildren()) + { + Console.WriteLine(child.Value); + } + } +} +``` + +To run this example, include an `appsettings.json` file with the following content in your project: + +```json +{ + "Settings": { + "Server": "example.com", + "Database": "Northwind", + "Ports": [ 80, 81 ] + } +} +``` + +You can include a configuration file using a code like this in your `.csproj` file: + +```xml + + + Always + + +``` + +## Additional Documentation + + + +* [JSON configuration provider](https://learn.microsoft.com/dotnet/core/extensions/configuration-providers#json-configuration-provider) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.json) + +## Feedback & Contributing + + + +Microsoft.Extensions.Configuration.Json is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.Json.targets b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.Json.targets new file mode 100644 index 000000000..bb6543b59 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.Json.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Json.targets b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Json.targets new file mode 100644 index 000000000..8d9d7c94f --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Json.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.xml b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.xml new file mode 100644 index 000000000..377443b2a --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.Json.xml @@ -0,0 +1,327 @@ + + + + Microsoft.Extensions.Configuration.Json + + + + + Extension methods for adding . + + + + + Adds the JSON configuration provider at to . + + The to add to. + Path relative to the base path stored in + of . + The . + + + + Adds the JSON configuration provider at to . + + The to add to. + Path relative to the base path stored in + of . + Whether the file is optional. + The . + + + + Adds the JSON configuration provider at to . + + The to add to. + Path relative to the base path stored in + of . + Whether the file is optional. + Whether the configuration should be reloaded if the file changes. + The . + + + + Adds a JSON configuration source to . + + The to add to. + The to use to access the file. + Path relative to the base path stored in + of . + Whether the file is optional. + Whether the configuration should be reloaded if the file changes. + The . + + + + Adds a JSON configuration source to . + + The to add to. + Configures the source. + The . + + + + Adds a JSON configuration source to . + + The to add to. + The to read the json configuration data from. + The . + + + + Provides configuration key-value pairs that are obtained from a JSON file. + + + + + Initializes a new instance with the specified source. + + The source settings. + + + + Loads the JSON data from a stream. + + The stream to read. + + + + Represents a JSON file as an . + + + + + Builds the for this source. + + The . + A instance. + + + + Provides configuration key-value pairs that are obtained from a JSON stream. + + + + + Initializes a new instance of the class. + + The . + + + + Loads JSON configuration key-value pairs from a stream into a provider. + + The JSON to load configuration data from. + + + + Represents a JSON file as an . + + + + + Builds the for this source. + + The . + An + + + File path must be a non-empty string. + + + Top-level JSON element must be an object. Instead, '{0}' was found. + + + Could not parse the JSON file. + + + A duplicate key '{0}' was found. + + + Unsupported JSON token '{0}' was found. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.xml b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.xml new file mode 100644 index 000000000..a20af634d --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.xml @@ -0,0 +1,263 @@ + + + + Microsoft.Extensions.Configuration.Json + + + + + Extension methods for adding . + + + + + Adds the JSON configuration provider at to . + + The to add to. + Path relative to the base path stored in + of . + The . + + + + Adds the JSON configuration provider at to . + + The to add to. + Path relative to the base path stored in + of . + Whether the file is optional. + The . + + + + Adds the JSON configuration provider at to . + + The to add to. + Path relative to the base path stored in + of . + Whether the file is optional. + Whether the configuration should be reloaded if the file changes. + The . + + + + Adds a JSON configuration source to . + + The to add to. + The to use to access the file. + Path relative to the base path stored in + of . + Whether the file is optional. + Whether the configuration should be reloaded if the file changes. + The . + + + + Adds a JSON configuration source to . + + The to add to. + Configures the source. + The . + + + + Adds a JSON configuration source to . + + The to add to. + The to read the json configuration data from. + The . + + + + Provides configuration key-value pairs that are obtained from a JSON file. + + + + + Initializes a new instance with the specified source. + + The source settings. + + + + Loads the JSON data from a stream. + + The stream to read. + + + + Represents a JSON file as an . + + + + + Builds the for this source. + + The . + A instance. + + + + Provides configuration key-value pairs that are obtained from a JSON stream. + + + + + Initializes a new instance of the class. + + The . + + + + Loads JSON configuration key-value pairs from a stream into a provider. + + The JSON to load configuration data from. + + + + Represents a JSON file as an . + + + + + Builds the for this source. + + The . + An + + + File path must be a non-empty string. + + + Top-level JSON element must be an object. Instead, '{0}' was found. + + + Could not parse the JSON file. + + + A duplicate key '{0}' was found. + + + Unsupported JSON token '{0}' was found. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/3hrlg241.gtx b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.json.10.0.0-rc.2.25502.107.nupkg similarity index 100% rename from local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/3hrlg241.gtx rename to local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.json.10.0.0-rc.2.25502.107.nupkg diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.json.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.json.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..dc7374179 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.json.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +dS5d736NIlEVO5dUGKR448a9Q2Yy+ukthKbegW4GuEThuog5iIZN24LzO/bIZk5ZsMH2fvinAPUQ3rfuYrqlSQ== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.configuration.json/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..7e719abd2 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "rXyqWj+ew+E+mqMxKkQAUPCSOsUexTSHdbSaAOnEi4ODsNKvI8nsmFagt8GeFDJcAz57zuoq8qrGbCbgsC0uYg==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..e389eecec Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.UserSecrets.nuspec b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.UserSecrets.nuspec new file mode 100644 index 000000000..b774212da --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/Microsoft.Extensions.Configuration.UserSecrets.nuspec @@ -0,0 +1,50 @@ + + + + Microsoft.Extensions.Configuration.UserSecrets + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + User secrets configuration provider implementation for Microsoft.Extensions.Configuration. User secrets mechanism enables you to override application configuration settings with values stored in the local secrets file. You can use UserSecretsConfigurationExtensions.AddUserSecrets extension method on IConfigurationBuilder to add user secrets provider to the configuration builder. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..1fe9ee6c9 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,19 @@ +## About + + + +User secrets configuration provider implementation for [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/). User secrets mechanism enables you to override application configuration settings with values stored in the local secrets file. You can use [UserSecretsConfigurationExtensions.AddUserSecrets](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.usersecretsconfigurationextensions.addusersecrets) extension method on `IConfigurationBuilder` to add user secrets provider to the configuration builder. + +## Additional Documentation + + + +* [Configuration in .NET](https://learn.microsoft.com/dotnet/core/extensions/configuration) +* [Safe storage of app secrets in development in ASP.NET Core](https://learn.microsoft.com/aspnet/core/security/app-secrets) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.configuration.usersecrets) + +## Feedback & Contributing + + + +Microsoft.Extensions.Configuration.UserSecrets is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.UserSecrets.targets b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.UserSecrets.targets new file mode 100644 index 000000000..36dfaf2c2 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Configuration.UserSecrets.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net462/Microsoft.Extensions.Configuration.UserSecrets.props b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net462/Microsoft.Extensions.Configuration.UserSecrets.props new file mode 100644 index 000000000..4de70a599 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net462/Microsoft.Extensions.Configuration.UserSecrets.props @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net462/Microsoft.Extensions.Configuration.UserSecrets.targets b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net462/Microsoft.Extensions.Configuration.UserSecrets.targets new file mode 100644 index 000000000..4c9100129 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net462/Microsoft.Extensions.Configuration.UserSecrets.targets @@ -0,0 +1,13 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + true + + + + + <_Parameter1>$(UserSecretsId.Trim()) + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net8.0/Microsoft.Extensions.Configuration.UserSecrets.props b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net8.0/Microsoft.Extensions.Configuration.UserSecrets.props new file mode 100644 index 000000000..4de70a599 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net8.0/Microsoft.Extensions.Configuration.UserSecrets.props @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net8.0/Microsoft.Extensions.Configuration.UserSecrets.targets b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net8.0/Microsoft.Extensions.Configuration.UserSecrets.targets new file mode 100644 index 000000000..4c9100129 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/net8.0/Microsoft.Extensions.Configuration.UserSecrets.targets @@ -0,0 +1,13 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + true + + + + + <_Parameter1>$(UserSecretsId.Trim()) + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.UserSecrets.targets b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.UserSecrets.targets new file mode 100644 index 000000000..af6729493 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.UserSecrets.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.props b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.props new file mode 100644 index 000000000..4de70a599 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.props @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.targets b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.targets new file mode 100644 index 000000000..4c9100129 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/buildTransitive/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.targets @@ -0,0 +1,13 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + true + + + + + <_Parameter1>$(UserSecretsId.Trim()) + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.UserSecrets.xml b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.UserSecrets.xml new file mode 100644 index 000000000..a5e5c38b0 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Configuration.UserSecrets.xml @@ -0,0 +1,200 @@ + + + + Microsoft.Extensions.Configuration.UserSecrets + + + + + Provides paths for user secrets configuration files. + + + + + Returns the path to the JSON file that stores user secrets. + + The user secret ID. + The full path to the secret file. + + This method uses the current user profile to locate the secrets + file on disk in a location outside of source control. + + + + + + Returns the path to the JSON file that stores user secrets or throws exception if not found. + + + This uses the current user profile to locate the secrets file on disk in a location outside of source control. + + + The user secret ID. + specifies if an exception should be thrown when no root for user secrets is found + The full path to the secret file. + + + + Represents the user secrets ID. + + + In most cases, this attribute is automatically generated during compilation by MSBuild targets + included in the UserSecrets NuGet package. These targets use the MSBuild property 'UserSecretsId' + to set the value for . + + + + + Initializes an instance of . + + The user secrets ID. + + + + Gets the user secrets ID. + + + + + Provides configuration extensions for adding user secrets configuration source. + + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The type from the assembly to search for an instance of . + The assembly containing does not have . + The configuration builder. + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + Whether loading secrets is optional. When false, this method may throw. + is false and the assembly containing does not have a valid . + The type from the assembly to search for an instance of . + The configuration builder. + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + Whether loading secrets is optional. When false, this method may throw. + Whether the configuration should be reloaded if the file changes. + is and the assembly containing does not have a valid . + The type from the assembly to search for an instance of . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + Whether loading secrets is optional. When false, this method may throw. + is false and does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + Whether loading secrets is optional. When false, this method may throw. + Whether the configuration should be reloaded if the file changes. + is false and does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source with specified user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The user secrets ID. + The configuration builder. + + + + + Adds the user secrets configuration source with specified user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The user secrets ID. + Whether the configuration should be reloaded if the file changes. + The configuration builder. + + + Value cannot be null or an empty string. + + + Invalid character '{0}' found in the user secrets ID at index '{1}'. + + + Could not find 'UserSecretsIdAttribute' on assembly '{0}'. + Check that the project for '{0}' has set the 'UserSecretsId' build property. + If the 'UserSecretsId' property is already set then add a reference to the Microsoft.Extensions.Configuration.UserSecret ... + + + Could not determine an appropriate location for storing user secrets. Set the {0} environment variable to a folder where user secrets should be stored. + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.UserSecrets.xml b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.UserSecrets.xml new file mode 100644 index 000000000..4e11bb6c2 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Configuration.UserSecrets.xml @@ -0,0 +1,383 @@ + + + + Microsoft.Extensions.Configuration.UserSecrets + + + + + Provides paths for user secrets configuration files. + + + + + Returns the path to the JSON file that stores user secrets. + + The user secret ID. + The full path to the secret file. + + This method uses the current user profile to locate the secrets + file on disk in a location outside of source control. + + + + + + Returns the path to the JSON file that stores user secrets or throws exception if not found. + + + This uses the current user profile to locate the secrets file on disk in a location outside of source control. + + + The user secret ID. + specifies if an exception should be thrown when no root for user secrets is found + The full path to the secret file. + + + + Represents the user secrets ID. + + + In most cases, this attribute is automatically generated during compilation by MSBuild targets + included in the UserSecrets NuGet package. These targets use the MSBuild property 'UserSecretsId' + to set the value for . + + + + + Initializes an instance of . + + The user secrets ID. + + + + Gets the user secrets ID. + + + + + Provides configuration extensions for adding user secrets configuration source. + + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The type from the assembly to search for an instance of . + The assembly containing does not have . + The configuration builder. + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + Whether loading secrets is optional. When false, this method may throw. + is false and the assembly containing does not have a valid . + The type from the assembly to search for an instance of . + The configuration builder. + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + Whether loading secrets is optional. When false, this method may throw. + Whether the configuration should be reloaded if the file changes. + is and the assembly containing does not have a valid . + The type from the assembly to search for an instance of . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + Whether loading secrets is optional. When false, this method may throw. + is false and does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + Whether loading secrets is optional. When false, this method may throw. + Whether the configuration should be reloaded if the file changes. + is false and does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source with specified user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The user secrets ID. + The configuration builder. + + + + + Adds the user secrets configuration source with specified user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The user secrets ID. + Whether the configuration should be reloaded if the file changes. + The configuration builder. + + + Value cannot be null or an empty string. + + + Invalid character '{0}' found in the user secrets ID at index '{1}'. + + + Could not find 'UserSecretsIdAttribute' on assembly '{0}'. + Check that the project for '{0}' has set the 'UserSecretsId' build property. + If the 'UserSecretsId' property is already set then add a reference to the Microsoft.Extensions.Configuration.UserSecret ... + + + Could not determine an appropriate location for storing user secrets. Set the {0} environment variable to a folder where user secrets should be stored. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.xml b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.xml new file mode 100644 index 000000000..a5e5c38b0 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.xml @@ -0,0 +1,200 @@ + + + + Microsoft.Extensions.Configuration.UserSecrets + + + + + Provides paths for user secrets configuration files. + + + + + Returns the path to the JSON file that stores user secrets. + + The user secret ID. + The full path to the secret file. + + This method uses the current user profile to locate the secrets + file on disk in a location outside of source control. + + + + + + Returns the path to the JSON file that stores user secrets or throws exception if not found. + + + This uses the current user profile to locate the secrets file on disk in a location outside of source control. + + + The user secret ID. + specifies if an exception should be thrown when no root for user secrets is found + The full path to the secret file. + + + + Represents the user secrets ID. + + + In most cases, this attribute is automatically generated during compilation by MSBuild targets + included in the UserSecrets NuGet package. These targets use the MSBuild property 'UserSecretsId' + to set the value for . + + + + + Initializes an instance of . + + The user secrets ID. + + + + Gets the user secrets ID. + + + + + Provides configuration extensions for adding user secrets configuration source. + + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The type from the assembly to search for an instance of . + The assembly containing does not have . + The configuration builder. + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + Whether loading secrets is optional. When false, this method may throw. + is false and the assembly containing does not have a valid . + The type from the assembly to search for an instance of . + The configuration builder. + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + Whether loading secrets is optional. When false, this method may throw. + Whether the configuration should be reloaded if the file changes. + is and the assembly containing does not have a valid . + The type from the assembly to search for an instance of . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + Whether loading secrets is optional. When false, this method may throw. + is false and does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + Whether loading secrets is optional. When false, this method may throw. + Whether the configuration should be reloaded if the file changes. + is false and does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source with specified user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The user secrets ID. + The configuration builder. + + + + + Adds the user secrets configuration source with specified user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The user secrets ID. + Whether the configuration should be reloaded if the file changes. + The configuration builder. + + + Value cannot be null or an empty string. + + + Invalid character '{0}' found in the user secrets ID at index '{1}'. + + + Could not find 'UserSecretsIdAttribute' on assembly '{0}'. + Check that the project for '{0}' has set the 'UserSecretsId' build property. + If the 'UserSecretsId' property is already set then add a reference to the Microsoft.Extensions.Configuration.UserSecret ... + + + Could not determine an appropriate location for storing user secrets. Set the {0} environment variable to a folder where user secrets should be stored. + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.UserSecrets.xml b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.UserSecrets.xml new file mode 100644 index 000000000..a5e5c38b0 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Configuration.UserSecrets.xml @@ -0,0 +1,200 @@ + + + + Microsoft.Extensions.Configuration.UserSecrets + + + + + Provides paths for user secrets configuration files. + + + + + Returns the path to the JSON file that stores user secrets. + + The user secret ID. + The full path to the secret file. + + This method uses the current user profile to locate the secrets + file on disk in a location outside of source control. + + + + + + Returns the path to the JSON file that stores user secrets or throws exception if not found. + + + This uses the current user profile to locate the secrets file on disk in a location outside of source control. + + + The user secret ID. + specifies if an exception should be thrown when no root for user secrets is found + The full path to the secret file. + + + + Represents the user secrets ID. + + + In most cases, this attribute is automatically generated during compilation by MSBuild targets + included in the UserSecrets NuGet package. These targets use the MSBuild property 'UserSecretsId' + to set the value for . + + + + + Initializes an instance of . + + The user secrets ID. + + + + Gets the user secrets ID. + + + + + Provides configuration extensions for adding user secrets configuration source. + + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The type from the assembly to search for an instance of . + The assembly containing does not have . + The configuration builder. + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + Whether loading secrets is optional. When false, this method may throw. + is false and the assembly containing does not have a valid . + The type from the assembly to search for an instance of . + The configuration builder. + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + Whether loading secrets is optional. When false, this method may throw. + Whether the configuration should be reloaded if the file changes. + is and the assembly containing does not have a valid . + The type from the assembly to search for an instance of . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + Whether loading secrets is optional. When false, this method may throw. + is false and does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + Whether loading secrets is optional. When false, this method may throw. + Whether the configuration should be reloaded if the file changes. + is false and does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source with specified user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The user secrets ID. + The configuration builder. + + + + + Adds the user secrets configuration source with specified user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The user secrets ID. + Whether the configuration should be reloaded if the file changes. + The configuration builder. + + + Value cannot be null or an empty string. + + + Invalid character '{0}' found in the user secrets ID at index '{1}'. + + + Could not find 'UserSecretsIdAttribute' on assembly '{0}'. + Check that the project for '{0}' has set the 'UserSecretsId' build property. + If the 'UserSecretsId' property is already set then add a reference to the Microsoft.Extensions.Configuration.UserSecret ... + + + Could not determine an appropriate location for storing user secrets. Set the {0} environment variable to a folder where user secrets should be stored. + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.xml b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.xml new file mode 100644 index 000000000..4e11bb6c2 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Configuration.UserSecrets.xml @@ -0,0 +1,383 @@ + + + + Microsoft.Extensions.Configuration.UserSecrets + + + + + Provides paths for user secrets configuration files. + + + + + Returns the path to the JSON file that stores user secrets. + + The user secret ID. + The full path to the secret file. + + This method uses the current user profile to locate the secrets + file on disk in a location outside of source control. + + + + + + Returns the path to the JSON file that stores user secrets or throws exception if not found. + + + This uses the current user profile to locate the secrets file on disk in a location outside of source control. + + + The user secret ID. + specifies if an exception should be thrown when no root for user secrets is found + The full path to the secret file. + + + + Represents the user secrets ID. + + + In most cases, this attribute is automatically generated during compilation by MSBuild targets + included in the UserSecrets NuGet package. These targets use the MSBuild property 'UserSecretsId' + to set the value for . + + + + + Initializes an instance of . + + The user secrets ID. + + + + Gets the user secrets ID. + + + + + Provides configuration extensions for adding user secrets configuration source. + + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The type from the assembly to search for an instance of . + The assembly containing does not have . + The configuration builder. + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + Whether loading secrets is optional. When false, this method may throw. + is false and the assembly containing does not have a valid . + The type from the assembly to search for an instance of . + The configuration builder. + + + + + Adds the user secrets configuration source. Searches the assembly that contains type + for an instance of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + Whether loading secrets is optional. When false, this method may throw. + Whether the configuration should be reloaded if the file changes. + is and the assembly containing does not have a valid . + The type from the assembly to search for an instance of . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + Whether loading secrets is optional. When false, this method may throw. + is false and does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source. This searches for an instance + of , which specifies a user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The assembly with the . + Whether loading secrets is optional. When false, this method may throw. + Whether the configuration should be reloaded if the file changes. + is false and does not have a valid . + The configuration builder. + + + + + Adds the user secrets configuration source with specified user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The user secrets ID. + The configuration builder. + + + + + Adds the user secrets configuration source with specified user secrets ID. + + + A user secrets ID is unique value used to store and identify a collection of secret configuration values. + + + The configuration builder. + The user secrets ID. + Whether the configuration should be reloaded if the file changes. + The configuration builder. + + + Value cannot be null or an empty string. + + + Invalid character '{0}' found in the user secrets ID at index '{1}'. + + + Could not find 'UserSecretsIdAttribute' on assembly '{0}'. + Check that the project for '{0}' has set the 'UserSecretsId' build property. + If the 'UserSecretsId' property is already set then add a reference to the Microsoft.Extensions.Configuration.UserSecret ... + + + Could not determine an appropriate location for storing user secrets. Set the {0} environment variable to a folder where user secrets should be stored. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.usersecrets.10.0.0-rc.2.25502.107.nupkg b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.usersecrets.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..a80b39df4 Binary files /dev/null and b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.usersecrets.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.usersecrets.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.usersecrets.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..23fe38bc5 --- /dev/null +++ b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/microsoft.extensions.configuration.usersecrets.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +oaSFhnfEtLcbDw5ziRRGdUizJZqpjeFPjgMhucHaU/+StdpwJFVC/2Ek4FJTJUCTiyUo1defmGTYLyOTp25r+A== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.configuration.usersecrets/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..153a58d6d --- /dev/null +++ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "lMSe2AtG4/58En2r8Iz7zrIff/wevTDns7dCakivIrBU1gvlnuLiyYTiEalv0TMCVirg9CYIpSUcOuf58lpz8g==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..3f1d8ab81 Binary files /dev/null and b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/Microsoft.Extensions.DependencyModel.nuspec b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/Microsoft.Extensions.DependencyModel.nuspec new file mode 100644 index 000000000..f82ecb98a --- /dev/null +++ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/Microsoft.Extensions.DependencyModel.nuspec @@ -0,0 +1,46 @@ + + + + Microsoft.Extensions.DependencyModel + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Provides abstractions for reading `.deps` files. When a .NET application is compiled, the SDK generates a JSON manifest file (`<ApplicationName>.deps.json`) that contains information about application dependencies. You can use `Microsoft.Extensions.DependencyModel` to read information from this manifest at run time. This is useful when you want to dynamically compile code (for example, using Roslyn Emit API) referencing the same dependencies as your main application. + +By default, the dependency manifest contains information about the application's target framework and runtime dependencies. Set the PreserveCompilationContext project property to `true` to additionally include information about reference assemblies used during compilation. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..050207e31 --- /dev/null +++ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,49 @@ +## About + + + +Provides abstractions for reading `.deps` files. When a .NET application is compiled, the SDK generates a JSON manifest file (`.deps.json`) that contains information about application dependencies. You can use `Microsoft.Extensions.DependencyModel` to read information from this manifest at run time. This is useful when you want to dynamically compile code (for example, using Roslyn Emit API) referencing the same dependencies as your main application. + +By default, the dependency manifest contains information about the application's target framework and runtime dependencies. Set the [PreserveCompilationContext](https://learn.microsoft.com/dotnet/core/project-sdk/msbuild-props#preservecompilationcontext) project property to `true` to additionally include information about reference assemblies used during compilation. + +## How to Use + + + +The following example shows how to display the list of assemblies used when compiling the current application. Include `true` in your project file to run this example. + +```cs +using System; +using Microsoft.Extensions.DependencyModel; + +class Program +{ + static void Main() + { + Console.WriteLine("Compilation libraries:"); + Console.WriteLine(); + + foreach (CompilationLibrary lib in DependencyContext.Default.CompileLibraries) + { + foreach (string path in lib.ResolveReferencePaths()) + { + Console.WriteLine(path); + } + } + } +} +``` + +## Additional Documentation + + + +* [.deps.json file format](https://github.com/dotnet/sdk/blob/main/documentation/specs/runtime-configuration-file.md#appnamedepsjson) +* [Microsoft.Extensions.DependencyModel namespace](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencymodel) +* [Microsoft.Extensions.DependencyModel.DependencyContext](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencymodel.dependencycontext) + +## Feedback & Contributing + + + +Microsoft.Extensions.DependencyModel is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.DependencyModel.targets b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.DependencyModel.targets new file mode 100644 index 000000000..15db89be8 --- /dev/null +++ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.DependencyModel.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyModel.targets b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyModel.targets new file mode 100644 index 000000000..292ae4ba8 --- /dev/null +++ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyModel.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.DependencyModel.xml b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.DependencyModel.xml new file mode 100644 index 000000000..41f7bafae --- /dev/null +++ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.DependencyModel.xml @@ -0,0 +1,515 @@ + + + + Microsoft.Extensions.DependencyModel + + + + + + + + + + + + + + + + + + + + + Represents a compile time library dependency in a dependency manifest. + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + or is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's assemblies. + The library's dependencies. + Whether the library is serviceable. + + , or , or is or an empty string. + + or is . + + + Gets the collection of absolute reference paths for this library. + + Library location is not found. + The collection of absolute reference paths for this library. + + + Gets the collection of absolute reference paths for this library using specified custom resolvers. + The array of custom assembly resolvers. + + Library location is not found. + The collection of absolute reference paths for this library. + + + Gets the list of assemblies for this library. + The list of assemblies for this library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + Provides information about application dependencies. + + + Initializes a new instance of the class. + Target runtime information. + Compilation options. + Compilation libraries. + Runtime libraries. + Runtime identifiers graph. + + + Loads the dependency context for the specified assembly. + The assembly to load dependency context for. + The dependency context for the specified assembly, or null when dependency context is not available. + + + Merges the current dependency context with the specifed one. + The dependency context to merge. + The dependency context that results from merging dependencies of the current context with the specified one. + + + Gets the compilation options used to compile the application. + The compilation options used to compile the application. + + + Gets the list of libraries used to compile the application. + The list of libraries used to compile the application. + + + Gets the dependency context for the current application. + The dependency context for the current application. + + + Gets a runtime identifiers graph. + A runtime identifiers graph. + + + Gets the list of libraries used by the application at run time. + The list of libraries used by the application at run time. + + + Gets information about the application's target runtime. + The application's target runtime information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + + + + + + + + + + + + + + + + + + + + + Represents a library dependency in a dependency manifest. + + + Initializes a new instance of the class using the specified library properties, path and runtime store manifest. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + The library's runtime store manifest name. + + , or , or is or an empty string. + + is . + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + + + Gets the list of dependencies of this library. + The list of dependencies of this library. + + + Gets the hash of the package, if this library is a package. + The hash of the package, if this library is a package. + + + Gets the relative path to the library package hash file, if this library is a package. + The relative path to the library package hash file, if this library is a package. + + + Gets the library name. + The library name. + + + Gets the relative path to package assets, if this library is a package. + The relative path to package assets, if this library is a package. + + + + Gets a value that indicates whether this library can be serviced, if this library is a package. + + true if this library can be serviced; otherwise, false + + + Gets the type of this library. + The type of this library. + + + Gets the version of this library. + The version of this library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a list of asset paths provided in this runtime group. + A read-only list of strings that represent the asset paths. + + + The runtime ID associated with this group (may be empty if the group is runtime-agnostic). + A string that represents the runtime ID. + + + Gets a list of runtime files provided in this runtime group. + A read-only list of runtime file instances. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a runtime library dependency in a dependency manifest. + + + Initializes a new . + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + The library's runtime store manifest name. + + , or , or , or , or , or or is . + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + , or , or , or is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + + , or , or is or an empty string. + + , or , or , or is . + + + Gets the list of native library groups for this library. + The list of native library groups for this library. + + + Gets the list of resource assemblies for this library. + The list of resource assemblies for this library. + + + Gets the list of runtime assembly groups for this library. + The list of runtime assembly groups for this library. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.DependencyModel.xml b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.DependencyModel.xml new file mode 100644 index 000000000..41f7bafae --- /dev/null +++ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.DependencyModel.xml @@ -0,0 +1,515 @@ + + + + Microsoft.Extensions.DependencyModel + + + + + + + + + + + + + + + + + + + + + Represents a compile time library dependency in a dependency manifest. + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + or is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's assemblies. + The library's dependencies. + Whether the library is serviceable. + + , or , or is or an empty string. + + or is . + + + Gets the collection of absolute reference paths for this library. + + Library location is not found. + The collection of absolute reference paths for this library. + + + Gets the collection of absolute reference paths for this library using specified custom resolvers. + The array of custom assembly resolvers. + + Library location is not found. + The collection of absolute reference paths for this library. + + + Gets the list of assemblies for this library. + The list of assemblies for this library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + Provides information about application dependencies. + + + Initializes a new instance of the class. + Target runtime information. + Compilation options. + Compilation libraries. + Runtime libraries. + Runtime identifiers graph. + + + Loads the dependency context for the specified assembly. + The assembly to load dependency context for. + The dependency context for the specified assembly, or null when dependency context is not available. + + + Merges the current dependency context with the specifed one. + The dependency context to merge. + The dependency context that results from merging dependencies of the current context with the specified one. + + + Gets the compilation options used to compile the application. + The compilation options used to compile the application. + + + Gets the list of libraries used to compile the application. + The list of libraries used to compile the application. + + + Gets the dependency context for the current application. + The dependency context for the current application. + + + Gets a runtime identifiers graph. + A runtime identifiers graph. + + + Gets the list of libraries used by the application at run time. + The list of libraries used by the application at run time. + + + Gets information about the application's target runtime. + The application's target runtime information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + + + + + + + + + + + + + + + + + + + + + Represents a library dependency in a dependency manifest. + + + Initializes a new instance of the class using the specified library properties, path and runtime store manifest. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + The library's runtime store manifest name. + + , or , or is or an empty string. + + is . + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + + + Gets the list of dependencies of this library. + The list of dependencies of this library. + + + Gets the hash of the package, if this library is a package. + The hash of the package, if this library is a package. + + + Gets the relative path to the library package hash file, if this library is a package. + The relative path to the library package hash file, if this library is a package. + + + Gets the library name. + The library name. + + + Gets the relative path to package assets, if this library is a package. + The relative path to package assets, if this library is a package. + + + + Gets a value that indicates whether this library can be serviced, if this library is a package. + + true if this library can be serviced; otherwise, false + + + Gets the type of this library. + The type of this library. + + + Gets the version of this library. + The version of this library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a list of asset paths provided in this runtime group. + A read-only list of strings that represent the asset paths. + + + The runtime ID associated with this group (may be empty if the group is runtime-agnostic). + A string that represents the runtime ID. + + + Gets a list of runtime files provided in this runtime group. + A read-only list of runtime file instances. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a runtime library dependency in a dependency manifest. + + + Initializes a new . + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + The library's runtime store manifest name. + + , or , or , or , or , or or is . + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + , or , or , or is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + + , or , or is or an empty string. + + , or , or , or is . + + + Gets the list of native library groups for this library. + The list of native library groups for this library. + + + Gets the list of resource assemblies for this library. + The list of resource assemblies for this library. + + + Gets the list of runtime assembly groups for this library. + The list of runtime assembly groups for this library. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.DependencyModel.xml b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.DependencyModel.xml new file mode 100644 index 000000000..41f7bafae --- /dev/null +++ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.DependencyModel.xml @@ -0,0 +1,515 @@ + + + + Microsoft.Extensions.DependencyModel + + + + + + + + + + + + + + + + + + + + + Represents a compile time library dependency in a dependency manifest. + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + or is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's assemblies. + The library's dependencies. + Whether the library is serviceable. + + , or , or is or an empty string. + + or is . + + + Gets the collection of absolute reference paths for this library. + + Library location is not found. + The collection of absolute reference paths for this library. + + + Gets the collection of absolute reference paths for this library using specified custom resolvers. + The array of custom assembly resolvers. + + Library location is not found. + The collection of absolute reference paths for this library. + + + Gets the list of assemblies for this library. + The list of assemblies for this library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + Provides information about application dependencies. + + + Initializes a new instance of the class. + Target runtime information. + Compilation options. + Compilation libraries. + Runtime libraries. + Runtime identifiers graph. + + + Loads the dependency context for the specified assembly. + The assembly to load dependency context for. + The dependency context for the specified assembly, or null when dependency context is not available. + + + Merges the current dependency context with the specifed one. + The dependency context to merge. + The dependency context that results from merging dependencies of the current context with the specified one. + + + Gets the compilation options used to compile the application. + The compilation options used to compile the application. + + + Gets the list of libraries used to compile the application. + The list of libraries used to compile the application. + + + Gets the dependency context for the current application. + The dependency context for the current application. + + + Gets a runtime identifiers graph. + A runtime identifiers graph. + + + Gets the list of libraries used by the application at run time. + The list of libraries used by the application at run time. + + + Gets information about the application's target runtime. + The application's target runtime information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + + + + + + + + + + + + + + + + + + + + + Represents a library dependency in a dependency manifest. + + + Initializes a new instance of the class using the specified library properties, path and runtime store manifest. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + The library's runtime store manifest name. + + , or , or is or an empty string. + + is . + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + + + Gets the list of dependencies of this library. + The list of dependencies of this library. + + + Gets the hash of the package, if this library is a package. + The hash of the package, if this library is a package. + + + Gets the relative path to the library package hash file, if this library is a package. + The relative path to the library package hash file, if this library is a package. + + + Gets the library name. + The library name. + + + Gets the relative path to package assets, if this library is a package. + The relative path to package assets, if this library is a package. + + + + Gets a value that indicates whether this library can be serviced, if this library is a package. + + true if this library can be serviced; otherwise, false + + + Gets the type of this library. + The type of this library. + + + Gets the version of this library. + The version of this library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a list of asset paths provided in this runtime group. + A read-only list of strings that represent the asset paths. + + + The runtime ID associated with this group (may be empty if the group is runtime-agnostic). + A string that represents the runtime ID. + + + Gets a list of runtime files provided in this runtime group. + A read-only list of runtime file instances. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a runtime library dependency in a dependency manifest. + + + Initializes a new . + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + The library's runtime store manifest name. + + , or , or , or , or , or or is . + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + , or , or , or is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + + , or , or is or an empty string. + + , or , or , or is . + + + Gets the list of native library groups for this library. + The list of native library groups for this library. + + + Gets the list of resource assemblies for this library. + The list of resource assemblies for this library. + + + Gets the list of runtime assembly groups for this library. + The list of runtime assembly groups for this library. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.DependencyModel.xml b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.DependencyModel.xml new file mode 100644 index 000000000..41f7bafae --- /dev/null +++ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.DependencyModel.xml @@ -0,0 +1,515 @@ + + + + Microsoft.Extensions.DependencyModel + + + + + + + + + + + + + + + + + + + + + Represents a compile time library dependency in a dependency manifest. + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + or is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's assemblies. + The library's dependencies. + Whether the library is serviceable. + + , or , or is or an empty string. + + or is . + + + Gets the collection of absolute reference paths for this library. + + Library location is not found. + The collection of absolute reference paths for this library. + + + Gets the collection of absolute reference paths for this library using specified custom resolvers. + The array of custom assembly resolvers. + + Library location is not found. + The collection of absolute reference paths for this library. + + + Gets the list of assemblies for this library. + The list of assemblies for this library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + Provides information about application dependencies. + + + Initializes a new instance of the class. + Target runtime information. + Compilation options. + Compilation libraries. + Runtime libraries. + Runtime identifiers graph. + + + Loads the dependency context for the specified assembly. + The assembly to load dependency context for. + The dependency context for the specified assembly, or null when dependency context is not available. + + + Merges the current dependency context with the specifed one. + The dependency context to merge. + The dependency context that results from merging dependencies of the current context with the specified one. + + + Gets the compilation options used to compile the application. + The compilation options used to compile the application. + + + Gets the list of libraries used to compile the application. + The list of libraries used to compile the application. + + + Gets the dependency context for the current application. + The dependency context for the current application. + + + Gets a runtime identifiers graph. + A runtime identifiers graph. + + + Gets the list of libraries used by the application at run time. + The list of libraries used by the application at run time. + + + Gets information about the application's target runtime. + The application's target runtime information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + + + + + + + + + + + + + + + + + + + + + Represents a library dependency in a dependency manifest. + + + Initializes a new instance of the class using the specified library properties, path and runtime store manifest. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + The library's runtime store manifest name. + + , or , or is or an empty string. + + is . + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + + + Gets the list of dependencies of this library. + The list of dependencies of this library. + + + Gets the hash of the package, if this library is a package. + The hash of the package, if this library is a package. + + + Gets the relative path to the library package hash file, if this library is a package. + The relative path to the library package hash file, if this library is a package. + + + Gets the library name. + The library name. + + + Gets the relative path to package assets, if this library is a package. + The relative path to package assets, if this library is a package. + + + + Gets a value that indicates whether this library can be serviced, if this library is a package. + + true if this library can be serviced; otherwise, false + + + Gets the type of this library. + The type of this library. + + + Gets the version of this library. + The version of this library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a list of asset paths provided in this runtime group. + A read-only list of strings that represent the asset paths. + + + The runtime ID associated with this group (may be empty if the group is runtime-agnostic). + A string that represents the runtime ID. + + + Gets a list of runtime files provided in this runtime group. + A read-only list of runtime file instances. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a runtime library dependency in a dependency manifest. + + + Initializes a new . + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + The library's runtime store manifest name. + + , or , or , or , or , or or is . + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + , or , or , or is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + + , or , or is or an empty string. + + , or , or , or is . + + + Gets the list of native library groups for this library. + The list of native library groups for this library. + + + Gets the list of resource assemblies for this library. + The list of resource assemblies for this library. + + + Gets the list of runtime assembly groups for this library. + The list of runtime assembly groups for this library. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml new file mode 100644 index 000000000..41f7bafae --- /dev/null +++ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml @@ -0,0 +1,515 @@ + + + + Microsoft.Extensions.DependencyModel + + + + + + + + + + + + + + + + + + + + + Represents a compile time library dependency in a dependency manifest. + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + or is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's assemblies. + The library's dependencies. + Whether the library is serviceable. + + , or , or is or an empty string. + + or is . + + + Gets the collection of absolute reference paths for this library. + + Library location is not found. + The collection of absolute reference paths for this library. + + + Gets the collection of absolute reference paths for this library using specified custom resolvers. + The array of custom assembly resolvers. + + Library location is not found. + The collection of absolute reference paths for this library. + + + Gets the list of assemblies for this library. + The list of assemblies for this library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + if the current object is equal to the parameter; otherwise, . + + + + + + + + + Provides information about application dependencies. + + + Initializes a new instance of the class. + Target runtime information. + Compilation options. + Compilation libraries. + Runtime libraries. + Runtime identifiers graph. + + + Loads the dependency context for the specified assembly. + The assembly to load dependency context for. + The dependency context for the specified assembly, or null when dependency context is not available. + + + Merges the current dependency context with the specifed one. + The dependency context to merge. + The dependency context that results from merging dependencies of the current context with the specified one. + + + Gets the compilation options used to compile the application. + The compilation options used to compile the application. + + + Gets the list of libraries used to compile the application. + The list of libraries used to compile the application. + + + Gets the dependency context for the current application. + The dependency context for the current application. + + + Gets a runtime identifiers graph. + A runtime identifiers graph. + + + Gets the list of libraries used by the application at run time. + The list of libraries used by the application at run time. + + + Gets information about the application's target runtime. + The application's target runtime information. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + + + + + + + + + + + + + + + + + + + + + Represents a library dependency in a dependency manifest. + + + Initializes a new instance of the class using the specified library properties, path and runtime store manifest. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + The library's runtime store manifest name. + + , or , or is or an empty string. + + is . + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's dependencies. + Whether the library is serviceable. + + + Gets the list of dependencies of this library. + The list of dependencies of this library. + + + Gets the hash of the package, if this library is a package. + The hash of the package, if this library is a package. + + + Gets the relative path to the library package hash file, if this library is a package. + The relative path to the library package hash file, if this library is a package. + + + Gets the library name. + The library name. + + + Gets the relative path to package assets, if this library is a package. + The relative path to package assets, if this library is a package. + + + + Gets a value that indicates whether this library can be serviced, if this library is a package. + + true if this library can be serviced; otherwise, false + + + Gets the type of this library. + The type of this library. + + + Gets the version of this library. + The version of this library. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets a list of asset paths provided in this runtime group. + A read-only list of strings that represent the asset paths. + + + The runtime ID associated with this group (may be empty if the group is runtime-agnostic). + A string that represents the runtime ID. + + + Gets a list of runtime files provided in this runtime group. + A read-only list of runtime file instances. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a runtime library dependency in a dependency manifest. + + + Initializes a new . + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + The library's runtime store manifest name. + + , or , or , or , or , or or is . + + + Initializes a new instance of the class using the specified library properties and path. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + The library package's path. + The library package's hash path. + + , or , or is or an empty string. + + , or , or , or is . + + + Initializes a new instance of the class using the specified library properties. + The library's type. + The library's name. + The library's version. + The library package's hash. + The library's runtime assemblies. + The library's native libraries. + The library's resource assemblies. + The library's dependencies. + Whether the library is serviceable. + + , or , or is or an empty string. + + , or , or , or is . + + + Gets the list of native library groups for this library. + The list of native library groups for this library. + + + Gets the list of resource assemblies for this library. + The list of resource assemblies for this library. + + + Gets the list of runtime assembly groups for this library. + The list of runtime assembly groups for this library. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/microsoft.extensions.dependencymodel.10.0.0-rc.2.25502.107.nupkg b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/microsoft.extensions.dependencymodel.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..b21532115 Binary files /dev/null and b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/microsoft.extensions.dependencymodel.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/microsoft.extensions.dependencymodel.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/microsoft.extensions.dependencymodel.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..df2b17fb6 --- /dev/null +++ b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/microsoft.extensions.dependencymodel.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +265Z+TaI4SWea0xAU+iJt83nJh6GnR8VNC3wl8z3i/Oxoso34MJPpBWr5DrZiGHDEqr3JCsaou33dTrdU72urw== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.dependencymodel/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/.nupkg.metadata b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/.nupkg.metadata new file mode 100644 index 000000000..cb0739af0 --- /dev/null +++ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/.signature.p7s b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/.signature.p7s new file mode 100644 index 000000000..4098fdccc Binary files /dev/null and b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/Icon.png b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/Icon.png new file mode 100644 index 000000000..a0f1fdbf4 Binary files /dev/null and b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/Icon.png differ diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/LICENSE.TXT b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/LICENSE.TXT new file mode 100644 index 000000000..984713a49 --- /dev/null +++ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/Microsoft.Extensions.Diagnostics.Abstractions.nuspec b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/Microsoft.Extensions.Diagnostics.Abstractions.nuspec new file mode 100644 index 000000000..14e6cac00 --- /dev/null +++ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/Microsoft.Extensions.Diagnostics.Abstractions.nuspec @@ -0,0 +1,56 @@ + + + + Microsoft.Extensions.Diagnostics.Abstractions + 8.0.0 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + https://dot.net/ + Diagnostic abstractions for Microsoft.Extensions.Diagnostics. + +Commonly Used Types: +Microsoft.Extensions.Diagnostics.Metrics.IMetricsBuilder +Microsoft.Extensions.Diagnostics.Metrics.IMetricsListener +Microsoft.Extensions.Diagnostics.Metrics.InstrumentRule +Microsoft.Extensions.Diagnostics.Metrics.MeterScope +Microsoft.Extensions.Diagnostics.Metrics.MetricsBuilderExtensions +Microsoft.Extensions.Diagnostics.Metrics.MetricsOptions + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..4b40333f7 --- /dev/null +++ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1272 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2022 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +https://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.13, October 13th, 2022 + + Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure (Legacy License) +-------------------------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for The LLVM Project +----------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/buildTransitive/net461/Microsoft.Extensions.Diagnostics.Abstractions.targets b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/buildTransitive/net461/Microsoft.Extensions.Diagnostics.Abstractions.targets new file mode 100644 index 000000000..49a1d849e --- /dev/null +++ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/buildTransitive/net461/Microsoft.Extensions.Diagnostics.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/buildTransitive/net6.0/_._ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/buildTransitive/net6.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Diagnostics.Abstractions.targets b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Diagnostics.Abstractions.targets new file mode 100644 index 000000000..7deb2c4e5 --- /dev/null +++ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Diagnostics.Abstractions.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/net462/Microsoft.Extensions.Diagnostics.Abstractions.xml b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/net462/Microsoft.Extensions.Diagnostics.Abstractions.xml new file mode 100644 index 000000000..9e772b2a4 --- /dev/null +++ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/net462/Microsoft.Extensions.Diagnostics.Abstractions.xml @@ -0,0 +1,641 @@ + + + + Microsoft.Extensions.Diagnostics.Abstractions + + + + + Represents a type used to configure the metrics system by registering IMetricsListeners and using rules + to determine which metrics are enabled. + + + + + The application . This is used by extension methods to register services. + + + + + Represents a type used to listen to metrics emitted from the system. + + + + + The name of the listener. This is used to identify the listener in the rules configuration. + + + + + Called once by the runtime to provide a used to pull for fresh metrics data. + + A that can be called to request current metrics. + + + + Called when a new instrument is created and enabled by a matching rule. + + The new . + Listener state associated with this instrument. This will be returned to + and . + Returns true if the listener wants to subscribe to this instrument, otherwise false. + + + + Called when a instrument is disabled by the producer or a rules change. + + The being disabled. + The original listener state returned by . + + + + Called once to get the that will be used to process measurements. + + The . + + + + A set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See . + - InstrumentName, an exact match. . + - ListenerName, an exact match. . + - Scopes + + The or prefix. + The . + The . + The 's to consider. + Enables or disabled the matched instrument for this listener. + + + + A set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See . + - InstrumentName, an exact match. . + - ListenerName, an exact match. . + - Scopes + + The or prefix. + The . + The . + The 's to consider. + Enables or disabled the matched instrument for this listener. + + + + The , either an exact match or the longest prefix match. Only full segment matches are considered. + All meters are matched if this is null. + + + + + The , an exact match. + All instruments for the given meter are matched if this is null. + + + + + The , an exact match. + All listeners are matched if this is null. + + + + + The . This is used to distinguish between meters created via constructors () + and those created via Dependency Injection with ()."/>. + + + + + Indicates if the instrument should be enabled for the listener. + + + + + An interface registered with each IMetricsListener using . The listener + can call to receive the current set of measurements for enabled observable instruments. + + + + + Requests that the current set of metrics for enabled instruments be sent to the listener's 's. + + + + + A set of supported measurement types. If a listener does not support a given type, the measurement will be skipped. + + + + + A for . If null, byte measurements will be skipped. + + + + + A for . If null, short measurements will be skipped. + + + + + A for . If null, int measurements will be skipped. + + + + + A for . If null, long measurements will be skipped. + + + + + A for . If null, float measurements will be skipped. + + + + + A for . If null, double measurements will be skipped. + + + + + A for . If null, decimal measurements will be skipped. + + + + + This is used by to distinguish between meters created via constructors () + and those created via Dependency Injection with ()."/>. + + + + + No scope is specified. This should not be used. + + + + + Indicates instances created via constructors. + + + + + Indicates instances created via Dependency Injection with . + + + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + + + Registers a new of type . + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Registers a new instance. + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Removes all registrations from the dependency injection container. + + The . + Returns the original for chaining. + + + + Enables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Enables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Disables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Disables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Options for configuring the metrics system. + + + + + A list of 's that identify which metrics, instruments, and listeners are enabled. + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all members. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/net6.0/Microsoft.Extensions.Diagnostics.Abstractions.xml b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/net6.0/Microsoft.Extensions.Diagnostics.Abstractions.xml new file mode 100644 index 000000000..75eadc534 --- /dev/null +++ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/net6.0/Microsoft.Extensions.Diagnostics.Abstractions.xml @@ -0,0 +1,407 @@ + + + + Microsoft.Extensions.Diagnostics.Abstractions + + + + + Represents a type used to configure the metrics system by registering IMetricsListeners and using rules + to determine which metrics are enabled. + + + + + The application . This is used by extension methods to register services. + + + + + Represents a type used to listen to metrics emitted from the system. + + + + + The name of the listener. This is used to identify the listener in the rules configuration. + + + + + Called once by the runtime to provide a used to pull for fresh metrics data. + + A that can be called to request current metrics. + + + + Called when a new instrument is created and enabled by a matching rule. + + The new . + Listener state associated with this instrument. This will be returned to + and . + Returns true if the listener wants to subscribe to this instrument, otherwise false. + + + + Called when a instrument is disabled by the producer or a rules change. + + The being disabled. + The original listener state returned by . + + + + Called once to get the that will be used to process measurements. + + The . + + + + A set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See . + - InstrumentName, an exact match. . + - ListenerName, an exact match. . + - Scopes + + The or prefix. + The . + The . + The 's to consider. + Enables or disabled the matched instrument for this listener. + + + + A set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See . + - InstrumentName, an exact match. . + - ListenerName, an exact match. . + - Scopes + + The or prefix. + The . + The . + The 's to consider. + Enables or disabled the matched instrument for this listener. + + + + The , either an exact match or the longest prefix match. Only full segment matches are considered. + All meters are matched if this is null. + + + + + The , an exact match. + All instruments for the given meter are matched if this is null. + + + + + The , an exact match. + All listeners are matched if this is null. + + + + + The . This is used to distinguish between meters created via constructors () + and those created via Dependency Injection with ()."/>. + + + + + Indicates if the instrument should be enabled for the listener. + + + + + An interface registered with each IMetricsListener using . The listener + can call to receive the current set of measurements for enabled observable instruments. + + + + + Requests that the current set of metrics for enabled instruments be sent to the listener's 's. + + + + + A set of supported measurement types. If a listener does not support a given type, the measurement will be skipped. + + + + + A for . If null, byte measurements will be skipped. + + + + + A for . If null, short measurements will be skipped. + + + + + A for . If null, int measurements will be skipped. + + + + + A for . If null, long measurements will be skipped. + + + + + A for . If null, float measurements will be skipped. + + + + + A for . If null, double measurements will be skipped. + + + + + A for . If null, decimal measurements will be skipped. + + + + + This is used by to distinguish between meters created via constructors () + and those created via Dependency Injection with ()."/>. + + + + + No scope is specified. This should not be used. + + + + + Indicates instances created via constructors. + + + + + Indicates instances created via Dependency Injection with . + + + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + + + Registers a new of type . + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Registers a new instance. + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Removes all registrations from the dependency injection container. + + The . + Returns the original for chaining. + + + + Enables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Enables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Disables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Disables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Options for configuring the metrics system. + + + + + A list of 's that identify which metrics, instruments, and listeners are enabled. + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/net7.0/Microsoft.Extensions.Diagnostics.Abstractions.xml b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/net7.0/Microsoft.Extensions.Diagnostics.Abstractions.xml new file mode 100644 index 000000000..ab42ee6b9 --- /dev/null +++ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/net7.0/Microsoft.Extensions.Diagnostics.Abstractions.xml @@ -0,0 +1,336 @@ + + + + Microsoft.Extensions.Diagnostics.Abstractions + + + + + Represents a type used to configure the metrics system by registering IMetricsListeners and using rules + to determine which metrics are enabled. + + + + + The application . This is used by extension methods to register services. + + + + + Represents a type used to listen to metrics emitted from the system. + + + + + The name of the listener. This is used to identify the listener in the rules configuration. + + + + + Called once by the runtime to provide a used to pull for fresh metrics data. + + A that can be called to request current metrics. + + + + Called when a new instrument is created and enabled by a matching rule. + + The new . + Listener state associated with this instrument. This will be returned to + and . + Returns true if the listener wants to subscribe to this instrument, otherwise false. + + + + Called when a instrument is disabled by the producer or a rules change. + + The being disabled. + The original listener state returned by . + + + + Called once to get the that will be used to process measurements. + + The . + + + + A set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See . + - InstrumentName, an exact match. . + - ListenerName, an exact match. . + - Scopes + + The or prefix. + The . + The . + The 's to consider. + Enables or disabled the matched instrument for this listener. + + + + A set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See . + - InstrumentName, an exact match. . + - ListenerName, an exact match. . + - Scopes + + The or prefix. + The . + The . + The 's to consider. + Enables or disabled the matched instrument for this listener. + + + + The , either an exact match or the longest prefix match. Only full segment matches are considered. + All meters are matched if this is null. + + + + + The , an exact match. + All instruments for the given meter are matched if this is null. + + + + + The , an exact match. + All listeners are matched if this is null. + + + + + The . This is used to distinguish between meters created via constructors () + and those created via Dependency Injection with ()."/>. + + + + + Indicates if the instrument should be enabled for the listener. + + + + + An interface registered with each IMetricsListener using . The listener + can call to receive the current set of measurements for enabled observable instruments. + + + + + Requests that the current set of metrics for enabled instruments be sent to the listener's 's. + + + + + A set of supported measurement types. If a listener does not support a given type, the measurement will be skipped. + + + + + A for . If null, byte measurements will be skipped. + + + + + A for . If null, short measurements will be skipped. + + + + + A for . If null, int measurements will be skipped. + + + + + A for . If null, long measurements will be skipped. + + + + + A for . If null, float measurements will be skipped. + + + + + A for . If null, double measurements will be skipped. + + + + + A for . If null, decimal measurements will be skipped. + + + + + This is used by to distinguish between meters created via constructors () + and those created via Dependency Injection with ()."/>. + + + + + No scope is specified. This should not be used. + + + + + Indicates instances created via constructors. + + + + + Indicates instances created via Dependency Injection with . + + + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + + + Registers a new of type . + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Registers a new instance. + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Removes all registrations from the dependency injection container. + + The . + Returns the original for chaining. + + + + Enables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Enables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Disables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Disables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Options for configuring the metrics system. + + + + + A list of 's that identify which metrics, instruments, and listeners are enabled. + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.xml b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.xml new file mode 100644 index 000000000..ab42ee6b9 --- /dev/null +++ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.xml @@ -0,0 +1,336 @@ + + + + Microsoft.Extensions.Diagnostics.Abstractions + + + + + Represents a type used to configure the metrics system by registering IMetricsListeners and using rules + to determine which metrics are enabled. + + + + + The application . This is used by extension methods to register services. + + + + + Represents a type used to listen to metrics emitted from the system. + + + + + The name of the listener. This is used to identify the listener in the rules configuration. + + + + + Called once by the runtime to provide a used to pull for fresh metrics data. + + A that can be called to request current metrics. + + + + Called when a new instrument is created and enabled by a matching rule. + + The new . + Listener state associated with this instrument. This will be returned to + and . + Returns true if the listener wants to subscribe to this instrument, otherwise false. + + + + Called when a instrument is disabled by the producer or a rules change. + + The being disabled. + The original listener state returned by . + + + + Called once to get the that will be used to process measurements. + + The . + + + + A set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See . + - InstrumentName, an exact match. . + - ListenerName, an exact match. . + - Scopes + + The or prefix. + The . + The . + The 's to consider. + Enables or disabled the matched instrument for this listener. + + + + A set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See . + - InstrumentName, an exact match. . + - ListenerName, an exact match. . + - Scopes + + The or prefix. + The . + The . + The 's to consider. + Enables or disabled the matched instrument for this listener. + + + + The , either an exact match or the longest prefix match. Only full segment matches are considered. + All meters are matched if this is null. + + + + + The , an exact match. + All instruments for the given meter are matched if this is null. + + + + + The , an exact match. + All listeners are matched if this is null. + + + + + The . This is used to distinguish between meters created via constructors () + and those created via Dependency Injection with ()."/>. + + + + + Indicates if the instrument should be enabled for the listener. + + + + + An interface registered with each IMetricsListener using . The listener + can call to receive the current set of measurements for enabled observable instruments. + + + + + Requests that the current set of metrics for enabled instruments be sent to the listener's 's. + + + + + A set of supported measurement types. If a listener does not support a given type, the measurement will be skipped. + + + + + A for . If null, byte measurements will be skipped. + + + + + A for . If null, short measurements will be skipped. + + + + + A for . If null, int measurements will be skipped. + + + + + A for . If null, long measurements will be skipped. + + + + + A for . If null, float measurements will be skipped. + + + + + A for . If null, double measurements will be skipped. + + + + + A for . If null, decimal measurements will be skipped. + + + + + This is used by to distinguish between meters created via constructors () + and those created via Dependency Injection with ()."/>. + + + + + No scope is specified. This should not be used. + + + + + Indicates instances created via constructors. + + + + + Indicates instances created via Dependency Injection with . + + + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + + + Registers a new of type . + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Registers a new instance. + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Removes all registrations from the dependency injection container. + + The . + Returns the original for chaining. + + + + Enables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Enables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Disables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Disables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Options for configuring the metrics system. + + + + + A list of 's that identify which metrics, instruments, and listeners are enabled. + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/netstandard2.0/Microsoft.Extensions.Diagnostics.Abstractions.xml b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/netstandard2.0/Microsoft.Extensions.Diagnostics.Abstractions.xml new file mode 100644 index 000000000..9e772b2a4 --- /dev/null +++ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/lib/netstandard2.0/Microsoft.Extensions.Diagnostics.Abstractions.xml @@ -0,0 +1,641 @@ + + + + Microsoft.Extensions.Diagnostics.Abstractions + + + + + Represents a type used to configure the metrics system by registering IMetricsListeners and using rules + to determine which metrics are enabled. + + + + + The application . This is used by extension methods to register services. + + + + + Represents a type used to listen to metrics emitted from the system. + + + + + The name of the listener. This is used to identify the listener in the rules configuration. + + + + + Called once by the runtime to provide a used to pull for fresh metrics data. + + A that can be called to request current metrics. + + + + Called when a new instrument is created and enabled by a matching rule. + + The new . + Listener state associated with this instrument. This will be returned to + and . + Returns true if the listener wants to subscribe to this instrument, otherwise false. + + + + Called when a instrument is disabled by the producer or a rules change. + + The being disabled. + The original listener state returned by . + + + + Called once to get the that will be used to process measurements. + + The . + + + + A set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See . + - InstrumentName, an exact match. . + - ListenerName, an exact match. . + - Scopes + + The or prefix. + The . + The . + The 's to consider. + Enables or disabled the matched instrument for this listener. + + + + A set of parameters used to determine which instruments are enabled for which listeners. Unspecified + parameters match anything. + + + The most specific rule that matches a given instrument will be used. The priority of parameters is as follows: + - MeterName, either an exact match, or the longest prefix match. See . + - InstrumentName, an exact match. . + - ListenerName, an exact match. . + - Scopes + + The or prefix. + The . + The . + The 's to consider. + Enables or disabled the matched instrument for this listener. + + + + The , either an exact match or the longest prefix match. Only full segment matches are considered. + All meters are matched if this is null. + + + + + The , an exact match. + All instruments for the given meter are matched if this is null. + + + + + The , an exact match. + All listeners are matched if this is null. + + + + + The . This is used to distinguish between meters created via constructors () + and those created via Dependency Injection with ()."/>. + + + + + Indicates if the instrument should be enabled for the listener. + + + + + An interface registered with each IMetricsListener using . The listener + can call to receive the current set of measurements for enabled observable instruments. + + + + + Requests that the current set of metrics for enabled instruments be sent to the listener's 's. + + + + + A set of supported measurement types. If a listener does not support a given type, the measurement will be skipped. + + + + + A for . If null, byte measurements will be skipped. + + + + + A for . If null, short measurements will be skipped. + + + + + A for . If null, int measurements will be skipped. + + + + + A for . If null, long measurements will be skipped. + + + + + A for . If null, float measurements will be skipped. + + + + + A for . If null, double measurements will be skipped. + + + + + A for . If null, decimal measurements will be skipped. + + + + + This is used by to distinguish between meters created via constructors () + and those created via Dependency Injection with ()."/>. + + + + + No scope is specified. This should not be used. + + + + + Indicates instances created via constructors. + + + + + Indicates instances created via Dependency Injection with . + + + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + Extension methods for to add or clear registrations, and to enable or disable metrics. + + + + + Registers a new of type . + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Registers a new instance. + + The implementation type of the listener. + The . + Returns the original for chaining. + + + + Removes all registrations from the dependency injection container. + + The . + Returns the original for chaining. + + + + Enables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Enables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Enables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Disables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Disables all 's for the given meter, for all registered 's. + + The . + The or prefix. A null value matches all meters. + The original for chaining. + + + + Disables a specified for the given and . + + The . + The or prefix. A null value matches all meters. + The . A null value matches all instruments. + The .Name. A null value matches all listeners. + Indicates which 's to consider. Default to all scopes. + The original for chaining. + + + + Options for configuring the metrics system. + + + + + A list of 's that identify which metrics, instruments, and listeners are enabled. + + + + + Pretty print a type name. + + The . + true to print a fully qualified name. + true to include generic parameter names. + true to include generic parameters. + Character to use as a delimiter in nested type names + The pretty printed type name. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all members. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg new file mode 100644 index 000000000..4a6f1d095 Binary files /dev/null and b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg differ diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512 b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512 new file mode 100644 index 000000000..522dabe56 --- /dev/null +++ b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512 @@ -0,0 +1 @@ +p13QQOPgPpDIuqAGvVaduf0JmDz5wnv8skbZanPiWVzqeu5hFkOJifjfMbVrx/5q2qen/LarlexbHWTQsX/2Fw== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.diagnostics.abstractions/8.0.0/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..46050d360 --- /dev/null +++ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "XtcPOKB7sMFzj8SxaOglZV3eaqZ1GxUMVZTwaz4pRpBt0S45ghb836uUej4YaI8EzsnUJoqzOIKrTW4CDJMfVw==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..5e1698d13 Binary files /dev/null and b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/Microsoft.Extensions.FileSystemGlobbing.nuspec b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/Microsoft.Extensions.FileSystemGlobbing.nuspec new file mode 100644 index 000000000..fd3a22d1f --- /dev/null +++ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/Microsoft.Extensions.FileSystemGlobbing.nuspec @@ -0,0 +1,25 @@ + + + + Microsoft.Extensions.FileSystemGlobbing + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + File system globbing to find files matching a specified pattern. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..25bd9129c --- /dev/null +++ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,52 @@ +## About + + + +Provides support for matching file system names/paths using [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)). + +## Key Features + + + +* Contains the `Matcher` type, which can be used to match files in the file system based on user-defined patterns. + +## How to Use + + + +Get all matching files: + +```c# +using Microsoft.Extensions.FileSystemGlobbing; + +Matcher matcher = new(); +matcher.AddIncludePatterns(new[] { "*.txt", "*.asciidoc", "*.md" }); + +string searchDirectory = "../starting-folder/"; + +IEnumerable matchingFiles = matcher.GetResultsInFullPath(searchDirectory); + +// Use matchingFiles if there are any found. +// The files in this collection are fully qualified file system paths. +``` + +## Main Types + + + +The main types provided by this library are: + +* `Microsoft.Extensions.FileSystemGlobbing.Matcher` + +## Additional Documentation + + + +* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/file-globbing) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.filesystemglobbing) + +## Feedback & Contributing + + + +Microsoft.Extensions.FileSystemGlobbing is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.FileSystemGlobbing.targets b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.FileSystemGlobbing.targets new file mode 100644 index 000000000..48eb0a5d2 --- /dev/null +++ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.FileSystemGlobbing.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileSystemGlobbing.targets b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileSystemGlobbing.targets new file mode 100644 index 000000000..1867be3f9 --- /dev/null +++ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.FileSystemGlobbing.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.FileSystemGlobbing.xml b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.FileSystemGlobbing.xml new file mode 100644 index 000000000..df3d25082 --- /dev/null +++ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.FileSystemGlobbing.xml @@ -0,0 +1,653 @@ + + + + Microsoft.Extensions.FileSystemGlobbing + + + + Represents a directory. + + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + Instance of even if directory does not exist. + + + Returns an instance of that represents a file in the directory. + The file name. + Instance of even if file does not exist. + + + Wraps an instance of and provides implementation of + . + + + Initializes an instance of . + The . + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + The directory. + + + Returns an instance of that represents a file in the directory. + + Instance of even if file does not exist. + + + Returns the full path to the directory. + + + Gets the name of the file or directory. + + + Returns the parent directory. + + + Represents a file. + + + + Wraps an instance of to provide implementation of . + + + Initializes instance of to wrap the specified object . + The . + + + The full path of the file. (Overrides ). + + + The file name. (Overrides ). + + + The directory containing the file. (Overrides ). + + + Shared abstraction for files and directories. + + + + A string containing the full path of the file or directory. + + + A string containing the name of the file or directory. + + + The parent directory for the current file or directory. + + + Represents a file that was matched by searching using a globbing pattern. + + + Initializes new instance of . + The path to the file matched, relative to the beginning of the matching search pattern. + The subpath to the file matched, relative to the first wildcard in the matching search pattern. + + + Determines if the specified match is equivalent to the current match using a case-insensitive comparison. + The other match to be compared. + + if and are equal using case-insensitive comparison; otherwise, . + + + Determines if the specified object is equivalent to the current match using a case-insensitive comparison. + The object to be compared. + + when . + + + Gets a hash for the file pattern match. + Some number. + + + Gets the path to the matched file, relative to the beginning of the matching search pattern. + + + Gets the subpath to the matched file, relative to the first wildcard in the matching search pattern. + + + Avoids using disk for uses like Pattern Matching. + + + Creates a new InMemoryDirectoryInfo with the root directory and files given. + The root directory that this FileSystem will use. + Collection of file names. If relative paths will be prepended to the paths. + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + Instance of even if directory does not exist. + + + Returns an instance of that matches the given. + The filename. + Instance of if the file exists, null otherwise. + + + Gets the full path of the file or directory. + + + Gets the name of the file or directory. + + + Gets the parent directory for the current file or directory. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + Searches the file system for files with names that match specified patterns. + + + Initializes an instance of using case-insensitive matching. + + + + + + + Initializes an instance of using the specified string comparison method. + One of the enumeration values that specifies the culture, case, and sort rules to be used. + + + + Add a file name pattern for files the matcher should exclude from the results. Patterns are relative to the + root directory given when is called. + Use the forward slash '/' to represent directory separator. Use '*' to represent wildcards in file and + directory names. Use '**' to represent arbitrary directory depth. Use '..' to represent a parent directory. + + The globbing pattern. + The matcher. + + + + Add a file name pattern that the matcher should use to discover files. Patterns are relative to the root + directory given when is called. + Use the forward slash '/' to represent directory separator. Use '*' to represent wildcards in file and + directory names. Use '**' to represent arbitrary directory depth. Use '..' to represent a parent directory. + + The globbing pattern. + The matcher. + + + Searches the directory specified for all files matching patterns added to this instance of . + The root directory for the search. + Always returns an instance of , even if no files were matched. + + + + Adds multiple exclude patterns to . + The matcher to which the exclude patterns are added. + A list of globbing patterns. + + + Adds multiple patterns to include in . + The matcher to which the include patterns are added. + A list of globbing patterns. + + + Searches the specified directory for all files matching patterns added to this instance of . + The matcher. + The root directory for the search. + Absolute file paths of all files matched. Empty enumerable if no files matched given patterns. + + + Matches the files passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The files to run the matcher against. + The match results. + + + Matches the files passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The root directory for the matcher to match the files from. + The files to run the matcher against. + The match results. + + + Matches the file passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The root directory for the matcher to match the file from. + The file to run the matcher against. + The match results. + + + Matches the file passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The file to run the matcher against. + The match results. + + + Represents a collection of . + + + Initializes the result with a collection of . + A collection of . + A value that determines if has any matches. + + + Initializes the result with a collection of . + A collection of . + + + A collection of . + + + Gets a value that determines if this instance of has any matches. + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.FileSystemGlobbing.xml b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.FileSystemGlobbing.xml new file mode 100644 index 000000000..df3d25082 --- /dev/null +++ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.FileSystemGlobbing.xml @@ -0,0 +1,653 @@ + + + + Microsoft.Extensions.FileSystemGlobbing + + + + Represents a directory. + + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + Instance of even if directory does not exist. + + + Returns an instance of that represents a file in the directory. + The file name. + Instance of even if file does not exist. + + + Wraps an instance of and provides implementation of + . + + + Initializes an instance of . + The . + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + The directory. + + + Returns an instance of that represents a file in the directory. + + Instance of even if file does not exist. + + + Returns the full path to the directory. + + + Gets the name of the file or directory. + + + Returns the parent directory. + + + Represents a file. + + + + Wraps an instance of to provide implementation of . + + + Initializes instance of to wrap the specified object . + The . + + + The full path of the file. (Overrides ). + + + The file name. (Overrides ). + + + The directory containing the file. (Overrides ). + + + Shared abstraction for files and directories. + + + + A string containing the full path of the file or directory. + + + A string containing the name of the file or directory. + + + The parent directory for the current file or directory. + + + Represents a file that was matched by searching using a globbing pattern. + + + Initializes new instance of . + The path to the file matched, relative to the beginning of the matching search pattern. + The subpath to the file matched, relative to the first wildcard in the matching search pattern. + + + Determines if the specified match is equivalent to the current match using a case-insensitive comparison. + The other match to be compared. + + if and are equal using case-insensitive comparison; otherwise, . + + + Determines if the specified object is equivalent to the current match using a case-insensitive comparison. + The object to be compared. + + when . + + + Gets a hash for the file pattern match. + Some number. + + + Gets the path to the matched file, relative to the beginning of the matching search pattern. + + + Gets the subpath to the matched file, relative to the first wildcard in the matching search pattern. + + + Avoids using disk for uses like Pattern Matching. + + + Creates a new InMemoryDirectoryInfo with the root directory and files given. + The root directory that this FileSystem will use. + Collection of file names. If relative paths will be prepended to the paths. + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + Instance of even if directory does not exist. + + + Returns an instance of that matches the given. + The filename. + Instance of if the file exists, null otherwise. + + + Gets the full path of the file or directory. + + + Gets the name of the file or directory. + + + Gets the parent directory for the current file or directory. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + Searches the file system for files with names that match specified patterns. + + + Initializes an instance of using case-insensitive matching. + + + + + + + Initializes an instance of using the specified string comparison method. + One of the enumeration values that specifies the culture, case, and sort rules to be used. + + + + Add a file name pattern for files the matcher should exclude from the results. Patterns are relative to the + root directory given when is called. + Use the forward slash '/' to represent directory separator. Use '*' to represent wildcards in file and + directory names. Use '**' to represent arbitrary directory depth. Use '..' to represent a parent directory. + + The globbing pattern. + The matcher. + + + + Add a file name pattern that the matcher should use to discover files. Patterns are relative to the root + directory given when is called. + Use the forward slash '/' to represent directory separator. Use '*' to represent wildcards in file and + directory names. Use '**' to represent arbitrary directory depth. Use '..' to represent a parent directory. + + The globbing pattern. + The matcher. + + + Searches the directory specified for all files matching patterns added to this instance of . + The root directory for the search. + Always returns an instance of , even if no files were matched. + + + + Adds multiple exclude patterns to . + The matcher to which the exclude patterns are added. + A list of globbing patterns. + + + Adds multiple patterns to include in . + The matcher to which the include patterns are added. + A list of globbing patterns. + + + Searches the specified directory for all files matching patterns added to this instance of . + The matcher. + The root directory for the search. + Absolute file paths of all files matched. Empty enumerable if no files matched given patterns. + + + Matches the files passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The files to run the matcher against. + The match results. + + + Matches the files passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The root directory for the matcher to match the files from. + The files to run the matcher against. + The match results. + + + Matches the file passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The root directory for the matcher to match the file from. + The file to run the matcher against. + The match results. + + + Matches the file passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The file to run the matcher against. + The match results. + + + Represents a collection of . + + + Initializes the result with a collection of . + A collection of . + A value that determines if has any matches. + + + Initializes the result with a collection of . + A collection of . + + + A collection of . + + + Gets a value that determines if this instance of has any matches. + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.xml b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.xml new file mode 100644 index 000000000..df3d25082 --- /dev/null +++ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.xml @@ -0,0 +1,653 @@ + + + + Microsoft.Extensions.FileSystemGlobbing + + + + Represents a directory. + + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + Instance of even if directory does not exist. + + + Returns an instance of that represents a file in the directory. + The file name. + Instance of even if file does not exist. + + + Wraps an instance of and provides implementation of + . + + + Initializes an instance of . + The . + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + The directory. + + + Returns an instance of that represents a file in the directory. + + Instance of even if file does not exist. + + + Returns the full path to the directory. + + + Gets the name of the file or directory. + + + Returns the parent directory. + + + Represents a file. + + + + Wraps an instance of to provide implementation of . + + + Initializes instance of to wrap the specified object . + The . + + + The full path of the file. (Overrides ). + + + The file name. (Overrides ). + + + The directory containing the file. (Overrides ). + + + Shared abstraction for files and directories. + + + + A string containing the full path of the file or directory. + + + A string containing the name of the file or directory. + + + The parent directory for the current file or directory. + + + Represents a file that was matched by searching using a globbing pattern. + + + Initializes new instance of . + The path to the file matched, relative to the beginning of the matching search pattern. + The subpath to the file matched, relative to the first wildcard in the matching search pattern. + + + Determines if the specified match is equivalent to the current match using a case-insensitive comparison. + The other match to be compared. + + if and are equal using case-insensitive comparison; otherwise, . + + + Determines if the specified object is equivalent to the current match using a case-insensitive comparison. + The object to be compared. + + when . + + + Gets a hash for the file pattern match. + Some number. + + + Gets the path to the matched file, relative to the beginning of the matching search pattern. + + + Gets the subpath to the matched file, relative to the first wildcard in the matching search pattern. + + + Avoids using disk for uses like Pattern Matching. + + + Creates a new InMemoryDirectoryInfo with the root directory and files given. + The root directory that this FileSystem will use. + Collection of file names. If relative paths will be prepended to the paths. + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + Instance of even if directory does not exist. + + + Returns an instance of that matches the given. + The filename. + Instance of if the file exists, null otherwise. + + + Gets the full path of the file or directory. + + + Gets the name of the file or directory. + + + Gets the parent directory for the current file or directory. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + Searches the file system for files with names that match specified patterns. + + + Initializes an instance of using case-insensitive matching. + + + + + + + Initializes an instance of using the specified string comparison method. + One of the enumeration values that specifies the culture, case, and sort rules to be used. + + + + Add a file name pattern for files the matcher should exclude from the results. Patterns are relative to the + root directory given when is called. + Use the forward slash '/' to represent directory separator. Use '*' to represent wildcards in file and + directory names. Use '**' to represent arbitrary directory depth. Use '..' to represent a parent directory. + + The globbing pattern. + The matcher. + + + + Add a file name pattern that the matcher should use to discover files. Patterns are relative to the root + directory given when is called. + Use the forward slash '/' to represent directory separator. Use '*' to represent wildcards in file and + directory names. Use '**' to represent arbitrary directory depth. Use '..' to represent a parent directory. + + The globbing pattern. + The matcher. + + + Searches the directory specified for all files matching patterns added to this instance of . + The root directory for the search. + Always returns an instance of , even if no files were matched. + + + + Adds multiple exclude patterns to . + The matcher to which the exclude patterns are added. + A list of globbing patterns. + + + Adds multiple patterns to include in . + The matcher to which the include patterns are added. + A list of globbing patterns. + + + Searches the specified directory for all files matching patterns added to this instance of . + The matcher. + The root directory for the search. + Absolute file paths of all files matched. Empty enumerable if no files matched given patterns. + + + Matches the files passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The files to run the matcher against. + The match results. + + + Matches the files passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The root directory for the matcher to match the files from. + The files to run the matcher against. + The match results. + + + Matches the file passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The root directory for the matcher to match the file from. + The file to run the matcher against. + The match results. + + + Matches the file passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The file to run the matcher against. + The match results. + + + Represents a collection of . + + + Initializes the result with a collection of . + A collection of . + A value that determines if has any matches. + + + Initializes the result with a collection of . + A collection of . + + + A collection of . + + + Gets a value that determines if this instance of has any matches. + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.FileSystemGlobbing.xml b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.FileSystemGlobbing.xml new file mode 100644 index 000000000..df3d25082 --- /dev/null +++ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.FileSystemGlobbing.xml @@ -0,0 +1,653 @@ + + + + Microsoft.Extensions.FileSystemGlobbing + + + + Represents a directory. + + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + Instance of even if directory does not exist. + + + Returns an instance of that represents a file in the directory. + The file name. + Instance of even if file does not exist. + + + Wraps an instance of and provides implementation of + . + + + Initializes an instance of . + The . + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + The directory. + + + Returns an instance of that represents a file in the directory. + + Instance of even if file does not exist. + + + Returns the full path to the directory. + + + Gets the name of the file or directory. + + + Returns the parent directory. + + + Represents a file. + + + + Wraps an instance of to provide implementation of . + + + Initializes instance of to wrap the specified object . + The . + + + The full path of the file. (Overrides ). + + + The file name. (Overrides ). + + + The directory containing the file. (Overrides ). + + + Shared abstraction for files and directories. + + + + A string containing the full path of the file or directory. + + + A string containing the name of the file or directory. + + + The parent directory for the current file or directory. + + + Represents a file that was matched by searching using a globbing pattern. + + + Initializes new instance of . + The path to the file matched, relative to the beginning of the matching search pattern. + The subpath to the file matched, relative to the first wildcard in the matching search pattern. + + + Determines if the specified match is equivalent to the current match using a case-insensitive comparison. + The other match to be compared. + + if and are equal using case-insensitive comparison; otherwise, . + + + Determines if the specified object is equivalent to the current match using a case-insensitive comparison. + The object to be compared. + + when . + + + Gets a hash for the file pattern match. + Some number. + + + Gets the path to the matched file, relative to the beginning of the matching search pattern. + + + Gets the subpath to the matched file, relative to the first wildcard in the matching search pattern. + + + Avoids using disk for uses like Pattern Matching. + + + Creates a new InMemoryDirectoryInfo with the root directory and files given. + The root directory that this FileSystem will use. + Collection of file names. If relative paths will be prepended to the paths. + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + Instance of even if directory does not exist. + + + Returns an instance of that matches the given. + The filename. + Instance of if the file exists, null otherwise. + + + Gets the full path of the file or directory. + + + Gets the name of the file or directory. + + + Gets the parent directory for the current file or directory. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + Searches the file system for files with names that match specified patterns. + + + Initializes an instance of using case-insensitive matching. + + + + + + + Initializes an instance of using the specified string comparison method. + One of the enumeration values that specifies the culture, case, and sort rules to be used. + + + + Add a file name pattern for files the matcher should exclude from the results. Patterns are relative to the + root directory given when is called. + Use the forward slash '/' to represent directory separator. Use '*' to represent wildcards in file and + directory names. Use '**' to represent arbitrary directory depth. Use '..' to represent a parent directory. + + The globbing pattern. + The matcher. + + + + Add a file name pattern that the matcher should use to discover files. Patterns are relative to the root + directory given when is called. + Use the forward slash '/' to represent directory separator. Use '*' to represent wildcards in file and + directory names. Use '**' to represent arbitrary directory depth. Use '..' to represent a parent directory. + + The globbing pattern. + The matcher. + + + Searches the directory specified for all files matching patterns added to this instance of . + The root directory for the search. + Always returns an instance of , even if no files were matched. + + + + Adds multiple exclude patterns to . + The matcher to which the exclude patterns are added. + A list of globbing patterns. + + + Adds multiple patterns to include in . + The matcher to which the include patterns are added. + A list of globbing patterns. + + + Searches the specified directory for all files matching patterns added to this instance of . + The matcher. + The root directory for the search. + Absolute file paths of all files matched. Empty enumerable if no files matched given patterns. + + + Matches the files passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The files to run the matcher against. + The match results. + + + Matches the files passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The root directory for the matcher to match the files from. + The files to run the matcher against. + The match results. + + + Matches the file passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The root directory for the matcher to match the file from. + The file to run the matcher against. + The match results. + + + Matches the file passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The file to run the matcher against. + The match results. + + + Represents a collection of . + + + Initializes the result with a collection of . + A collection of . + A value that determines if has any matches. + + + Initializes the result with a collection of . + A collection of . + + + A collection of . + + + Gets a value that determines if this instance of has any matches. + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.xml b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.xml new file mode 100644 index 000000000..df3d25082 --- /dev/null +++ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.xml @@ -0,0 +1,653 @@ + + + + Microsoft.Extensions.FileSystemGlobbing + + + + Represents a directory. + + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + Instance of even if directory does not exist. + + + Returns an instance of that represents a file in the directory. + The file name. + Instance of even if file does not exist. + + + Wraps an instance of and provides implementation of + . + + + Initializes an instance of . + The . + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + The directory. + + + Returns an instance of that represents a file in the directory. + + Instance of even if file does not exist. + + + Returns the full path to the directory. + + + Gets the name of the file or directory. + + + Returns the parent directory. + + + Represents a file. + + + + Wraps an instance of to provide implementation of . + + + Initializes instance of to wrap the specified object . + The . + + + The full path of the file. (Overrides ). + + + The file name. (Overrides ). + + + The directory containing the file. (Overrides ). + + + Shared abstraction for files and directories. + + + + A string containing the full path of the file or directory. + + + A string containing the name of the file or directory. + + + The parent directory for the current file or directory. + + + Represents a file that was matched by searching using a globbing pattern. + + + Initializes new instance of . + The path to the file matched, relative to the beginning of the matching search pattern. + The subpath to the file matched, relative to the first wildcard in the matching search pattern. + + + Determines if the specified match is equivalent to the current match using a case-insensitive comparison. + The other match to be compared. + + if and are equal using case-insensitive comparison; otherwise, . + + + Determines if the specified object is equivalent to the current match using a case-insensitive comparison. + The object to be compared. + + when . + + + Gets a hash for the file pattern match. + Some number. + + + Gets the path to the matched file, relative to the beginning of the matching search pattern. + + + Gets the subpath to the matched file, relative to the first wildcard in the matching search pattern. + + + Avoids using disk for uses like Pattern Matching. + + + Creates a new InMemoryDirectoryInfo with the root directory and files given. + The root directory that this FileSystem will use. + Collection of file names. If relative paths will be prepended to the paths. + + + Enumerates all files and directories in the directory. + Collection of files and directories. + + + Returns an instance of that represents a subdirectory. + The directory name. + Instance of even if directory does not exist. + + + Returns an instance of that matches the given. + The filename. + Instance of if the file exists, null otherwise. + + + Gets the full path of the file or directory. + + + Gets the name of the file or directory. + + + Gets the parent directory for the current file or directory. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + Searches the file system for files with names that match specified patterns. + + + Initializes an instance of using case-insensitive matching. + + + + + + + Initializes an instance of using the specified string comparison method. + One of the enumeration values that specifies the culture, case, and sort rules to be used. + + + + Add a file name pattern for files the matcher should exclude from the results. Patterns are relative to the + root directory given when is called. + Use the forward slash '/' to represent directory separator. Use '*' to represent wildcards in file and + directory names. Use '**' to represent arbitrary directory depth. Use '..' to represent a parent directory. + + The globbing pattern. + The matcher. + + + + Add a file name pattern that the matcher should use to discover files. Patterns are relative to the root + directory given when is called. + Use the forward slash '/' to represent directory separator. Use '*' to represent wildcards in file and + directory names. Use '**' to represent arbitrary directory depth. Use '..' to represent a parent directory. + + The globbing pattern. + The matcher. + + + Searches the directory specified for all files matching patterns added to this instance of . + The root directory for the search. + Always returns an instance of , even if no files were matched. + + + + Adds multiple exclude patterns to . + The matcher to which the exclude patterns are added. + A list of globbing patterns. + + + Adds multiple patterns to include in . + The matcher to which the include patterns are added. + A list of globbing patterns. + + + Searches the specified directory for all files matching patterns added to this instance of . + The matcher. + The root directory for the search. + Absolute file paths of all files matched. Empty enumerable if no files matched given patterns. + + + Matches the files passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The files to run the matcher against. + The match results. + + + Matches the files passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The root directory for the matcher to match the files from. + The files to run the matcher against. + The match results. + + + Matches the file passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The root directory for the matcher to match the file from. + The file to run the matcher against. + The match results. + + + Matches the file passed in with the patterns in the matcher without going to disk. + The matcher that holds the patterns and pattern matching type. + The file to run the matcher against. + The match results. + + + Represents a collection of . + + + Initializes the result with a collection of . + A collection of . + A value that determines if has any matches. + + + Initializes the result with a collection of . + A collection of . + + + A collection of . + + + Gets a value that determines if this instance of has any matches. + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/microsoft.extensions.filesystemglobbing.10.0.0-rc.2.25502.107.nupkg b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/microsoft.extensions.filesystemglobbing.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..588ef83dd Binary files /dev/null and b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/microsoft.extensions.filesystemglobbing.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/microsoft.extensions.filesystemglobbing.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/microsoft.extensions.filesystemglobbing.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..f6afa50a9 --- /dev/null +++ b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/microsoft.extensions.filesystemglobbing.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +MA2x9KYbanMkaq+3zTFOIygV8Kb6MCdq0qOtE6o7dbA9nflqkNRLHm4HlSOhCTIeFNoyiVq5Fr0zTjOuhAXO3A== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.filesystemglobbing/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..8b1c792ae --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "NJdwFTRku1adkA+WRSzZNzVynCptu0wyVTTRZ4cmOUIobqzA+e5EJFSxliGuIbAF6NYffv7jDqEC88N0KtrdYA==", + "source": "/mnt/e/dev/git.stella-ops.org/local-nuget" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..4636b8ca0 Binary files /dev/null and b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/Microsoft.Extensions.Hosting.nuspec b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/Microsoft.Extensions.Hosting.nuspec new file mode 100644 index 000000000..c3f7b8929 --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/Microsoft.Extensions.Hosting.nuspec @@ -0,0 +1,171 @@ + + + + Microsoft.Extensions.Hosting + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Hosting and startup infrastructures for applications. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..836433b1a --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,81 @@ +## About + + + +Contains the .NET Generic Host `HostBuilder` which layers on the `Microsoft.Extensions.Hosting.Abstractions` package. + +## Key Features + + + +* Contains the .NET Generic Host `HostBuilder`. + +## How to Use + + + +For a console app project: +```C# + using (IHost host = new HostBuilder().Build()) + { + var lifetime = host.Services.GetRequiredService(); + + lifetime.ApplicationStarted.Register(() => + { + Console.WriteLine("Started"); + }); + lifetime.ApplicationStopping.Register(() => + { + Console.WriteLine("Stopping firing"); + Console.WriteLine("Stopping end"); + }); + lifetime.ApplicationStopped.Register(() => + { + Console.WriteLine("Stopped firing"); + Console.WriteLine("Stopped end"); + }); + + host.Start(); + + // Listens for Ctrl+C. + host.WaitForShutdown(); + } +``` + +## Main Types + + + +The main types provided by this library are: + +* `Microsoft.Extensions.Host`. +* `Microsoft.Extensions.Hosting.HostApplicationBuilder` +* `Microsoft.Extensions.Hosting.HostBuilder` +* `Microsoft.Extensions.Hosting.IHostedService` +* `Microsoft.Extensions.Hosting.IHostedLifecycleService` + +## Additional Documentation + + + +* [Generic host](https://learn.microsoft.com/dotnet/core/extensions/generic-host) +* API documentation + - [Host](https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.host) + - [HostApplicationBuilder](https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.hostapplicationbuilder) + - [HostBuilder](https://learn.microsoft.com/dotnet/api/microsoft.extensions.hosting.hostbuilder) + +## Related Packages + + + +- `Microsoft.Extensions.Configuration` +- `Microsoft.Extensions.DependencyInjection` +- `Microsoft.Extensions.Hosting.Abstractions` +- `Microsoft.Extensions.Logging` +- `Microsoft.Extensions.Options` + +## Feedback & Contributing + + + +Microsoft.Extensions.Hosting is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Hosting.targets b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Hosting.targets new file mode 100644 index 000000000..4d5990d84 --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Hosting.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Hosting.targets b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Hosting.targets new file mode 100644 index 000000000..f2b6ca82f --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Hosting.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Hosting.xml b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Hosting.xml new file mode 100644 index 000000000..3035eca7b --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Hosting.xml @@ -0,0 +1,744 @@ + + + + Microsoft.Extensions.Hosting + + + + + Specifies a behavior that the will honor if an + unhandled exception occurs in one of its instances. + + + + + Stops the instance. + + + If a throws an exception, the instance stops, and the process continues. + + + + + Ignore exceptions thrown in . + + + If a throws an exception, the will log the error, but otherwise ignore it. + The is not restarted. + + + + + Provides option flags for . + + + + + Gets or sets a value that indicates if host lifetime status messages should be suppressed, such as on startup. + + + if host lifetime status messages should be suppressed. + The default is . + + + + + Provides convenience methods for creating instances of with pre-configured defaults. + + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + The initialized . + + + + Controls the initial configuration and other settings for constructing the . + + + + Initializes a new instance of the class with no pre-configured defaults. + + Controls the initial configuration and other settings for constructing the . + The initialized . + + + + Represents a hosted applications and services builder that helps manage configuration, logging, lifetime, and more. + + + + + Initializes a new instance of the class with preconfigured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from '[].settings.json' and '[].settings.[].json' when is not empty + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + + + + Initializes a new instance of the class with preconfigured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from '[].settings.json' and '[].settings.[].json' when is not empty + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + + + + Initializes a new instance of the . + + Settings controlling initial configuration and whether default settings should be used. + + + + + + + Gets the set of key/value configuration properties. + + + This can be mutated by adding more configuration sources, which will update its current view. + + + + + + + + + + + + + + + + + Builds the host. This method can only be called once. + + An initialized . + + + + Settings for constructing an . + + + + + Initializes an instance of the class. + + + + + Gets or sets a value that indicates whether the instance is configured with pre-configured defaults. + + + if the instance is configured with pre-configured defaults. + This has a similar effect to calling . + + + The following defaults are applied to the : + * set the to the result of + * load from "DOTNET_" prefixed environment variables + * load from 'appsettings.json' and 'appsettings.[].json' + * load from User Secrets when is 'Development' using the entry assembly + * load from environment variables + * load from supplied command line args + * configure the to log to the console, debug, and event source output + * enables scope validation on the dependency injection container when is 'Development' + + + + + Gets or sets the command-line arguments to add to the . + + + + + Gets or sets the initial configuration sources to be added to the . These sources can influence + the through the use of keys. Disposing the built + disposes the . + + + + + Gets or sets the environment name. + + + + + Gets or sets the application name. + + + + + Gets or sets the content root path. + + + + + A program initialization utility. + + + + + Initializes a new instance of . + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Set up the configuration for the builder itself. This will be used to initialize the + for use later in the build process. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of the builder to create. + A factory used for creating service providers. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + A factory used for creating service providers. + The type of the builder to create. + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of the builder to create. + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Run the given actions to initialize the host. This can only be called once. + + An initialized . + Adds basic services to the host such as application lifetime, host environment, and logging. + + + + Provides extension methods for the from the hosting package. + + + + + Specifies the environment to be used by the host. To avoid the environment being overwritten by a default + value, ensure this is called after defaults are configured. + + The to configure. + The environment to host the application in. + The . + + + + Specifies the content root directory to be used by the host. To avoid the content root directory being + overwritten by a default value, ensure this is called after defaults are configured. + + The to configure. + Path to root directory of the application. + The . + + + + Specifies the to be the default one. + + The to configure. + The delegate that configures the . + The . + + + + Specifies the to be the default one. + + The to configure. + The delegate that configures the . + The . + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the of the . + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the of the . + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The to configure. + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of builder. + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Configures an existing instance with pre-configured defaults. This will overwrite + previously configured values and is intended to be called before additional configuration calls. + + + The following defaults are applied to the : + * set the to the result of + * load host from "DOTNET_" prefixed environment variables + * load host from supplied command line args + * load app from 'appsettings.json' and 'appsettings.[].json' + * load app from '[].settings.json' and '[].settings.[].json' when is not empty + * load app from User Secrets when is 'Development' using the entry assembly + * load app from environment variables + * load app from supplied command line args + * configure the to log to the console, debug, and event source output + * enables scope validation on the dependency injection container when is 'Development' + + The existing builder to configure. + The command line args. + The same instance of the for chaining. + + + + Listens for Ctrl+C or SIGTERM and calls to start the shutdown process. + This will unblock extensions like RunAsync and WaitForShutdownAsync. + + The to configure. + The same instance of the for chaining. + + + + Listens for Ctrl+C or SIGTERM and calls to start the shutdown process. + This will unblock extensions like RunAsync and WaitForShutdownAsync. + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. + + The to configure. + A that can be used to cancel the console. + A that only completes when the token is triggered or shutdown is triggered. + + + + Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. + + The to configure. + The delegate for configuring the . + A that can be used to cancel the console. + A that only completes when the token is triggered or shutdown is triggered. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Options for . + + + + + Gets or sets the default timeout for . + + + This timeout also encompasses all host services implementing + and + . + + + + + Gets or sets the default timeout for . + + + This timeout also encompasses all host services implementing + and + . + + + + + Gets or sets a value that indicates if the will start registered instances of concurrently or sequentially. + + + if the will start registered instances of concurrently; if the will start registered instances sequentially. The default is . + + + + + Gets or sets a value that indicates if the will stop registered instances of concurrently or sequentially. + + + if the will stop registered instances of concurrently; if the will stop registered instances sequentially. The default is . + + + + + Gets or sets the behavior the will follow when any of + its instances throw an unhandled exception. + + + Defaults to . + + + + + Allows consumers to perform cleanup during a graceful shutdown. + + + + + Initializes an instance using the specified logger. + + The logger to initialize this instance with. + + + + Gets a cancellation token. Triggered when the application host has fully started and is about to wait + for a graceful shutdown. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + Request might still be in flight. Shutdown will block until this event completes. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + All requests should be complete at this point. Shutdown will block + until this event completes. + + + + + Signals the ApplicationStopping event and blocks until it completes. + + + + + Signals the ApplicationStarted event and blocks until it completes. + + + + + Signals the ApplicationStopped event and blocks until it completes. + + + + + Listens for Ctrl+C or SIGTERM and initiates shutdown. + + + + + Initializes a instance using the specified console lifetime options, host environment, host application lifetime, and host options. + + An object used to retrieve instances. + Information about the hosting environment an application is running in. + An object that allows consumers to be notified of application lifetime events. + An object used to retrieve internal host options instances. + or or or is . + + + + Initializes a instance using the specified console lifetime options, host environment, host options, and logger factory. + + An object used to retrieve instances. + Information about the hosting environment an application is running in. + An object that allows consumers to be notified of application lifetime events. + An object used to retrieve instances. + An object to configure the logging system and create instances of from the registered . + or or or or is . + + + + Registers the application start, application stop and shutdown handlers for this application. + + The cancellation token to monitor for cancellation requests. + A that represents the asynchronous registration operation. + + + + This method does nothing. + + A cancellation token instance. + A that represents a completed task. + + + + Unregisters the shutdown handlers and disposes the application start and application stop registrations. + + + + + Order: + IHostLifetime.WaitForStartAsync + Services.GetService{IStartupValidator}().Validate() + IHostedLifecycleService.StartingAsync + IHostedService.Start + IHostedLifecycleService.StartedAsync + IHostApplicationLifetime.ApplicationStarted + + + + + Order: + IHostedLifecycleService.StoppingAsync + IHostApplicationLifetime.ApplicationStopping + IHostedService.Stop + IHostedLifecycleService.StoppedAsync + IHostApplicationLifetime.ApplicationStopped + IHostLifetime.StopAsync + + + + + This API supports infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + Minimalistic lifetime that does nothing. + + + + The application name changed from "{0}" to "{1}". Changing host configuration is not supported. + + + The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will no ... + + + Build can only be called once. + + + The content root changed from "{0}" to "{1}". Changing host configuration is not supported. + + + CreateBuilder must be called before CreateServiceProvider + + + The environment name changed from "{0}" to "{1}". Changing host configuration is not supported. + + + Replacing IHostApplicationLifetime is not supported. + + + The IServiceProviderFactory returned a null IServiceProvider + + + The resolver returned a null IServiceProviderFactory + + + diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Hosting.xml b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Hosting.xml new file mode 100644 index 000000000..c2f4e3352 --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Hosting.xml @@ -0,0 +1,1298 @@ + + + + Microsoft.Extensions.Hosting + + + + + Specifies a behavior that the will honor if an + unhandled exception occurs in one of its instances. + + + + + Stops the instance. + + + If a throws an exception, the instance stops, and the process continues. + + + + + Ignore exceptions thrown in . + + + If a throws an exception, the will log the error, but otherwise ignore it. + The is not restarted. + + + + + Provides option flags for . + + + + + Gets or sets a value that indicates if host lifetime status messages should be suppressed, such as on startup. + + + if host lifetime status messages should be suppressed. + The default is . + + + + + Provides convenience methods for creating instances of with pre-configured defaults. + + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + The initialized . + + + + Controls the initial configuration and other settings for constructing the . + + + + Initializes a new instance of the class with no pre-configured defaults. + + Controls the initial configuration and other settings for constructing the . + The initialized . + + + + Represents a hosted applications and services builder that helps manage configuration, logging, lifetime, and more. + + + + + Initializes a new instance of the class with preconfigured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from '[].settings.json' and '[].settings.[].json' when is not empty + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + + + + Initializes a new instance of the class with preconfigured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from '[].settings.json' and '[].settings.[].json' when is not empty + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + + + + Initializes a new instance of the . + + Settings controlling initial configuration and whether default settings should be used. + + + + + + + Gets the set of key/value configuration properties. + + + This can be mutated by adding more configuration sources, which will update its current view. + + + + + + + + + + + + + + + + + Builds the host. This method can only be called once. + + An initialized . + + + + Settings for constructing an . + + + + + Initializes an instance of the class. + + + + + Gets or sets a value that indicates whether the instance is configured with pre-configured defaults. + + + if the instance is configured with pre-configured defaults. + This has a similar effect to calling . + + + The following defaults are applied to the : + * set the to the result of + * load from "DOTNET_" prefixed environment variables + * load from 'appsettings.json' and 'appsettings.[].json' + * load from User Secrets when is 'Development' using the entry assembly + * load from environment variables + * load from supplied command line args + * configure the to log to the console, debug, and event source output + * enables scope validation on the dependency injection container when is 'Development' + + + + + Gets or sets the command-line arguments to add to the . + + + + + Gets or sets the initial configuration sources to be added to the . These sources can influence + the through the use of keys. Disposing the built + disposes the . + + + + + Gets or sets the environment name. + + + + + Gets or sets the application name. + + + + + Gets or sets the content root path. + + + + + A program initialization utility. + + + + + Initializes a new instance of . + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Set up the configuration for the builder itself. This will be used to initialize the + for use later in the build process. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of the builder to create. + A factory used for creating service providers. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + A factory used for creating service providers. + The type of the builder to create. + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of the builder to create. + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Run the given actions to initialize the host. This can only be called once. + + An initialized . + Adds basic services to the host such as application lifetime, host environment, and logging. + + + + Provides extension methods for the from the hosting package. + + + + + Specifies the environment to be used by the host. To avoid the environment being overwritten by a default + value, ensure this is called after defaults are configured. + + The to configure. + The environment to host the application in. + The . + + + + Specifies the content root directory to be used by the host. To avoid the content root directory being + overwritten by a default value, ensure this is called after defaults are configured. + + The to configure. + Path to root directory of the application. + The . + + + + Specifies the to be the default one. + + The to configure. + The delegate that configures the . + The . + + + + Specifies the to be the default one. + + The to configure. + The delegate that configures the . + The . + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the of the . + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the of the . + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The to configure. + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of builder. + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Configures an existing instance with pre-configured defaults. This will overwrite + previously configured values and is intended to be called before additional configuration calls. + + + The following defaults are applied to the : + * set the to the result of + * load host from "DOTNET_" prefixed environment variables + * load host from supplied command line args + * load app from 'appsettings.json' and 'appsettings.[].json' + * load app from '[].settings.json' and '[].settings.[].json' when is not empty + * load app from User Secrets when is 'Development' using the entry assembly + * load app from environment variables + * load app from supplied command line args + * configure the to log to the console, debug, and event source output + * enables scope validation on the dependency injection container when is 'Development' + + The existing builder to configure. + The command line args. + The same instance of the for chaining. + + + + Listens for Ctrl+C or SIGTERM and calls to start the shutdown process. + This will unblock extensions like RunAsync and WaitForShutdownAsync. + + The to configure. + The same instance of the for chaining. + + + + Listens for Ctrl+C or SIGTERM and calls to start the shutdown process. + This will unblock extensions like RunAsync and WaitForShutdownAsync. + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. + + The to configure. + A that can be used to cancel the console. + A that only completes when the token is triggered or shutdown is triggered. + + + + Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. + + The to configure. + The delegate for configuring the . + A that can be used to cancel the console. + A that only completes when the token is triggered or shutdown is triggered. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Options for . + + + + + Gets or sets the default timeout for . + + + This timeout also encompasses all host services implementing + and + . + + + + + Gets or sets the default timeout for . + + + This timeout also encompasses all host services implementing + and + . + + + + + Gets or sets a value that indicates if the will start registered instances of concurrently or sequentially. + + + if the will start registered instances of concurrently; if the will start registered instances sequentially. The default is . + + + + + Gets or sets a value that indicates if the will stop registered instances of concurrently or sequentially. + + + if the will stop registered instances of concurrently; if the will stop registered instances sequentially. The default is . + + + + + Gets or sets the behavior the will follow when any of + its instances throw an unhandled exception. + + + Defaults to . + + + + + Allows consumers to perform cleanup during a graceful shutdown. + + + + + Initializes an instance using the specified logger. + + The logger to initialize this instance with. + + + + Gets a cancellation token. Triggered when the application host has fully started and is about to wait + for a graceful shutdown. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + Request might still be in flight. Shutdown will block until this event completes. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + All requests should be complete at this point. Shutdown will block + until this event completes. + + + + + Signals the ApplicationStopping event and blocks until it completes. + + + + + Signals the ApplicationStarted event and blocks until it completes. + + + + + Signals the ApplicationStopped event and blocks until it completes. + + + + + Listens for Ctrl+C or SIGTERM and initiates shutdown. + + + + + Initializes a instance using the specified console lifetime options, host environment, host application lifetime, and host options. + + An object used to retrieve instances. + Information about the hosting environment an application is running in. + An object that allows consumers to be notified of application lifetime events. + An object used to retrieve internal host options instances. + or or or is . + + + + Initializes a instance using the specified console lifetime options, host environment, host options, and logger factory. + + An object used to retrieve instances. + Information about the hosting environment an application is running in. + An object that allows consumers to be notified of application lifetime events. + An object used to retrieve instances. + An object to configure the logging system and create instances of from the registered . + or or or or is . + + + + Registers the application start, application stop and shutdown handlers for this application. + + The cancellation token to monitor for cancellation requests. + A that represents the asynchronous registration operation. + + + + This method does nothing. + + A cancellation token instance. + A that represents a completed task. + + + + Unregisters the shutdown handlers and disposes the application start and application stop registrations. + + + + + Order: + IHostLifetime.WaitForStartAsync + Services.GetService{IStartupValidator}().Validate() + IHostedLifecycleService.StartingAsync + IHostedService.Start + IHostedLifecycleService.StartedAsync + IHostApplicationLifetime.ApplicationStarted + + + + + Order: + IHostedLifecycleService.StoppingAsync + IHostApplicationLifetime.ApplicationStopping + IHostedService.Stop + IHostedLifecycleService.StoppedAsync + IHostApplicationLifetime.ApplicationStopped + IHostLifetime.StopAsync + + + + + This API supports infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + Minimalistic lifetime that does nothing. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Base type for all platform-specific API attributes. + + + + + Records the platform that the project targeted. + + + + + Records the operating system (and minimum version) that supports an API. Multiple attributes can be + applied to indicate support on multiple operating systems. + + + Callers can apply a + or use guards to prevent calls to APIs on unsupported operating systems. + + A given platform should only be specified once. + + + + + Marks APIs that were removed in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that are only available in + earlier versions. + + + + + Marks APIs that were obsoleted in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that should not be used anymore. + + + + + Initializes a new instance of the class with the specified platform name. + + The name of the platform where the API was obsoleted. + + + + Initializes a new instance of the class with the specified platform name and message. + + The name of the platform where the API was obsoleted. + The message that explains the obsolescence. + + + + Gets the message that explains the obsolescence. + + + + + Gets or sets the URL that provides more information about the obsolescence. + + + + + Annotates a custom guard field, property or method with a supported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple supported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + + Annotates the custom guard field, property or method with an unsupported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple unsupported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + The application name changed from "{0}" to "{1}". Changing host configuration is not supported. + + + The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will no ... + + + Build can only be called once. + + + The content root changed from "{0}" to "{1}". Changing host configuration is not supported. + + + CreateBuilder must be called before CreateServiceProvider + + + The environment name changed from "{0}" to "{1}". Changing host configuration is not supported. + + + Replacing IHostApplicationLifetime is not supported. + + + The IServiceProviderFactory returned a null IServiceProvider + + + The resolver returned a null IServiceProviderFactory + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Hosting.xml b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Hosting.xml new file mode 100644 index 000000000..3035eca7b --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Hosting.xml @@ -0,0 +1,744 @@ + + + + Microsoft.Extensions.Hosting + + + + + Specifies a behavior that the will honor if an + unhandled exception occurs in one of its instances. + + + + + Stops the instance. + + + If a throws an exception, the instance stops, and the process continues. + + + + + Ignore exceptions thrown in . + + + If a throws an exception, the will log the error, but otherwise ignore it. + The is not restarted. + + + + + Provides option flags for . + + + + + Gets or sets a value that indicates if host lifetime status messages should be suppressed, such as on startup. + + + if host lifetime status messages should be suppressed. + The default is . + + + + + Provides convenience methods for creating instances of with pre-configured defaults. + + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + The initialized . + + + + Controls the initial configuration and other settings for constructing the . + + + + Initializes a new instance of the class with no pre-configured defaults. + + Controls the initial configuration and other settings for constructing the . + The initialized . + + + + Represents a hosted applications and services builder that helps manage configuration, logging, lifetime, and more. + + + + + Initializes a new instance of the class with preconfigured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from '[].settings.json' and '[].settings.[].json' when is not empty + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + + + + Initializes a new instance of the class with preconfigured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from '[].settings.json' and '[].settings.[].json' when is not empty + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + + + + Initializes a new instance of the . + + Settings controlling initial configuration and whether default settings should be used. + + + + + + + Gets the set of key/value configuration properties. + + + This can be mutated by adding more configuration sources, which will update its current view. + + + + + + + + + + + + + + + + + Builds the host. This method can only be called once. + + An initialized . + + + + Settings for constructing an . + + + + + Initializes an instance of the class. + + + + + Gets or sets a value that indicates whether the instance is configured with pre-configured defaults. + + + if the instance is configured with pre-configured defaults. + This has a similar effect to calling . + + + The following defaults are applied to the : + * set the to the result of + * load from "DOTNET_" prefixed environment variables + * load from 'appsettings.json' and 'appsettings.[].json' + * load from User Secrets when is 'Development' using the entry assembly + * load from environment variables + * load from supplied command line args + * configure the to log to the console, debug, and event source output + * enables scope validation on the dependency injection container when is 'Development' + + + + + Gets or sets the command-line arguments to add to the . + + + + + Gets or sets the initial configuration sources to be added to the . These sources can influence + the through the use of keys. Disposing the built + disposes the . + + + + + Gets or sets the environment name. + + + + + Gets or sets the application name. + + + + + Gets or sets the content root path. + + + + + A program initialization utility. + + + + + Initializes a new instance of . + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Set up the configuration for the builder itself. This will be used to initialize the + for use later in the build process. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of the builder to create. + A factory used for creating service providers. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + A factory used for creating service providers. + The type of the builder to create. + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of the builder to create. + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Run the given actions to initialize the host. This can only be called once. + + An initialized . + Adds basic services to the host such as application lifetime, host environment, and logging. + + + + Provides extension methods for the from the hosting package. + + + + + Specifies the environment to be used by the host. To avoid the environment being overwritten by a default + value, ensure this is called after defaults are configured. + + The to configure. + The environment to host the application in. + The . + + + + Specifies the content root directory to be used by the host. To avoid the content root directory being + overwritten by a default value, ensure this is called after defaults are configured. + + The to configure. + Path to root directory of the application. + The . + + + + Specifies the to be the default one. + + The to configure. + The delegate that configures the . + The . + + + + Specifies the to be the default one. + + The to configure. + The delegate that configures the . + The . + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the of the . + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the of the . + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The to configure. + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of builder. + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Configures an existing instance with pre-configured defaults. This will overwrite + previously configured values and is intended to be called before additional configuration calls. + + + The following defaults are applied to the : + * set the to the result of + * load host from "DOTNET_" prefixed environment variables + * load host from supplied command line args + * load app from 'appsettings.json' and 'appsettings.[].json' + * load app from '[].settings.json' and '[].settings.[].json' when is not empty + * load app from User Secrets when is 'Development' using the entry assembly + * load app from environment variables + * load app from supplied command line args + * configure the to log to the console, debug, and event source output + * enables scope validation on the dependency injection container when is 'Development' + + The existing builder to configure. + The command line args. + The same instance of the for chaining. + + + + Listens for Ctrl+C or SIGTERM and calls to start the shutdown process. + This will unblock extensions like RunAsync and WaitForShutdownAsync. + + The to configure. + The same instance of the for chaining. + + + + Listens for Ctrl+C or SIGTERM and calls to start the shutdown process. + This will unblock extensions like RunAsync and WaitForShutdownAsync. + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. + + The to configure. + A that can be used to cancel the console. + A that only completes when the token is triggered or shutdown is triggered. + + + + Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. + + The to configure. + The delegate for configuring the . + A that can be used to cancel the console. + A that only completes when the token is triggered or shutdown is triggered. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Options for . + + + + + Gets or sets the default timeout for . + + + This timeout also encompasses all host services implementing + and + . + + + + + Gets or sets the default timeout for . + + + This timeout also encompasses all host services implementing + and + . + + + + + Gets or sets a value that indicates if the will start registered instances of concurrently or sequentially. + + + if the will start registered instances of concurrently; if the will start registered instances sequentially. The default is . + + + + + Gets or sets a value that indicates if the will stop registered instances of concurrently or sequentially. + + + if the will stop registered instances of concurrently; if the will stop registered instances sequentially. The default is . + + + + + Gets or sets the behavior the will follow when any of + its instances throw an unhandled exception. + + + Defaults to . + + + + + Allows consumers to perform cleanup during a graceful shutdown. + + + + + Initializes an instance using the specified logger. + + The logger to initialize this instance with. + + + + Gets a cancellation token. Triggered when the application host has fully started and is about to wait + for a graceful shutdown. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + Request might still be in flight. Shutdown will block until this event completes. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + All requests should be complete at this point. Shutdown will block + until this event completes. + + + + + Signals the ApplicationStopping event and blocks until it completes. + + + + + Signals the ApplicationStarted event and blocks until it completes. + + + + + Signals the ApplicationStopped event and blocks until it completes. + + + + + Listens for Ctrl+C or SIGTERM and initiates shutdown. + + + + + Initializes a instance using the specified console lifetime options, host environment, host application lifetime, and host options. + + An object used to retrieve instances. + Information about the hosting environment an application is running in. + An object that allows consumers to be notified of application lifetime events. + An object used to retrieve internal host options instances. + or or or is . + + + + Initializes a instance using the specified console lifetime options, host environment, host options, and logger factory. + + An object used to retrieve instances. + Information about the hosting environment an application is running in. + An object that allows consumers to be notified of application lifetime events. + An object used to retrieve instances. + An object to configure the logging system and create instances of from the registered . + or or or or is . + + + + Registers the application start, application stop and shutdown handlers for this application. + + The cancellation token to monitor for cancellation requests. + A that represents the asynchronous registration operation. + + + + This method does nothing. + + A cancellation token instance. + A that represents a completed task. + + + + Unregisters the shutdown handlers and disposes the application start and application stop registrations. + + + + + Order: + IHostLifetime.WaitForStartAsync + Services.GetService{IStartupValidator}().Validate() + IHostedLifecycleService.StartingAsync + IHostedService.Start + IHostedLifecycleService.StartedAsync + IHostApplicationLifetime.ApplicationStarted + + + + + Order: + IHostedLifecycleService.StoppingAsync + IHostApplicationLifetime.ApplicationStopping + IHostedService.Stop + IHostedLifecycleService.StoppedAsync + IHostApplicationLifetime.ApplicationStopped + IHostLifetime.StopAsync + + + + + This API supports infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + Minimalistic lifetime that does nothing. + + + + The application name changed from "{0}" to "{1}". Changing host configuration is not supported. + + + The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will no ... + + + Build can only be called once. + + + The content root changed from "{0}" to "{1}". Changing host configuration is not supported. + + + CreateBuilder must be called before CreateServiceProvider + + + The environment name changed from "{0}" to "{1}". Changing host configuration is not supported. + + + Replacing IHostApplicationLifetime is not supported. + + + The IServiceProviderFactory returned a null IServiceProvider + + + The resolver returned a null IServiceProviderFactory + + + diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Hosting.xml b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Hosting.xml new file mode 100644 index 000000000..3035eca7b --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Hosting.xml @@ -0,0 +1,744 @@ + + + + Microsoft.Extensions.Hosting + + + + + Specifies a behavior that the will honor if an + unhandled exception occurs in one of its instances. + + + + + Stops the instance. + + + If a throws an exception, the instance stops, and the process continues. + + + + + Ignore exceptions thrown in . + + + If a throws an exception, the will log the error, but otherwise ignore it. + The is not restarted. + + + + + Provides option flags for . + + + + + Gets or sets a value that indicates if host lifetime status messages should be suppressed, such as on startup. + + + if host lifetime status messages should be suppressed. + The default is . + + + + + Provides convenience methods for creating instances of with pre-configured defaults. + + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + The initialized . + + + + Controls the initial configuration and other settings for constructing the . + + + + Initializes a new instance of the class with no pre-configured defaults. + + Controls the initial configuration and other settings for constructing the . + The initialized . + + + + Represents a hosted applications and services builder that helps manage configuration, logging, lifetime, and more. + + + + + Initializes a new instance of the class with preconfigured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from '[].settings.json' and '[].settings.[].json' when is not empty + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + + + + Initializes a new instance of the class with preconfigured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from '[].settings.json' and '[].settings.[].json' when is not empty + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + + + + Initializes a new instance of the . + + Settings controlling initial configuration and whether default settings should be used. + + + + + + + Gets the set of key/value configuration properties. + + + This can be mutated by adding more configuration sources, which will update its current view. + + + + + + + + + + + + + + + + + Builds the host. This method can only be called once. + + An initialized . + + + + Settings for constructing an . + + + + + Initializes an instance of the class. + + + + + Gets or sets a value that indicates whether the instance is configured with pre-configured defaults. + + + if the instance is configured with pre-configured defaults. + This has a similar effect to calling . + + + The following defaults are applied to the : + * set the to the result of + * load from "DOTNET_" prefixed environment variables + * load from 'appsettings.json' and 'appsettings.[].json' + * load from User Secrets when is 'Development' using the entry assembly + * load from environment variables + * load from supplied command line args + * configure the to log to the console, debug, and event source output + * enables scope validation on the dependency injection container when is 'Development' + + + + + Gets or sets the command-line arguments to add to the . + + + + + Gets or sets the initial configuration sources to be added to the . These sources can influence + the through the use of keys. Disposing the built + disposes the . + + + + + Gets or sets the environment name. + + + + + Gets or sets the application name. + + + + + Gets or sets the content root path. + + + + + A program initialization utility. + + + + + Initializes a new instance of . + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Set up the configuration for the builder itself. This will be used to initialize the + for use later in the build process. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of the builder to create. + A factory used for creating service providers. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + A factory used for creating service providers. + The type of the builder to create. + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of the builder to create. + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Run the given actions to initialize the host. This can only be called once. + + An initialized . + Adds basic services to the host such as application lifetime, host environment, and logging. + + + + Provides extension methods for the from the hosting package. + + + + + Specifies the environment to be used by the host. To avoid the environment being overwritten by a default + value, ensure this is called after defaults are configured. + + The to configure. + The environment to host the application in. + The . + + + + Specifies the content root directory to be used by the host. To avoid the content root directory being + overwritten by a default value, ensure this is called after defaults are configured. + + The to configure. + Path to root directory of the application. + The . + + + + Specifies the to be the default one. + + The to configure. + The delegate that configures the . + The . + + + + Specifies the to be the default one. + + The to configure. + The delegate that configures the . + The . + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the of the . + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the of the . + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The to configure. + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of builder. + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Configures an existing instance with pre-configured defaults. This will overwrite + previously configured values and is intended to be called before additional configuration calls. + + + The following defaults are applied to the : + * set the to the result of + * load host from "DOTNET_" prefixed environment variables + * load host from supplied command line args + * load app from 'appsettings.json' and 'appsettings.[].json' + * load app from '[].settings.json' and '[].settings.[].json' when is not empty + * load app from User Secrets when is 'Development' using the entry assembly + * load app from environment variables + * load app from supplied command line args + * configure the to log to the console, debug, and event source output + * enables scope validation on the dependency injection container when is 'Development' + + The existing builder to configure. + The command line args. + The same instance of the for chaining. + + + + Listens for Ctrl+C or SIGTERM and calls to start the shutdown process. + This will unblock extensions like RunAsync and WaitForShutdownAsync. + + The to configure. + The same instance of the for chaining. + + + + Listens for Ctrl+C or SIGTERM and calls to start the shutdown process. + This will unblock extensions like RunAsync and WaitForShutdownAsync. + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. + + The to configure. + A that can be used to cancel the console. + A that only completes when the token is triggered or shutdown is triggered. + + + + Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. + + The to configure. + The delegate for configuring the . + A that can be used to cancel the console. + A that only completes when the token is triggered or shutdown is triggered. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Options for . + + + + + Gets or sets the default timeout for . + + + This timeout also encompasses all host services implementing + and + . + + + + + Gets or sets the default timeout for . + + + This timeout also encompasses all host services implementing + and + . + + + + + Gets or sets a value that indicates if the will start registered instances of concurrently or sequentially. + + + if the will start registered instances of concurrently; if the will start registered instances sequentially. The default is . + + + + + Gets or sets a value that indicates if the will stop registered instances of concurrently or sequentially. + + + if the will stop registered instances of concurrently; if the will stop registered instances sequentially. The default is . + + + + + Gets or sets the behavior the will follow when any of + its instances throw an unhandled exception. + + + Defaults to . + + + + + Allows consumers to perform cleanup during a graceful shutdown. + + + + + Initializes an instance using the specified logger. + + The logger to initialize this instance with. + + + + Gets a cancellation token. Triggered when the application host has fully started and is about to wait + for a graceful shutdown. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + Request might still be in flight. Shutdown will block until this event completes. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + All requests should be complete at this point. Shutdown will block + until this event completes. + + + + + Signals the ApplicationStopping event and blocks until it completes. + + + + + Signals the ApplicationStarted event and blocks until it completes. + + + + + Signals the ApplicationStopped event and blocks until it completes. + + + + + Listens for Ctrl+C or SIGTERM and initiates shutdown. + + + + + Initializes a instance using the specified console lifetime options, host environment, host application lifetime, and host options. + + An object used to retrieve instances. + Information about the hosting environment an application is running in. + An object that allows consumers to be notified of application lifetime events. + An object used to retrieve internal host options instances. + or or or is . + + + + Initializes a instance using the specified console lifetime options, host environment, host options, and logger factory. + + An object used to retrieve instances. + Information about the hosting environment an application is running in. + An object that allows consumers to be notified of application lifetime events. + An object used to retrieve instances. + An object to configure the logging system and create instances of from the registered . + or or or or is . + + + + Registers the application start, application stop and shutdown handlers for this application. + + The cancellation token to monitor for cancellation requests. + A that represents the asynchronous registration operation. + + + + This method does nothing. + + A cancellation token instance. + A that represents a completed task. + + + + Unregisters the shutdown handlers and disposes the application start and application stop registrations. + + + + + Order: + IHostLifetime.WaitForStartAsync + Services.GetService{IStartupValidator}().Validate() + IHostedLifecycleService.StartingAsync + IHostedService.Start + IHostedLifecycleService.StartedAsync + IHostApplicationLifetime.ApplicationStarted + + + + + Order: + IHostedLifecycleService.StoppingAsync + IHostApplicationLifetime.ApplicationStopping + IHostedService.Stop + IHostedLifecycleService.StoppedAsync + IHostApplicationLifetime.ApplicationStopped + IHostLifetime.StopAsync + + + + + This API supports infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + Minimalistic lifetime that does nothing. + + + + The application name changed from "{0}" to "{1}". Changing host configuration is not supported. + + + The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will no ... + + + Build can only be called once. + + + The content root changed from "{0}" to "{1}". Changing host configuration is not supported. + + + CreateBuilder must be called before CreateServiceProvider + + + The environment name changed from "{0}" to "{1}". Changing host configuration is not supported. + + + Replacing IHostApplicationLifetime is not supported. + + + The IServiceProviderFactory returned a null IServiceProvider + + + The resolver returned a null IServiceProviderFactory + + + diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Hosting.xml b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Hosting.xml new file mode 100644 index 000000000..c2f4e3352 --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Hosting.xml @@ -0,0 +1,1298 @@ + + + + Microsoft.Extensions.Hosting + + + + + Specifies a behavior that the will honor if an + unhandled exception occurs in one of its instances. + + + + + Stops the instance. + + + If a throws an exception, the instance stops, and the process continues. + + + + + Ignore exceptions thrown in . + + + If a throws an exception, the will log the error, but otherwise ignore it. + The is not restarted. + + + + + Provides option flags for . + + + + + Gets or sets a value that indicates if host lifetime status messages should be suppressed, such as on startup. + + + if host lifetime status messages should be suppressed. + The default is . + + + + + Provides convenience methods for creating instances of with pre-configured defaults. + + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + The initialized . + + + + Controls the initial configuration and other settings for constructing the . + + + + Initializes a new instance of the class with no pre-configured defaults. + + Controls the initial configuration and other settings for constructing the . + The initialized . + + + + Represents a hosted applications and services builder that helps manage configuration, logging, lifetime, and more. + + + + + Initializes a new instance of the class with preconfigured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from '[].settings.json' and '[].settings.[].json' when is not empty + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + + + + Initializes a new instance of the class with preconfigured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from '[].settings.json' and '[].settings.[].json' when is not empty + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + + + + Initializes a new instance of the . + + Settings controlling initial configuration and whether default settings should be used. + + + + + + + Gets the set of key/value configuration properties. + + + This can be mutated by adding more configuration sources, which will update its current view. + + + + + + + + + + + + + + + + + Builds the host. This method can only be called once. + + An initialized . + + + + Settings for constructing an . + + + + + Initializes an instance of the class. + + + + + Gets or sets a value that indicates whether the instance is configured with pre-configured defaults. + + + if the instance is configured with pre-configured defaults. + This has a similar effect to calling . + + + The following defaults are applied to the : + * set the to the result of + * load from "DOTNET_" prefixed environment variables + * load from 'appsettings.json' and 'appsettings.[].json' + * load from User Secrets when is 'Development' using the entry assembly + * load from environment variables + * load from supplied command line args + * configure the to log to the console, debug, and event source output + * enables scope validation on the dependency injection container when is 'Development' + + + + + Gets or sets the command-line arguments to add to the . + + + + + Gets or sets the initial configuration sources to be added to the . These sources can influence + the through the use of keys. Disposing the built + disposes the . + + + + + Gets or sets the environment name. + + + + + Gets or sets the application name. + + + + + Gets or sets the content root path. + + + + + A program initialization utility. + + + + + Initializes a new instance of . + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Set up the configuration for the builder itself. This will be used to initialize the + for use later in the build process. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of the builder to create. + A factory used for creating service providers. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + A factory used for creating service providers. + The type of the builder to create. + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of the builder to create. + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Run the given actions to initialize the host. This can only be called once. + + An initialized . + Adds basic services to the host such as application lifetime, host environment, and logging. + + + + Provides extension methods for the from the hosting package. + + + + + Specifies the environment to be used by the host. To avoid the environment being overwritten by a default + value, ensure this is called after defaults are configured. + + The to configure. + The environment to host the application in. + The . + + + + Specifies the content root directory to be used by the host. To avoid the content root directory being + overwritten by a default value, ensure this is called after defaults are configured. + + The to configure. + Path to root directory of the application. + The . + + + + Specifies the to be the default one. + + The to configure. + The delegate that configures the . + The . + + + + Specifies the to be the default one. + + The to configure. + The delegate that configures the . + The . + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the of the . + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the of the . + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The to configure. + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of builder. + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Configures an existing instance with pre-configured defaults. This will overwrite + previously configured values and is intended to be called before additional configuration calls. + + + The following defaults are applied to the : + * set the to the result of + * load host from "DOTNET_" prefixed environment variables + * load host from supplied command line args + * load app from 'appsettings.json' and 'appsettings.[].json' + * load app from '[].settings.json' and '[].settings.[].json' when is not empty + * load app from User Secrets when is 'Development' using the entry assembly + * load app from environment variables + * load app from supplied command line args + * configure the to log to the console, debug, and event source output + * enables scope validation on the dependency injection container when is 'Development' + + The existing builder to configure. + The command line args. + The same instance of the for chaining. + + + + Listens for Ctrl+C or SIGTERM and calls to start the shutdown process. + This will unblock extensions like RunAsync and WaitForShutdownAsync. + + The to configure. + The same instance of the for chaining. + + + + Listens for Ctrl+C or SIGTERM and calls to start the shutdown process. + This will unblock extensions like RunAsync and WaitForShutdownAsync. + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. + + The to configure. + A that can be used to cancel the console. + A that only completes when the token is triggered or shutdown is triggered. + + + + Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. + + The to configure. + The delegate for configuring the . + A that can be used to cancel the console. + A that only completes when the token is triggered or shutdown is triggered. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Options for . + + + + + Gets or sets the default timeout for . + + + This timeout also encompasses all host services implementing + and + . + + + + + Gets or sets the default timeout for . + + + This timeout also encompasses all host services implementing + and + . + + + + + Gets or sets a value that indicates if the will start registered instances of concurrently or sequentially. + + + if the will start registered instances of concurrently; if the will start registered instances sequentially. The default is . + + + + + Gets or sets a value that indicates if the will stop registered instances of concurrently or sequentially. + + + if the will stop registered instances of concurrently; if the will stop registered instances sequentially. The default is . + + + + + Gets or sets the behavior the will follow when any of + its instances throw an unhandled exception. + + + Defaults to . + + + + + Allows consumers to perform cleanup during a graceful shutdown. + + + + + Initializes an instance using the specified logger. + + The logger to initialize this instance with. + + + + Gets a cancellation token. Triggered when the application host has fully started and is about to wait + for a graceful shutdown. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + Request might still be in flight. Shutdown will block until this event completes. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + All requests should be complete at this point. Shutdown will block + until this event completes. + + + + + Signals the ApplicationStopping event and blocks until it completes. + + + + + Signals the ApplicationStarted event and blocks until it completes. + + + + + Signals the ApplicationStopped event and blocks until it completes. + + + + + Listens for Ctrl+C or SIGTERM and initiates shutdown. + + + + + Initializes a instance using the specified console lifetime options, host environment, host application lifetime, and host options. + + An object used to retrieve instances. + Information about the hosting environment an application is running in. + An object that allows consumers to be notified of application lifetime events. + An object used to retrieve internal host options instances. + or or or is . + + + + Initializes a instance using the specified console lifetime options, host environment, host options, and logger factory. + + An object used to retrieve instances. + Information about the hosting environment an application is running in. + An object that allows consumers to be notified of application lifetime events. + An object used to retrieve instances. + An object to configure the logging system and create instances of from the registered . + or or or or is . + + + + Registers the application start, application stop and shutdown handlers for this application. + + The cancellation token to monitor for cancellation requests. + A that represents the asynchronous registration operation. + + + + This method does nothing. + + A cancellation token instance. + A that represents a completed task. + + + + Unregisters the shutdown handlers and disposes the application start and application stop registrations. + + + + + Order: + IHostLifetime.WaitForStartAsync + Services.GetService{IStartupValidator}().Validate() + IHostedLifecycleService.StartingAsync + IHostedService.Start + IHostedLifecycleService.StartedAsync + IHostApplicationLifetime.ApplicationStarted + + + + + Order: + IHostedLifecycleService.StoppingAsync + IHostApplicationLifetime.ApplicationStopping + IHostedService.Stop + IHostedLifecycleService.StoppedAsync + IHostApplicationLifetime.ApplicationStopped + IHostLifetime.StopAsync + + + + + This API supports infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + Minimalistic lifetime that does nothing. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Base type for all platform-specific API attributes. + + + + + Records the platform that the project targeted. + + + + + Records the operating system (and minimum version) that supports an API. Multiple attributes can be + applied to indicate support on multiple operating systems. + + + Callers can apply a + or use guards to prevent calls to APIs on unsupported operating systems. + + A given platform should only be specified once. + + + + + Marks APIs that were removed in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that are only available in + earlier versions. + + + + + Marks APIs that were obsoleted in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that should not be used anymore. + + + + + Initializes a new instance of the class with the specified platform name. + + The name of the platform where the API was obsoleted. + + + + Initializes a new instance of the class with the specified platform name and message. + + The name of the platform where the API was obsoleted. + The message that explains the obsolescence. + + + + Gets the message that explains the obsolescence. + + + + + Gets or sets the URL that provides more information about the obsolescence. + + + + + Annotates a custom guard field, property or method with a supported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple supported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + + Annotates the custom guard field, property or method with an unsupported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple unsupported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + The application name changed from "{0}" to "{1}". Changing host configuration is not supported. + + + The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will no ... + + + Build can only be called once. + + + The content root changed from "{0}" to "{1}". Changing host configuration is not supported. + + + CreateBuilder must be called before CreateServiceProvider + + + The environment name changed from "{0}" to "{1}". Changing host configuration is not supported. + + + Replacing IHostApplicationLifetime is not supported. + + + The IServiceProviderFactory returned a null IServiceProvider + + + The resolver returned a null IServiceProviderFactory + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.Hosting.xml b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.Hosting.xml new file mode 100644 index 000000000..d73a8e9b8 --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/lib/netstandard2.1/Microsoft.Extensions.Hosting.xml @@ -0,0 +1,1234 @@ + + + + Microsoft.Extensions.Hosting + + + + + Specifies a behavior that the will honor if an + unhandled exception occurs in one of its instances. + + + + + Stops the instance. + + + If a throws an exception, the instance stops, and the process continues. + + + + + Ignore exceptions thrown in . + + + If a throws an exception, the will log the error, but otherwise ignore it. + The is not restarted. + + + + + Provides option flags for . + + + + + Gets or sets a value that indicates if host lifetime status messages should be suppressed, such as on startup. + + + if host lifetime status messages should be suppressed. + The default is . + + + + + Provides convenience methods for creating instances of with pre-configured defaults. + + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The initialized . + + + + Initializes a new instance of the class with pre-configured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + The initialized . + + + + Controls the initial configuration and other settings for constructing the . + + + + Initializes a new instance of the class with no pre-configured defaults. + + Controls the initial configuration and other settings for constructing the . + The initialized . + + + + Represents a hosted applications and services builder that helps manage configuration, logging, lifetime, and more. + + + + + Initializes a new instance of the class with preconfigured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from '[].settings.json' and '[].settings.[].json' when is not empty + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + + + + Initializes a new instance of the class with preconfigured defaults. + + + The following defaults are applied to the returned : + + set the to the result of + load host from "DOTNET_" prefixed environment variables + load host from supplied command line args + load app from 'appsettings.json' and 'appsettings.[].json' + load app from '[].settings.json' and '[].settings.[].json' when is not empty + load app from User Secrets when is 'Development' using the entry assembly + load app from environment variables + load app from supplied command line args + configure the to log to the console, debug, and event source output + enables scope validation on the dependency injection container when is 'Development' + + + The command line args. + + + + Initializes a new instance of the . + + Settings controlling initial configuration and whether default settings should be used. + + + + + + + Gets the set of key/value configuration properties. + + + This can be mutated by adding more configuration sources, which will update its current view. + + + + + + + + + + + + + + + + + Builds the host. This method can only be called once. + + An initialized . + + + + Settings for constructing an . + + + + + Initializes an instance of the class. + + + + + Gets or sets a value that indicates whether the instance is configured with pre-configured defaults. + + + if the instance is configured with pre-configured defaults. + This has a similar effect to calling . + + + The following defaults are applied to the : + * set the to the result of + * load from "DOTNET_" prefixed environment variables + * load from 'appsettings.json' and 'appsettings.[].json' + * load from User Secrets when is 'Development' using the entry assembly + * load from environment variables + * load from supplied command line args + * configure the to log to the console, debug, and event source output + * enables scope validation on the dependency injection container when is 'Development' + + + + + Gets or sets the command-line arguments to add to the . + + + + + Gets or sets the initial configuration sources to be added to the . These sources can influence + the through the use of keys. Disposing the built + disposes the . + + + + + Gets or sets the environment name. + + + + + Gets or sets the application name. + + + + + Gets or sets the content root path. + + + + + A program initialization utility. + + + + + Initializes a new instance of . + + + + + Gets a central location for sharing state between components during the host building process. + + + + + Set up the configuration for the builder itself. This will be used to initialize the + for use later in the build process. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + The type of the builder to create. + A factory used for creating service providers. + The same instance of the for chaining. + + + + Overrides the factory used to create the service provider. + + A factory used for creating service providers. + The type of the builder to create. + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of the builder to create. + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Run the given actions to initialize the host. This can only be called once. + + An initialized . + Adds basic services to the host such as application lifetime, host environment, and logging. + + + + Provides extension methods for the from the hosting package. + + + + + Specifies the environment to be used by the host. To avoid the environment being overwritten by a default + value, ensure this is called after defaults are configured. + + The to configure. + The environment to host the application in. + The . + + + + Specifies the content root directory to be used by the host. To avoid the content root directory being + overwritten by a default value, ensure this is called after defaults are configured. + + The to configure. + Path to root directory of the application. + The . + + + + Specifies the to be the default one. + + The to configure. + The delegate that configures the . + The . + + + + Specifies the to be the default one. + + The to configure. + The delegate that configures the . + The . + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the of the . + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the of the . + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Sets up the configuration for the remainder of the build process and application. This can be called multiple times and + the results will be additive. The results will be available at for + subsequent operations, as well as in . + + The to configure. + The delegate for configuring the that will be used + to construct the for the host. + The same instance of the for chaining. + + + + Adds services to the container. This can be called multiple times and the results will be additive. + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Enables configuring the instantiated dependency container. This can be called multiple times and + the results will be additive. + + The type of builder. + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Configures an existing instance with pre-configured defaults. This will overwrite + previously configured values and is intended to be called before additional configuration calls. + + + The following defaults are applied to the : + * set the to the result of + * load host from "DOTNET_" prefixed environment variables + * load host from supplied command line args + * load app from 'appsettings.json' and 'appsettings.[].json' + * load app from '[].settings.json' and '[].settings.[].json' when is not empty + * load app from User Secrets when is 'Development' using the entry assembly + * load app from environment variables + * load app from supplied command line args + * configure the to log to the console, debug, and event source output + * enables scope validation on the dependency injection container when is 'Development' + + The existing builder to configure. + The command line args. + The same instance of the for chaining. + + + + Listens for Ctrl+C or SIGTERM and calls to start the shutdown process. + This will unblock extensions like RunAsync and WaitForShutdownAsync. + + The to configure. + The same instance of the for chaining. + + + + Listens for Ctrl+C or SIGTERM and calls to start the shutdown process. + This will unblock extensions like RunAsync and WaitForShutdownAsync. + + The to configure. + The delegate for configuring the . + The same instance of the for chaining. + + + + Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. + + The to configure. + A that can be used to cancel the console. + A that only completes when the token is triggered or shutdown is triggered. + + + + Enables console support, builds and starts the host, and waits for Ctrl+C or SIGTERM to shut down. + + The to configure. + The delegate for configuring the . + A that can be used to cancel the console. + A that only completes when the token is triggered or shutdown is triggered. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Adds a delegate for configuring the provided . This can be called multiple times. + + The to configure. + The delegate that configures the . + The same instance of the for chaining. + + + + Options for . + + + + + Gets or sets the default timeout for . + + + This timeout also encompasses all host services implementing + and + . + + + + + Gets or sets the default timeout for . + + + This timeout also encompasses all host services implementing + and + . + + + + + Gets or sets a value that indicates if the will start registered instances of concurrently or sequentially. + + + if the will start registered instances of concurrently; if the will start registered instances sequentially. The default is . + + + + + Gets or sets a value that indicates if the will stop registered instances of concurrently or sequentially. + + + if the will stop registered instances of concurrently; if the will stop registered instances sequentially. The default is . + + + + + Gets or sets the behavior the will follow when any of + its instances throw an unhandled exception. + + + Defaults to . + + + + + Allows consumers to perform cleanup during a graceful shutdown. + + + + + Initializes an instance using the specified logger. + + The logger to initialize this instance with. + + + + Gets a cancellation token. Triggered when the application host has fully started and is about to wait + for a graceful shutdown. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + Request might still be in flight. Shutdown will block until this event completes. + + + + + Gets a cancellation token. Triggered when the application host is performing a graceful shutdown. + All requests should be complete at this point. Shutdown will block + until this event completes. + + + + + Signals the ApplicationStopping event and blocks until it completes. + + + + + Signals the ApplicationStarted event and blocks until it completes. + + + + + Signals the ApplicationStopped event and blocks until it completes. + + + + + Listens for Ctrl+C or SIGTERM and initiates shutdown. + + + + + Initializes a instance using the specified console lifetime options, host environment, host application lifetime, and host options. + + An object used to retrieve instances. + Information about the hosting environment an application is running in. + An object that allows consumers to be notified of application lifetime events. + An object used to retrieve internal host options instances. + or or or is . + + + + Initializes a instance using the specified console lifetime options, host environment, host options, and logger factory. + + An object used to retrieve instances. + Information about the hosting environment an application is running in. + An object that allows consumers to be notified of application lifetime events. + An object used to retrieve instances. + An object to configure the logging system and create instances of from the registered . + or or or or is . + + + + Registers the application start, application stop and shutdown handlers for this application. + + The cancellation token to monitor for cancellation requests. + A that represents the asynchronous registration operation. + + + + This method does nothing. + + A cancellation token instance. + A that represents a completed task. + + + + Unregisters the shutdown handlers and disposes the application start and application stop registrations. + + + + + Order: + IHostLifetime.WaitForStartAsync + Services.GetService{IStartupValidator}().Validate() + IHostedLifecycleService.StartingAsync + IHostedService.Start + IHostedLifecycleService.StartedAsync + IHostApplicationLifetime.ApplicationStarted + + + + + Order: + IHostedLifecycleService.StoppingAsync + IHostApplicationLifetime.ApplicationStopping + IHostedService.Stop + IHostedLifecycleService.StoppedAsync + IHostApplicationLifetime.ApplicationStopped + IHostLifetime.StopAsync + + + + + This API supports infrastructure and is not intended to be used + directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + This API supports infrastructure and is not intended to be used directly from your code. This API may change or be removed in future releases. + + + + + Minimalistic lifetime that does nothing. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Base type for all platform-specific API attributes. + + + + + Records the platform that the project targeted. + + + + + Records the operating system (and minimum version) that supports an API. Multiple attributes can be + applied to indicate support on multiple operating systems. + + + Callers can apply a + or use guards to prevent calls to APIs on unsupported operating systems. + + A given platform should only be specified once. + + + + + Marks APIs that were removed in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that are only available in + earlier versions. + + + + + Marks APIs that were obsoleted in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that should not be used anymore. + + + + + Initializes a new instance of the class with the specified platform name. + + The name of the platform where the API was obsoleted. + + + + Initializes a new instance of the class with the specified platform name and message. + + The name of the platform where the API was obsoleted. + The message that explains the obsolescence. + + + + Gets the message that explains the obsolescence. + + + + + Gets or sets the URL that provides more information about the obsolescence. + + + + + Annotates a custom guard field, property or method with a supported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple supported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + + Annotates the custom guard field, property or method with an unsupported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple unsupported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + The application name changed from "{0}" to "{1}". Changing host configuration is not supported. + + + The HostOptions.BackgroundServiceExceptionBehavior is configured to StopHost. A BackgroundService has thrown an unhandled exception, and the IHost instance is stopping. To avoid this behavior, configure this to Ignore; however the BackgroundService will no ... + + + Build can only be called once. + + + The content root changed from "{0}" to "{1}". Changing host configuration is not supported. + + + CreateBuilder must be called before CreateServiceProvider + + + The environment name changed from "{0}" to "{1}". Changing host configuration is not supported. + + + Replacing IHostApplicationLifetime is not supported. + + + The IServiceProviderFactory returned a null IServiceProvider + + + The resolver returned a null IServiceProviderFactory + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/microsoft.extensions.hosting.10.0.0-rc.2.25502.107.nupkg b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/microsoft.extensions.hosting.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..738aa0fa3 Binary files /dev/null and b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/microsoft.extensions.hosting.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/microsoft.extensions.hosting.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/microsoft.extensions.hosting.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..4b8b87396 --- /dev/null +++ b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/microsoft.extensions.hosting.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +pctuaY0yDfCyHcDn2JcelchDtWXvaX1n63+S8TEyl26QfXsUTX6bviXwYDlg52wQtVUflNZKLrrDLIxHHOg4LQ== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.hosting/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..35f92d333 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "dNb9DF+8IQNjr75dh6AwEfl7GcpW2gMycXLmCGBKCqAE2y4XBkazoNfJebCjUvb5L2gOUSxMpH1nu0gX+guGUQ==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..8c7a5220d Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.Configuration.nuspec b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.Configuration.nuspec new file mode 100644 index 000000000..2fe6bc583 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.Configuration.nuspec @@ -0,0 +1,69 @@ + + + + Microsoft.Extensions.Logging.Configuration + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + https://dot.net/ + Configuration support for Microsoft.Extensions.Logging. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.Configuration.targets b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.Configuration.targets new file mode 100644 index 000000000..a267c6640 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.Configuration.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Configuration.targets b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Configuration.targets new file mode 100644 index 000000000..d740fbf5a --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Configuration.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.Configuration.xml b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.Configuration.xml new file mode 100644 index 000000000..7aa9213bc --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.Configuration.xml @@ -0,0 +1,90 @@ + + + + Microsoft.Extensions.Logging.Configuration + + + + + Allows access to configuration section associated with logger provider. + + The type of logger provider to get configuration for. + + + + Gets the configuration section for the requested logger provider. + + + + + Allows access to configuration section associated with logger provider + + + + + Returns the configuration section associated with the logger provider. + + The logger provider type. + The for the given . + + + + Provides a set of helpers to initialize options objects from logger provider configuration. + + + + + Indicates that settings for should be loaded into type. + + The to register on. + The options class. + The provider class. + + + + Loads settings for into type. + + + + + + + + Initializes a new instance of the class. + + + + + Extension methods for setting up logging services in an . + + + + + Adds services required to consume or + + The to register services on. + + + + Extension methods for setting up logging services in an . + + + + + Configures from an instance of . + + The to use. + The to add. + The builder. + + + Extracts the value with the specified key and converts it to the specified type. + + + Tries to get the configuration value for the specified key. + + + Configuration value '{0}' is not supported. + + + diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.Configuration.xml b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.Configuration.xml new file mode 100644 index 000000000..b0e6f21d0 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.Configuration.xml @@ -0,0 +1,553 @@ + + + + Microsoft.Extensions.Logging.Configuration + + + + + Allows access to configuration section associated with logger provider. + + The type of logger provider to get configuration for. + + + + Gets the configuration section for the requested logger provider. + + + + + Allows access to configuration section associated with logger provider + + + + + Returns the configuration section associated with the logger provider. + + The logger provider type. + The for the given . + + + + Provides a set of helpers to initialize options objects from logger provider configuration. + + + + + Indicates that settings for should be loaded into type. + + The to register on. + The options class. + The provider class. + + + + Loads settings for into type. + + + + + + + + Initializes a new instance of the class. + + + + + Extension methods for setting up logging services in an . + + + + + Adds services required to consume or + + The to register services on. + + + + Extension methods for setting up logging services in an . + + + + + Configures from an instance of . + + The to use. + The to add. + The builder. + + + Extracts the value with the specified key and converts it to the specified type. + + + Tries to get the configuration value for the specified key. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + + Indicates that the specified method requires dynamic access to code that is not referenced + statically, for example through . + + + This allows tools to understand which methods are unsafe to call when removing unreferenced + code from an application. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of unreferenced code. + + + + + When set to true, indicates that the annotation should not apply to static members. + + + + + Gets a message that contains information about the usage of unreferenced code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires unreferenced code, and what options a consumer has to deal with it. + + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + When set to true, indicates that the annotation should not apply to static members. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Configuration value '{0}' is not supported. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.Configuration.xml b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.Configuration.xml new file mode 100644 index 000000000..7aa9213bc --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.Configuration.xml @@ -0,0 +1,90 @@ + + + + Microsoft.Extensions.Logging.Configuration + + + + + Allows access to configuration section associated with logger provider. + + The type of logger provider to get configuration for. + + + + Gets the configuration section for the requested logger provider. + + + + + Allows access to configuration section associated with logger provider + + + + + Returns the configuration section associated with the logger provider. + + The logger provider type. + The for the given . + + + + Provides a set of helpers to initialize options objects from logger provider configuration. + + + + + Indicates that settings for should be loaded into type. + + The to register on. + The options class. + The provider class. + + + + Loads settings for into type. + + + + + + + + Initializes a new instance of the class. + + + + + Extension methods for setting up logging services in an . + + + + + Adds services required to consume or + + The to register services on. + + + + Extension methods for setting up logging services in an . + + + + + Configures from an instance of . + + The to use. + The to add. + The builder. + + + Extracts the value with the specified key and converts it to the specified type. + + + Tries to get the configuration value for the specified key. + + + Configuration value '{0}' is not supported. + + + diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.Configuration.xml b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.Configuration.xml new file mode 100644 index 000000000..7aa9213bc --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.Configuration.xml @@ -0,0 +1,90 @@ + + + + Microsoft.Extensions.Logging.Configuration + + + + + Allows access to configuration section associated with logger provider. + + The type of logger provider to get configuration for. + + + + Gets the configuration section for the requested logger provider. + + + + + Allows access to configuration section associated with logger provider + + + + + Returns the configuration section associated with the logger provider. + + The logger provider type. + The for the given . + + + + Provides a set of helpers to initialize options objects from logger provider configuration. + + + + + Indicates that settings for should be loaded into type. + + The to register on. + The options class. + The provider class. + + + + Loads settings for into type. + + + + + + + + Initializes a new instance of the class. + + + + + Extension methods for setting up logging services in an . + + + + + Adds services required to consume or + + The to register services on. + + + + Extension methods for setting up logging services in an . + + + + + Configures from an instance of . + + The to use. + The to add. + The builder. + + + Extracts the value with the specified key and converts it to the specified type. + + + Tries to get the configuration value for the specified key. + + + Configuration value '{0}' is not supported. + + + diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.xml b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.xml new file mode 100644 index 000000000..b0e6f21d0 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.Configuration.xml @@ -0,0 +1,553 @@ + + + + Microsoft.Extensions.Logging.Configuration + + + + + Allows access to configuration section associated with logger provider. + + The type of logger provider to get configuration for. + + + + Gets the configuration section for the requested logger provider. + + + + + Allows access to configuration section associated with logger provider + + + + + Returns the configuration section associated with the logger provider. + + The logger provider type. + The for the given . + + + + Provides a set of helpers to initialize options objects from logger provider configuration. + + + + + Indicates that settings for should be loaded into type. + + The to register on. + The options class. + The provider class. + + + + Loads settings for into type. + + + + + + + + Initializes a new instance of the class. + + + + + Extension methods for setting up logging services in an . + + + + + Adds services required to consume or + + The to register services on. + + + + Extension methods for setting up logging services in an . + + + + + Configures from an instance of . + + The to use. + The to add. + The builder. + + + Extracts the value with the specified key and converts it to the specified type. + + + Tries to get the configuration value for the specified key. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + + Indicates that the specified method requires dynamic access to code that is not referenced + statically, for example through . + + + This allows tools to understand which methods are unsafe to call when removing unreferenced + code from an application. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of unreferenced code. + + + + + When set to true, indicates that the annotation should not apply to static members. + + + + + Gets a message that contains information about the usage of unreferenced code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires unreferenced code, and what options a consumer has to deal with it. + + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + When set to true, indicates that the annotation should not apply to static members. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Configuration value '{0}' is not supported. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/microsoft.extensions.logging.configuration.10.0.0-rc.2.25502.107.nupkg b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/microsoft.extensions.logging.configuration.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..1528657c3 Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/microsoft.extensions.logging.configuration.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/microsoft.extensions.logging.configuration.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/microsoft.extensions.logging.configuration.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..cb8e85e56 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/microsoft.extensions.logging.configuration.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +pGhDQyZVhgo7zzLH/P9QUYcdyvTH1FyYu56EHTca4ugrxX5zAPo3FhJ4vMEGf74O+szyLw2NGMVXsLq6KGrwAA== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.logging.configuration/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..f8ed6c304 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "L073Ay6KhALchtPUtqlD79hJVdZ6TIzpTHLaIHjQvi2s6+/Bqs38jTQX4reVVm7pHKH89SqcecTmkk/18Qdqmw==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..e057ebb84 Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.Console.nuspec b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.Console.nuspec new file mode 100644 index 000000000..f88254145 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.Console.nuspec @@ -0,0 +1,66 @@ + + + + Microsoft.Extensions.Logging.Console + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Console logger provider implementation for Microsoft.Extensions.Logging. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..69823b6d4 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,106 @@ +## About + + +`Microsoft.Extensions.Logging.Console` provides a Console logger provider implementation for Microsoft.Extensions.Logging. It provides extension methods for the [ILoggingBuilder](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.iloggingbuilder) and [ILoggerProviderConfiguration](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.configuration.iloggerproviderconfiguration-1) classes. + +## Key Features + + + +* Allow logging to the console using the [Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging/) package. +* Provide extension methods for the [ILoggingBuilder](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.iloggingbuilder) and [ILoggerProviderConfiguration](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.configuration.iloggerproviderconfiguration-1) classes. + +## How to Use + + +```csharp +using System; +using Microsoft.Extensions.Logging; + +namespace ConsoleLoggerSample +{ + class Program + { + static void Main(string[] args) + { + // Create a logger factory with a console provider + using ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); + + // Create a logger with the category name of the current class + ILogger logger = loggerFactory.CreateLogger(); + + // Log some messages with different log levels and message templates + logger.LogTrace("This is a trace message."); + logger.LogDebug("This is a debug message."); + logger.LogInformation("Hello {Name}!", "World"); + logger.LogWarning("This is a warning message."); + logger.LogError("This is an error message."); + logger.LogCritical("This is a critical message."); + + // Use structured logging to capture complex data + var person = new Person { Name = "Alice", Age = 25 }; + logger.LogInformation("Created a new person: {@Person}", person); + + // Use exception logging to capture the details of an exception + try + { + throw new Exception("Something went wrong."); + } + catch (Exception ex) + { + logger.LogError(ex, "An exception occurred."); + } + + Console.WriteLine("Press any key to exit."); + Console.ReadKey(); + } + } + + // A simple class to demonstrate structured logging + class Person + { + public string Name { get; set; } + public int Age { get; set; } + } +} + +``` + +## Main Types + + + +The main types provided by this library are: + +* `ConsoleLoggerProvider` +* `ConsoleLoggerSettings` +* `ConsoleLoggerOptions` +* `ConsoleLoggerExtensions` +* `ConsoleFormatter` +* `ConsoleFormatterOptions` +* `JsonConsoleFormatterOptions` +* `SimpleConsoleFormatterOptions` + +## Additional Documentation + + + +* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/logging) +* [Console log formatter](https://learn.microsoft.com/dotnet/core/extensions/console-log-formatter) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging) + +## Related Packages + + +[Microsoft.Extensions.Logging.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions) +[Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging) +[Microsoft.Extensions.Logging.Debug](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Debug) +[Microsoft.Extensions.Logging.EventSource](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventSource) +[Microsoft.Extensions.Logging.EventLog](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventLog) +[Microsoft.Extensions.Logging.TraceSource](https://www.nuget.org/packages/Microsoft.Extensions.Logging.TraceSource) + +## Feedback & Contributing + + + +Microsoft.Extensions.Logging.Console is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.Console.targets b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.Console.targets new file mode 100644 index 000000000..bbb867800 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.Console.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Console.targets b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Console.targets new file mode 100644 index 000000000..b68814afb --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Console.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.Console.xml b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.Console.xml new file mode 100644 index 000000000..fd738d586 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.Console.xml @@ -0,0 +1,636 @@ + + + + Microsoft.Extensions.Logging.Console + + + + + For consoles which understand the ANSI escape code sequences to represent color + + + + + Parses a subset of display attributes + Set Display Attributes + Set Attribute Mode [{attr1};...;{attrn}m + Sets multiple display attribute settings. The following lists standard attributes that are getting parsed: + 1 Bright + Foreground Colours + 30 Black + 31 Red + 32 Green + 33 Yellow + 34 Blue + 35 Magenta + 36 Cyan + 37 White + Background Colours + 40 Black + 41 Red + 42 Green + 43 Yellow + 44 Blue + 45 Magenta + 46 Cyan + 47 White + + + + + Settings for a . + + + + + Creates a new instance of . + + The configuration values. + + + + Gets the that propagates notifications that a change has occurred. + + + + + Gets a value indicating whether scopes should be included in the message. + + + + + Reload the settings from the configuration. + + The reloaded settings. + + + + Gets the log level for the specified switch. + + The name of the switch to look up. + When this method returns, contains the value of the switch if it is found. If the switch is not found, the method returns false and sets the value of level to LogLevel.None + if the switch was found, otherwise . + + + + + Allows custom log messages formatting. + + + + + Initializes a new instance of . + + + + + + Gets the name associated with the console log formatter. + + + + + Writes the log message to the specified TextWriter. + + + If the formatter wants to write colors to the console, it can do so by embedding ANSI color codes into the string. + + The log entry. + The provider of scope data. + The string writer embedding ansi code for colors. + The type of the object to be written. + + + + Reserved formatter names for the built-in console formatters. + + + + + Reserved name for simple console formatter. + + + + + Reserved name for json console formatter. + + + + + Reserved name for systemd console formatter. + + + + + Options for the built-in console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether scopes are included. + + + if scopes are included. + + + + + Gets or sets the format string used to format timestamp in logging messages. + + + The default is . + + + + + Gets or sets a value that indicates whether or not UTC timezone should be used to format timestamps in logging messages. + + + The default is . + + + + + A logger that writes messages in the console. + + + + + + + + + + + + + + + + + Describes the format of messages. + + + + + Produce messages in the default console format. + + + + + Produce messages in a format suitable for console output to the systemd journal. + + + + + Options for a . + + + + + Gets or sets a value that indicates whether colors are disabled. + + + if colors are disabled. + + + + + Gets or sets the log message format. + + + The default value is . + + + + + Gets or sets the name of the log message formatter to use. + + + The default value is . + + + + + Gets or sets a value that indicates whether scopes are included. + + + if scopes are included. + + + + + Gets or sets value indicating the minimum level of messages that get written to Console.Error. + + + + + Gets or sets the format string used to format timestamp in logging messages. + + + The default value is . + + + + + Gets or sets a value that indicates whether UTC timezone should be used to format timestamps in logging messages. + + + if the UTC timezone should be used to format timestamps. The default value is . + + + + + Gets or sets the desired console logger behavior when the queue becomes full. + + + The default value is . + + + + + Gets or sets the maximum number of enqueued messages. + + + The default value is 2500. + + + + + A provider of instances. + + + + + Creates an instance of . + + The options to create instances with. + + + + Creates an instance of . + + The options to create instances with. + Log formatters added for instances. + + + + + + + + + + + + + Describes the console logger behavior when the queue becomes full. + + + + + Blocks the logging threads once the queue limit is reached. + + + + + Drops new log messages when the queue is full. + + + + + This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions. + + + + + + + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + + + + + + + + + + This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions. + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + This property is retained only for compatibility. + This property is retained only for compatibility. + This property is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + + + + Options for the built-in JSON console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets JsonWriterOptions. + + + + + Describes when to use color when logging messages. + + + + + Use the default color behavior, enabling color except when the console output is redirected. + + + Enables color except when the console output is redirected. + + + + + Enable color for logging. + + + + + Disable color for logging. + + + + + Options for the built-in default console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the behavior that describes when to use color when logging messages. + + + + + Gets or sets a value that indicates whether the entire message is logged in a single line. + + + if the entire message is logged in a single line. + + + + + Configures a ConsoleFormatterOptions object from an IConfiguration. + + + Doesn't use ConfigurationBinder in order to allow ConfigurationBinder, and all its dependencies, + to be trimmed. This improves app size and startup. + + + + + Configures a ConsoleLoggerOptions object from an IConfiguration. + + + Doesn't use ConfigurationBinder in order to allow ConfigurationBinder, and all its dependencies, + to be trimmed. This improves app size and startup. + + + + + Provides extension methods for the and classes. + + + + + Adds a console logger named 'Console' to the factory. + + The to use. + + + + Adds a console logger named 'Console' to the factory. + + The to use. + A delegate to configure the . + + + + Add the default console log formatter named 'simple' to the factory with default properties. + + The to use. + + + + Add and configure a console log formatter named 'simple' to the factory. + + The to use. + A delegate to configure the options for the built-in default log formatter. + + + + Add a console log formatter named 'json' to the factory with default properties. + + The to use. + + + + Add and configure a console log formatter named 'json' to the factory. + + The to use. + A delegate to configure the options for the built-in json log formatter. + + + + Add and configure a console log formatter named 'systemd' to the factory. + + The to use. + A delegate to configure the options for the built-in systemd log formatter. + + + + Add a console log formatter named 'systemd' to the factory with default properties. + + The to use. + + + + Adds a custom console logger formatter 'TFormatter' to be configured with options 'TOptions'. + + The to use. + + + + Adds a custom console logger formatter 'TFormatter' to be configured with options 'TOptions'. + + The to use. + A delegate to configure options 'TOptions' for custom formatter 'TFormatter'. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Tries to get the configuration value for the specified key. + + + If required by the binder options, validates that there are no unknown keys in the input configuration object. + + + Whether to output ansi color strings. + + + Get whether to emit ANSI color codes. + + + {0} is not a supported queue mode value. + + + {0} must be larger than zero. + + + {0} message(s) dropped because of queue size limit. Increase the queue size or decrease logging verbosity to avoid this. You may change `ConsoleLoggerQueueFullMode` to stop dropping messages. + + + Failed to convert configuration value at '{0}' to type '{1}'. + + + diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.Console.xml b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.Console.xml new file mode 100644 index 000000000..a4b530f51 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.Console.xml @@ -0,0 +1,1413 @@ + + + + Microsoft.Extensions.Logging.Console + + + + + For consoles which understand the ANSI escape code sequences to represent color + + + + + Parses a subset of display attributes + Set Display Attributes + Set Attribute Mode [{attr1};...;{attrn}m + Sets multiple display attribute settings. The following lists standard attributes that are getting parsed: + 1 Bright + Foreground Colours + 30 Black + 31 Red + 32 Green + 33 Yellow + 34 Blue + 35 Magenta + 36 Cyan + 37 White + Background Colours + 40 Black + 41 Red + 42 Green + 43 Yellow + 44 Blue + 45 Magenta + 46 Cyan + 47 White + + + + + Settings for a . + + + + + Creates a new instance of . + + The configuration values. + + + + Gets the that propagates notifications that a change has occurred. + + + + + Gets a value indicating whether scopes should be included in the message. + + + + + Reload the settings from the configuration. + + The reloaded settings. + + + + Gets the log level for the specified switch. + + The name of the switch to look up. + When this method returns, contains the value of the switch if it is found. If the switch is not found, the method returns false and sets the value of level to LogLevel.None + if the switch was found, otherwise . + + + + + Allows custom log messages formatting. + + + + + Initializes a new instance of . + + + + + + Gets the name associated with the console log formatter. + + + + + Writes the log message to the specified TextWriter. + + + If the formatter wants to write colors to the console, it can do so by embedding ANSI color codes into the string. + + The log entry. + The provider of scope data. + The string writer embedding ansi code for colors. + The type of the object to be written. + + + + Reserved formatter names for the built-in console formatters. + + + + + Reserved name for simple console formatter. + + + + + Reserved name for json console formatter. + + + + + Reserved name for systemd console formatter. + + + + + Options for the built-in console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether scopes are included. + + + if scopes are included. + + + + + Gets or sets the format string used to format timestamp in logging messages. + + + The default is . + + + + + Gets or sets a value that indicates whether or not UTC timezone should be used to format timestamps in logging messages. + + + The default is . + + + + + A logger that writes messages in the console. + + + + + + + + + + + + + + + + + Describes the format of messages. + + + + + Produce messages in the default console format. + + + + + Produce messages in a format suitable for console output to the systemd journal. + + + + + Options for a . + + + + + Gets or sets a value that indicates whether colors are disabled. + + + if colors are disabled. + + + + + Gets or sets the log message format. + + + The default value is . + + + + + Gets or sets the name of the log message formatter to use. + + + The default value is . + + + + + Gets or sets a value that indicates whether scopes are included. + + + if scopes are included. + + + + + Gets or sets value indicating the minimum level of messages that get written to Console.Error. + + + + + Gets or sets the format string used to format timestamp in logging messages. + + + The default value is . + + + + + Gets or sets a value that indicates whether UTC timezone should be used to format timestamps in logging messages. + + + if the UTC timezone should be used to format timestamps. The default value is . + + + + + Gets or sets the desired console logger behavior when the queue becomes full. + + + The default value is . + + + + + Gets or sets the maximum number of enqueued messages. + + + The default value is 2500. + + + + + A provider of instances. + + + + + Creates an instance of . + + The options to create instances with. + + + + Creates an instance of . + + The options to create instances with. + Log formatters added for instances. + + + + + + + + + + + + + Describes the console logger behavior when the queue becomes full. + + + + + Blocks the logging threads once the queue limit is reached. + + + + + Drops new log messages when the queue is full. + + + + + This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions. + + + + + + + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + + + + + + + + + + This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions. + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + This property is retained only for compatibility. + This property is retained only for compatibility. + This property is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + + + + Options for the built-in JSON console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets JsonWriterOptions. + + + + + Describes when to use color when logging messages. + + + + + Use the default color behavior, enabling color except when the console output is redirected. + + + Enables color except when the console output is redirected. + + + + + Enable color for logging. + + + + + Disable color for logging. + + + + + Options for the built-in default console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the behavior that describes when to use color when logging messages. + + + + + Gets or sets a value that indicates whether the entire message is logged in a single line. + + + if the entire message is logged in a single line. + + + + + Configures a ConsoleFormatterOptions object from an IConfiguration. + + + Doesn't use ConfigurationBinder in order to allow ConfigurationBinder, and all its dependencies, + to be trimmed. This improves app size and startup. + + + + + Configures a ConsoleLoggerOptions object from an IConfiguration. + + + Doesn't use ConfigurationBinder in order to allow ConfigurationBinder, and all its dependencies, + to be trimmed. This improves app size and startup. + + + + + Provides extension methods for the and classes. + + + + + Adds a console logger named 'Console' to the factory. + + The to use. + + + + Adds a console logger named 'Console' to the factory. + + The to use. + A delegate to configure the . + + + + Add the default console log formatter named 'simple' to the factory with default properties. + + The to use. + + + + Add and configure a console log formatter named 'simple' to the factory. + + The to use. + A delegate to configure the options for the built-in default log formatter. + + + + Add a console log formatter named 'json' to the factory with default properties. + + The to use. + + + + Add and configure a console log formatter named 'json' to the factory. + + The to use. + A delegate to configure the options for the built-in json log formatter. + + + + Add and configure a console log formatter named 'systemd' to the factory. + + The to use. + A delegate to configure the options for the built-in systemd log formatter. + + + + Add a console log formatter named 'systemd' to the factory with default properties. + + The to use. + + + + Adds a custom console logger formatter 'TFormatter' to be configured with options 'TOptions'. + + The to use. + + + + Adds a custom console logger formatter 'TFormatter' to be configured with options 'TOptions'. + + The to use. + A delegate to configure options 'TOptions' for custom formatter 'TFormatter'. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Tries to get the configuration value for the specified key. + + + If required by the binder options, validates that there are no unknown keys in the input configuration object. + + + Whether to output ansi color strings. + + + Get whether to emit ANSI color codes. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + + States a dependency that one member has on another. + + + This can be used to inform tooling of a dependency that is otherwise not evident purely from + metadata and IL, for example a member relied on via reflection. + + + + + Initializes a new instance of the class + with the specified signature of a member on the same type as the consumer. + + The signature of the member depended on. + + + + Initializes a new instance of the class + with the specified signature of a member on a . + + The signature of the member depended on. + The containing . + + + + Initializes a new instance of the class + with the specified signature of a member on a type in an assembly. + + The signature of the member depended on. + The full name of the type containing the specified member. + The assembly name of the type containing the specified member. + + + + Initializes a new instance of the class + with the specified types of members on a . + + The types of members depended on. + The containing the specified members. + + + + Initializes a new instance of the class + with the specified types of members on a type in an assembly. + + The types of members depended on. + The full name of the type containing the specified members. + The assembly name of the type containing the specified members. + + + + Gets the signature of the member depended on. + + + Either must be a valid string or + must not equal , but not both. + + + + + Gets the which specifies the type + of members depended on. + + + Either must be a valid string or + must not equal , but not both. + + + + + Gets the containing the specified member. + + + If neither nor are specified, + the type of the consumer is assumed. + + + + + Gets the full name of the type containing the specified member. + + + If neither nor are specified, + the type of the consumer is assumed. + + + + + Gets the assembly name of the specified type. + + + is only valid when is specified. + + + + + Gets or sets the condition in which the dependency is applicable. + + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + When set to true, indicates that the annotation should not apply to static members. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + + Indicates that the specified method requires dynamic access to code that is not referenced + statically, for example through . + + + This allows tools to understand which methods are unsafe to call when removing unreferenced + code from an application. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of unreferenced code. + + + + + When set to true, indicates that the annotation should not apply to static members. + + + + + Gets a message that contains information about the usage of unreferenced code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires unreferenced code, and what options a consumer has to deal with it. + + + + Specifies the syntax used in a string. + + + Initializes the with the identifier of the syntax used. + The syntax identifier. + + + Initializes the with the identifier of the syntax used. + The syntax identifier. + Optional arguments associated with the specific syntax employed. + + + Gets the identifier of the syntax used. + + + Optional arguments associated with the specific syntax employed. + + + The syntax identifier for strings containing composite formats for string formatting. + + + The syntax identifier for strings containing date format specifiers. + + + The syntax identifier for strings containing date and time format specifiers. + + + The syntax identifier for strings containing format specifiers. + + + The syntax identifier for strings containing format specifiers. + + + The syntax identifier for strings containing JavaScript Object Notation (JSON). + + + The syntax identifier for strings containing numeric format specifiers. + + + The syntax identifier for strings containing regular expressions. + + + The syntax identifier for strings containing time format specifiers. + + + The syntax identifier for strings containing format specifiers. + + + The syntax identifier for strings containing URIs. + + + The syntax identifier for strings containing XML. + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Base type for all platform-specific API attributes. + + + + + Records the platform that the project targeted. + + + + + Records the operating system (and minimum version) that supports an API. Multiple attributes can be + applied to indicate support on multiple operating systems. + + + Callers can apply a + or use guards to prevent calls to APIs on unsupported operating systems. + + A given platform should only be specified once. + + + + + Marks APIs that were removed in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that are only available in + earlier versions. + + + + + Marks APIs that were obsoleted in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that should not be used anymore. + + + + + Initializes a new instance of the class with the specified platform name. + + The name of the platform where the API was obsoleted. + + + + Initializes a new instance of the class with the specified platform name and message. + + The name of the platform where the API was obsoleted. + The message that explains the obsolescence. + + + + Gets the message that explains the obsolescence. + + + + + Gets or sets the URL that provides more information about the obsolescence. + + + + + Annotates a custom guard field, property or method with a supported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple supported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + + Annotates the custom guard field, property or method with an unsupported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple unsupported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + {0} is not a supported queue mode value. + + + {0} must be larger than zero. + + + {0} message(s) dropped because of queue size limit. Increase the queue size or decrease logging verbosity to avoid this. You may change `ConsoleLoggerQueueFullMode` to stop dropping messages. + + + Failed to convert configuration value at '{0}' to type '{1}'. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.Console.xml b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.Console.xml new file mode 100644 index 000000000..fd738d586 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.Console.xml @@ -0,0 +1,636 @@ + + + + Microsoft.Extensions.Logging.Console + + + + + For consoles which understand the ANSI escape code sequences to represent color + + + + + Parses a subset of display attributes + Set Display Attributes + Set Attribute Mode [{attr1};...;{attrn}m + Sets multiple display attribute settings. The following lists standard attributes that are getting parsed: + 1 Bright + Foreground Colours + 30 Black + 31 Red + 32 Green + 33 Yellow + 34 Blue + 35 Magenta + 36 Cyan + 37 White + Background Colours + 40 Black + 41 Red + 42 Green + 43 Yellow + 44 Blue + 45 Magenta + 46 Cyan + 47 White + + + + + Settings for a . + + + + + Creates a new instance of . + + The configuration values. + + + + Gets the that propagates notifications that a change has occurred. + + + + + Gets a value indicating whether scopes should be included in the message. + + + + + Reload the settings from the configuration. + + The reloaded settings. + + + + Gets the log level for the specified switch. + + The name of the switch to look up. + When this method returns, contains the value of the switch if it is found. If the switch is not found, the method returns false and sets the value of level to LogLevel.None + if the switch was found, otherwise . + + + + + Allows custom log messages formatting. + + + + + Initializes a new instance of . + + + + + + Gets the name associated with the console log formatter. + + + + + Writes the log message to the specified TextWriter. + + + If the formatter wants to write colors to the console, it can do so by embedding ANSI color codes into the string. + + The log entry. + The provider of scope data. + The string writer embedding ansi code for colors. + The type of the object to be written. + + + + Reserved formatter names for the built-in console formatters. + + + + + Reserved name for simple console formatter. + + + + + Reserved name for json console formatter. + + + + + Reserved name for systemd console formatter. + + + + + Options for the built-in console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether scopes are included. + + + if scopes are included. + + + + + Gets or sets the format string used to format timestamp in logging messages. + + + The default is . + + + + + Gets or sets a value that indicates whether or not UTC timezone should be used to format timestamps in logging messages. + + + The default is . + + + + + A logger that writes messages in the console. + + + + + + + + + + + + + + + + + Describes the format of messages. + + + + + Produce messages in the default console format. + + + + + Produce messages in a format suitable for console output to the systemd journal. + + + + + Options for a . + + + + + Gets or sets a value that indicates whether colors are disabled. + + + if colors are disabled. + + + + + Gets or sets the log message format. + + + The default value is . + + + + + Gets or sets the name of the log message formatter to use. + + + The default value is . + + + + + Gets or sets a value that indicates whether scopes are included. + + + if scopes are included. + + + + + Gets or sets value indicating the minimum level of messages that get written to Console.Error. + + + + + Gets or sets the format string used to format timestamp in logging messages. + + + The default value is . + + + + + Gets or sets a value that indicates whether UTC timezone should be used to format timestamps in logging messages. + + + if the UTC timezone should be used to format timestamps. The default value is . + + + + + Gets or sets the desired console logger behavior when the queue becomes full. + + + The default value is . + + + + + Gets or sets the maximum number of enqueued messages. + + + The default value is 2500. + + + + + A provider of instances. + + + + + Creates an instance of . + + The options to create instances with. + + + + Creates an instance of . + + The options to create instances with. + Log formatters added for instances. + + + + + + + + + + + + + Describes the console logger behavior when the queue becomes full. + + + + + Blocks the logging threads once the queue limit is reached. + + + + + Drops new log messages when the queue is full. + + + + + This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions. + + + + + + + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + + + + + + + + + + This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions. + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + This property is retained only for compatibility. + This property is retained only for compatibility. + This property is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + + + + Options for the built-in JSON console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets JsonWriterOptions. + + + + + Describes when to use color when logging messages. + + + + + Use the default color behavior, enabling color except when the console output is redirected. + + + Enables color except when the console output is redirected. + + + + + Enable color for logging. + + + + + Disable color for logging. + + + + + Options for the built-in default console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the behavior that describes when to use color when logging messages. + + + + + Gets or sets a value that indicates whether the entire message is logged in a single line. + + + if the entire message is logged in a single line. + + + + + Configures a ConsoleFormatterOptions object from an IConfiguration. + + + Doesn't use ConfigurationBinder in order to allow ConfigurationBinder, and all its dependencies, + to be trimmed. This improves app size and startup. + + + + + Configures a ConsoleLoggerOptions object from an IConfiguration. + + + Doesn't use ConfigurationBinder in order to allow ConfigurationBinder, and all its dependencies, + to be trimmed. This improves app size and startup. + + + + + Provides extension methods for the and classes. + + + + + Adds a console logger named 'Console' to the factory. + + The to use. + + + + Adds a console logger named 'Console' to the factory. + + The to use. + A delegate to configure the . + + + + Add the default console log formatter named 'simple' to the factory with default properties. + + The to use. + + + + Add and configure a console log formatter named 'simple' to the factory. + + The to use. + A delegate to configure the options for the built-in default log formatter. + + + + Add a console log formatter named 'json' to the factory with default properties. + + The to use. + + + + Add and configure a console log formatter named 'json' to the factory. + + The to use. + A delegate to configure the options for the built-in json log formatter. + + + + Add and configure a console log formatter named 'systemd' to the factory. + + The to use. + A delegate to configure the options for the built-in systemd log formatter. + + + + Add a console log formatter named 'systemd' to the factory with default properties. + + The to use. + + + + Adds a custom console logger formatter 'TFormatter' to be configured with options 'TOptions'. + + The to use. + + + + Adds a custom console logger formatter 'TFormatter' to be configured with options 'TOptions'. + + The to use. + A delegate to configure options 'TOptions' for custom formatter 'TFormatter'. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Tries to get the configuration value for the specified key. + + + If required by the binder options, validates that there are no unknown keys in the input configuration object. + + + Whether to output ansi color strings. + + + Get whether to emit ANSI color codes. + + + {0} is not a supported queue mode value. + + + {0} must be larger than zero. + + + {0} message(s) dropped because of queue size limit. Increase the queue size or decrease logging verbosity to avoid this. You may change `ConsoleLoggerQueueFullMode` to stop dropping messages. + + + Failed to convert configuration value at '{0}' to type '{1}'. + + + diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.Console.xml b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.Console.xml new file mode 100644 index 000000000..fd738d586 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.Console.xml @@ -0,0 +1,636 @@ + + + + Microsoft.Extensions.Logging.Console + + + + + For consoles which understand the ANSI escape code sequences to represent color + + + + + Parses a subset of display attributes + Set Display Attributes + Set Attribute Mode [{attr1};...;{attrn}m + Sets multiple display attribute settings. The following lists standard attributes that are getting parsed: + 1 Bright + Foreground Colours + 30 Black + 31 Red + 32 Green + 33 Yellow + 34 Blue + 35 Magenta + 36 Cyan + 37 White + Background Colours + 40 Black + 41 Red + 42 Green + 43 Yellow + 44 Blue + 45 Magenta + 46 Cyan + 47 White + + + + + Settings for a . + + + + + Creates a new instance of . + + The configuration values. + + + + Gets the that propagates notifications that a change has occurred. + + + + + Gets a value indicating whether scopes should be included in the message. + + + + + Reload the settings from the configuration. + + The reloaded settings. + + + + Gets the log level for the specified switch. + + The name of the switch to look up. + When this method returns, contains the value of the switch if it is found. If the switch is not found, the method returns false and sets the value of level to LogLevel.None + if the switch was found, otherwise . + + + + + Allows custom log messages formatting. + + + + + Initializes a new instance of . + + + + + + Gets the name associated with the console log formatter. + + + + + Writes the log message to the specified TextWriter. + + + If the formatter wants to write colors to the console, it can do so by embedding ANSI color codes into the string. + + The log entry. + The provider of scope data. + The string writer embedding ansi code for colors. + The type of the object to be written. + + + + Reserved formatter names for the built-in console formatters. + + + + + Reserved name for simple console formatter. + + + + + Reserved name for json console formatter. + + + + + Reserved name for systemd console formatter. + + + + + Options for the built-in console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether scopes are included. + + + if scopes are included. + + + + + Gets or sets the format string used to format timestamp in logging messages. + + + The default is . + + + + + Gets or sets a value that indicates whether or not UTC timezone should be used to format timestamps in logging messages. + + + The default is . + + + + + A logger that writes messages in the console. + + + + + + + + + + + + + + + + + Describes the format of messages. + + + + + Produce messages in the default console format. + + + + + Produce messages in a format suitable for console output to the systemd journal. + + + + + Options for a . + + + + + Gets or sets a value that indicates whether colors are disabled. + + + if colors are disabled. + + + + + Gets or sets the log message format. + + + The default value is . + + + + + Gets or sets the name of the log message formatter to use. + + + The default value is . + + + + + Gets or sets a value that indicates whether scopes are included. + + + if scopes are included. + + + + + Gets or sets value indicating the minimum level of messages that get written to Console.Error. + + + + + Gets or sets the format string used to format timestamp in logging messages. + + + The default value is . + + + + + Gets or sets a value that indicates whether UTC timezone should be used to format timestamps in logging messages. + + + if the UTC timezone should be used to format timestamps. The default value is . + + + + + Gets or sets the desired console logger behavior when the queue becomes full. + + + The default value is . + + + + + Gets or sets the maximum number of enqueued messages. + + + The default value is 2500. + + + + + A provider of instances. + + + + + Creates an instance of . + + The options to create instances with. + + + + Creates an instance of . + + The options to create instances with. + Log formatters added for instances. + + + + + + + + + + + + + Describes the console logger behavior when the queue becomes full. + + + + + Blocks the logging threads once the queue limit is reached. + + + + + Drops new log messages when the queue is full. + + + + + This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions. + + + + + + + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + + + + + + + + + + This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions. + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + This property is retained only for compatibility. + This property is retained only for compatibility. + This property is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + + + + Options for the built-in JSON console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets JsonWriterOptions. + + + + + Describes when to use color when logging messages. + + + + + Use the default color behavior, enabling color except when the console output is redirected. + + + Enables color except when the console output is redirected. + + + + + Enable color for logging. + + + + + Disable color for logging. + + + + + Options for the built-in default console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the behavior that describes when to use color when logging messages. + + + + + Gets or sets a value that indicates whether the entire message is logged in a single line. + + + if the entire message is logged in a single line. + + + + + Configures a ConsoleFormatterOptions object from an IConfiguration. + + + Doesn't use ConfigurationBinder in order to allow ConfigurationBinder, and all its dependencies, + to be trimmed. This improves app size and startup. + + + + + Configures a ConsoleLoggerOptions object from an IConfiguration. + + + Doesn't use ConfigurationBinder in order to allow ConfigurationBinder, and all its dependencies, + to be trimmed. This improves app size and startup. + + + + + Provides extension methods for the and classes. + + + + + Adds a console logger named 'Console' to the factory. + + The to use. + + + + Adds a console logger named 'Console' to the factory. + + The to use. + A delegate to configure the . + + + + Add the default console log formatter named 'simple' to the factory with default properties. + + The to use. + + + + Add and configure a console log formatter named 'simple' to the factory. + + The to use. + A delegate to configure the options for the built-in default log formatter. + + + + Add a console log formatter named 'json' to the factory with default properties. + + The to use. + + + + Add and configure a console log formatter named 'json' to the factory. + + The to use. + A delegate to configure the options for the built-in json log formatter. + + + + Add and configure a console log formatter named 'systemd' to the factory. + + The to use. + A delegate to configure the options for the built-in systemd log formatter. + + + + Add a console log formatter named 'systemd' to the factory with default properties. + + The to use. + + + + Adds a custom console logger formatter 'TFormatter' to be configured with options 'TOptions'. + + The to use. + + + + Adds a custom console logger formatter 'TFormatter' to be configured with options 'TOptions'. + + The to use. + A delegate to configure options 'TOptions' for custom formatter 'TFormatter'. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Tries to get the configuration value for the specified key. + + + If required by the binder options, validates that there are no unknown keys in the input configuration object. + + + Whether to output ansi color strings. + + + Get whether to emit ANSI color codes. + + + {0} is not a supported queue mode value. + + + {0} must be larger than zero. + + + {0} message(s) dropped because of queue size limit. Increase the queue size or decrease logging verbosity to avoid this. You may change `ConsoleLoggerQueueFullMode` to stop dropping messages. + + + Failed to convert configuration value at '{0}' to type '{1}'. + + + diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.Console.xml b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.Console.xml new file mode 100644 index 000000000..a4b530f51 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.Console.xml @@ -0,0 +1,1413 @@ + + + + Microsoft.Extensions.Logging.Console + + + + + For consoles which understand the ANSI escape code sequences to represent color + + + + + Parses a subset of display attributes + Set Display Attributes + Set Attribute Mode [{attr1};...;{attrn}m + Sets multiple display attribute settings. The following lists standard attributes that are getting parsed: + 1 Bright + Foreground Colours + 30 Black + 31 Red + 32 Green + 33 Yellow + 34 Blue + 35 Magenta + 36 Cyan + 37 White + Background Colours + 40 Black + 41 Red + 42 Green + 43 Yellow + 44 Blue + 45 Magenta + 46 Cyan + 47 White + + + + + Settings for a . + + + + + Creates a new instance of . + + The configuration values. + + + + Gets the that propagates notifications that a change has occurred. + + + + + Gets a value indicating whether scopes should be included in the message. + + + + + Reload the settings from the configuration. + + The reloaded settings. + + + + Gets the log level for the specified switch. + + The name of the switch to look up. + When this method returns, contains the value of the switch if it is found. If the switch is not found, the method returns false and sets the value of level to LogLevel.None + if the switch was found, otherwise . + + + + + Allows custom log messages formatting. + + + + + Initializes a new instance of . + + + + + + Gets the name associated with the console log formatter. + + + + + Writes the log message to the specified TextWriter. + + + If the formatter wants to write colors to the console, it can do so by embedding ANSI color codes into the string. + + The log entry. + The provider of scope data. + The string writer embedding ansi code for colors. + The type of the object to be written. + + + + Reserved formatter names for the built-in console formatters. + + + + + Reserved name for simple console formatter. + + + + + Reserved name for json console formatter. + + + + + Reserved name for systemd console formatter. + + + + + Options for the built-in console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value that indicates whether scopes are included. + + + if scopes are included. + + + + + Gets or sets the format string used to format timestamp in logging messages. + + + The default is . + + + + + Gets or sets a value that indicates whether or not UTC timezone should be used to format timestamps in logging messages. + + + The default is . + + + + + A logger that writes messages in the console. + + + + + + + + + + + + + + + + + Describes the format of messages. + + + + + Produce messages in the default console format. + + + + + Produce messages in a format suitable for console output to the systemd journal. + + + + + Options for a . + + + + + Gets or sets a value that indicates whether colors are disabled. + + + if colors are disabled. + + + + + Gets or sets the log message format. + + + The default value is . + + + + + Gets or sets the name of the log message formatter to use. + + + The default value is . + + + + + Gets or sets a value that indicates whether scopes are included. + + + if scopes are included. + + + + + Gets or sets value indicating the minimum level of messages that get written to Console.Error. + + + + + Gets or sets the format string used to format timestamp in logging messages. + + + The default value is . + + + + + Gets or sets a value that indicates whether UTC timezone should be used to format timestamps in logging messages. + + + if the UTC timezone should be used to format timestamps. The default value is . + + + + + Gets or sets the desired console logger behavior when the queue becomes full. + + + The default value is . + + + + + Gets or sets the maximum number of enqueued messages. + + + The default value is 2500. + + + + + A provider of instances. + + + + + Creates an instance of . + + The options to create instances with. + + + + Creates an instance of . + + The options to create instances with. + Log formatters added for instances. + + + + + + + + + + + + + Describes the console logger behavior when the queue becomes full. + + + + + Blocks the logging threads once the queue limit is reached. + + + + + Drops new log messages when the queue is full. + + + + + This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions. + + + + + + + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + + + + + + + + + + This type is retained only for compatibility. The recommended alternative is ConsoleLoggerOptions. + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + + + + This property is retained only for compatibility. + + This property is retained only for compatibility. + This property is retained only for compatibility. + This property is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + + + + Options for the built-in JSON console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets JsonWriterOptions. + + + + + Describes when to use color when logging messages. + + + + + Use the default color behavior, enabling color except when the console output is redirected. + + + Enables color except when the console output is redirected. + + + + + Enable color for logging. + + + + + Disable color for logging. + + + + + Options for the built-in default console log formatter. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the behavior that describes when to use color when logging messages. + + + + + Gets or sets a value that indicates whether the entire message is logged in a single line. + + + if the entire message is logged in a single line. + + + + + Configures a ConsoleFormatterOptions object from an IConfiguration. + + + Doesn't use ConfigurationBinder in order to allow ConfigurationBinder, and all its dependencies, + to be trimmed. This improves app size and startup. + + + + + Configures a ConsoleLoggerOptions object from an IConfiguration. + + + Doesn't use ConfigurationBinder in order to allow ConfigurationBinder, and all its dependencies, + to be trimmed. This improves app size and startup. + + + + + Provides extension methods for the and classes. + + + + + Adds a console logger named 'Console' to the factory. + + The to use. + + + + Adds a console logger named 'Console' to the factory. + + The to use. + A delegate to configure the . + + + + Add the default console log formatter named 'simple' to the factory with default properties. + + The to use. + + + + Add and configure a console log formatter named 'simple' to the factory. + + The to use. + A delegate to configure the options for the built-in default log formatter. + + + + Add a console log formatter named 'json' to the factory with default properties. + + The to use. + + + + Add and configure a console log formatter named 'json' to the factory. + + The to use. + A delegate to configure the options for the built-in json log formatter. + + + + Add and configure a console log formatter named 'systemd' to the factory. + + The to use. + A delegate to configure the options for the built-in systemd log formatter. + + + + Add a console log formatter named 'systemd' to the factory with default properties. + + The to use. + + + + Adds a custom console logger formatter 'TFormatter' to be configured with options 'TOptions'. + + The to use. + + + + Adds a custom console logger formatter 'TFormatter' to be configured with options 'TOptions'. + + The to use. + A delegate to configure options 'TOptions' for custom formatter 'TFormatter'. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + This method is retained only for compatibility. + + This method is retained only for compatibility. + This method is retained only for compatibility. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively. + + + Tries to get the configuration value for the specified key. + + + If required by the binder options, validates that there are no unknown keys in the input configuration object. + + + Whether to output ansi color strings. + + + Get whether to emit ANSI color codes. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + + States a dependency that one member has on another. + + + This can be used to inform tooling of a dependency that is otherwise not evident purely from + metadata and IL, for example a member relied on via reflection. + + + + + Initializes a new instance of the class + with the specified signature of a member on the same type as the consumer. + + The signature of the member depended on. + + + + Initializes a new instance of the class + with the specified signature of a member on a . + + The signature of the member depended on. + The containing . + + + + Initializes a new instance of the class + with the specified signature of a member on a type in an assembly. + + The signature of the member depended on. + The full name of the type containing the specified member. + The assembly name of the type containing the specified member. + + + + Initializes a new instance of the class + with the specified types of members on a . + + The types of members depended on. + The containing the specified members. + + + + Initializes a new instance of the class + with the specified types of members on a type in an assembly. + + The types of members depended on. + The full name of the type containing the specified members. + The assembly name of the type containing the specified members. + + + + Gets the signature of the member depended on. + + + Either must be a valid string or + must not equal , but not both. + + + + + Gets the which specifies the type + of members depended on. + + + Either must be a valid string or + must not equal , but not both. + + + + + Gets the containing the specified member. + + + If neither nor are specified, + the type of the consumer is assumed. + + + + + Gets the full name of the type containing the specified member. + + + If neither nor are specified, + the type of the consumer is assumed. + + + + + Gets the assembly name of the specified type. + + + is only valid when is specified. + + + + + Gets or sets the condition in which the dependency is applicable. + + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + When set to true, indicates that the annotation should not apply to static members. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + + Indicates that the specified method requires dynamic access to code that is not referenced + statically, for example through . + + + This allows tools to understand which methods are unsafe to call when removing unreferenced + code from an application. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of unreferenced code. + + + + + When set to true, indicates that the annotation should not apply to static members. + + + + + Gets a message that contains information about the usage of unreferenced code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires unreferenced code, and what options a consumer has to deal with it. + + + + Specifies the syntax used in a string. + + + Initializes the with the identifier of the syntax used. + The syntax identifier. + + + Initializes the with the identifier of the syntax used. + The syntax identifier. + Optional arguments associated with the specific syntax employed. + + + Gets the identifier of the syntax used. + + + Optional arguments associated with the specific syntax employed. + + + The syntax identifier for strings containing composite formats for string formatting. + + + The syntax identifier for strings containing date format specifiers. + + + The syntax identifier for strings containing date and time format specifiers. + + + The syntax identifier for strings containing format specifiers. + + + The syntax identifier for strings containing format specifiers. + + + The syntax identifier for strings containing JavaScript Object Notation (JSON). + + + The syntax identifier for strings containing numeric format specifiers. + + + The syntax identifier for strings containing regular expressions. + + + The syntax identifier for strings containing time format specifiers. + + + The syntax identifier for strings containing format specifiers. + + + The syntax identifier for strings containing URIs. + + + The syntax identifier for strings containing XML. + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + When applied to an attribute class, instructs the compiler to flow applications of that attribute, + from source code down to compiler-generated symbols. This can help IL-based analysis tools. + + + One example where this attribute applies is in C# primary constructor parameters. If an attribute + marked with gets applied to a primary constructor + parameter, the attribute will also be applied to any compiler-generated fields storing that parameter. + + + + + Initializes a new instance of the class. + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Base type for all platform-specific API attributes. + + + + + Records the platform that the project targeted. + + + + + Records the operating system (and minimum version) that supports an API. Multiple attributes can be + applied to indicate support on multiple operating systems. + + + Callers can apply a + or use guards to prevent calls to APIs on unsupported operating systems. + + A given platform should only be specified once. + + + + + Marks APIs that were removed in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that are only available in + earlier versions. + + + + + Marks APIs that were obsoleted in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that should not be used anymore. + + + + + Initializes a new instance of the class with the specified platform name. + + The name of the platform where the API was obsoleted. + + + + Initializes a new instance of the class with the specified platform name and message. + + The name of the platform where the API was obsoleted. + The message that explains the obsolescence. + + + + Gets the message that explains the obsolescence. + + + + + Gets or sets the URL that provides more information about the obsolescence. + + + + + Annotates a custom guard field, property or method with a supported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple supported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + + Annotates the custom guard field, property or method with an unsupported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple unsupported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + {0} is not a supported queue mode value. + + + {0} must be larger than zero. + + + {0} message(s) dropped because of queue size limit. Increase the queue size or decrease logging verbosity to avoid this. You may change `ConsoleLoggerQueueFullMode` to stop dropping messages. + + + Failed to convert configuration value at '{0}' to type '{1}'. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/microsoft.extensions.logging.console.10.0.0-rc.2.25502.107.nupkg b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/microsoft.extensions.logging.console.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..ab426b97f Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/microsoft.extensions.logging.console.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/microsoft.extensions.logging.console.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/microsoft.extensions.logging.console.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..54af01659 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/microsoft.extensions.logging.console.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +YqvyipppOx1vi1W9eJpAGLu1CBMQGEeY6eWaD2YgyxmIV3MBlonjLSb0N/+RlczYtqfc86RV61MYDhxxOBVcbA== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.logging.console/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..a19465480 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "Cf+v1NjRS2XP06mW14zzb9j4zUyQj5VW99L49OGmY8RH+beVZvpSNvtvsbM/NgvoTuAxlkwuVCdeGPuTqBbt0g==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..bfab1065b Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.Debug.nuspec b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.Debug.nuspec new file mode 100644 index 000000000..8b57eeb2e --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.Debug.nuspec @@ -0,0 +1,45 @@ + + + + Microsoft.Extensions.Logging.Debug + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Debug output logger provider implementation for Microsoft.Extensions.Logging. This logger logs messages to a debugger monitor by writing messages with System.Diagnostics.Debug.WriteLine(). + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..b9908263d --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,100 @@ +## About + + +`Microsoft.Extensions.Logging.Debug` provides a Debug output logger provider implementation for Microsoft.Extensions.Logging. This logger logs messages to a debugger monitor by writing messages with `System.Diagnostics.Debug.WriteLine()`. + +## Key Features + + + +* Allow logging to the debugger output. +* Provide extensions method for the [ILoggingBuilder](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.iloggingbuilder) class to easily enable this Debug logger. + +## How to Use + + +```csharp +using System; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Debug; + +namespace DebugLoggerSample +{ + class Program + { + static void Main(string[] args) + { + // Create a logger factory with a debug provider + using ILoggerFactory loggerFactory = LoggerFactory.Create(builder => builder.AddDebug()); + + // Create a logger with the category name of the current class + ILogger logger = loggerFactory.CreateLogger(); + + // Log some messages with different log levels and message templates + logger.LogTrace("This is a trace message."); + logger.LogDebug("This is a debug message."); + logger.LogInformation("Hello {Name}!", "World"); + logger.LogWarning("This is a warning message."); + logger.LogError("This is an error message."); + logger.LogCritical("This is a critical message."); + + // Use structured logging to capture complex data + var person = new Person { Name = "Alice", Age = 25 }; + logger.LogInformation("Created a new person: {@Person}", person); + + // Use exception logging to capture the details of an exception + try + { + throw new Exception("Something went wrong."); + } + catch (Exception ex) + { + logger.LogError(ex, "An exception occurred."); + } + + Console.WriteLine("Press any key to exit."); + Console.ReadKey(); + } + } + + // A simple class to demonstrate structured logging + class Person + { + public string Name { get; set; } + public int Age { get; set; } + } +} + +``` + +## Main Types + + + +The main types provided by this library are: + +* `DebugLoggerProvider` +* `DebugLoggerFactoryExtensions` + +## Additional Documentation + + + +* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/logging) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging) + +## Related Packages +[Microsoft.Extensions.Logging.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions) +[Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging) +[Microsoft.Extensions.Logging.Console](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Console) +[Microsoft.Extensions.Logging.EventSource](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventSource) +[Microsoft.Extensions.Logging.EventLog](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventLog) +[Microsoft.Extensions.Logging.TraceSource](https://www.nuget.org/packages/Microsoft.Extensions.Logging.TraceSource) + + + +## Feedback & Contributing + + + +Microsoft.Extensions.Logging.Debug is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.Debug.targets b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.Debug.targets new file mode 100644 index 000000000..2dd3d5838 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.Debug.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Debug.targets b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Debug.targets new file mode 100644 index 000000000..366a44063 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Debug.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.Debug.xml b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.Debug.xml new file mode 100644 index 000000000..5a51d1802 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.Debug.xml @@ -0,0 +1,94 @@ + + + + Microsoft.Extensions.Logging.Debug + + + + + A logger that writes messages in the debug output window only when a debugger is attached. + + + + + Initializes a new instance of the class. + + The name of the logger. + + + + + + + + + + + + + The provider for the . + + + + + + + + + + + Extension methods for the class. + + + + + Adds a debug logger that is enabled for .Information or higher. + + The extension method argument. + The minimum to be logged. This parameter is no longer honored and will be ignored. + + + + Adds a debug logger that is enabled as defined by the filter function. + + The extension method argument. + The function used to filter events based on the log level. This parameter is no longer honored and is ignored. + + + + Adds a debug logger that is enabled for log levels of minLevel or higher. + + The extension method argument. + + + + Adds a debug logger named 'Debug' to the factory. + + The extension method argument. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.Debug.xml b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.Debug.xml new file mode 100644 index 000000000..ae75c5edb --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.Debug.xml @@ -0,0 +1,277 @@ + + + + Microsoft.Extensions.Logging.Debug + + + + + A logger that writes messages in the debug output window only when a debugger is attached. + + + + + Initializes a new instance of the class. + + The name of the logger. + + + + + + + + + + + + + The provider for the . + + + + + + + + + + + Extension methods for the class. + + + + + Adds a debug logger that is enabled for .Information or higher. + + The extension method argument. + The minimum to be logged. This parameter is no longer honored and will be ignored. + + + + Adds a debug logger that is enabled as defined by the filter function. + + The extension method argument. + The function used to filter events based on the log level. This parameter is no longer honored and is ignored. + + + + Adds a debug logger that is enabled for log levels of minLevel or higher. + + The extension method argument. + + + + Adds a debug logger named 'Debug' to the factory. + + The extension method argument. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.Debug.xml b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.Debug.xml new file mode 100644 index 000000000..5a51d1802 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.Debug.xml @@ -0,0 +1,94 @@ + + + + Microsoft.Extensions.Logging.Debug + + + + + A logger that writes messages in the debug output window only when a debugger is attached. + + + + + Initializes a new instance of the class. + + The name of the logger. + + + + + + + + + + + + + The provider for the . + + + + + + + + + + + Extension methods for the class. + + + + + Adds a debug logger that is enabled for .Information or higher. + + The extension method argument. + The minimum to be logged. This parameter is no longer honored and will be ignored. + + + + Adds a debug logger that is enabled as defined by the filter function. + + The extension method argument. + The function used to filter events based on the log level. This parameter is no longer honored and is ignored. + + + + Adds a debug logger that is enabled for log levels of minLevel or higher. + + The extension method argument. + + + + Adds a debug logger named 'Debug' to the factory. + + The extension method argument. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.Debug.xml b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.Debug.xml new file mode 100644 index 000000000..5a51d1802 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.Debug.xml @@ -0,0 +1,94 @@ + + + + Microsoft.Extensions.Logging.Debug + + + + + A logger that writes messages in the debug output window only when a debugger is attached. + + + + + Initializes a new instance of the class. + + The name of the logger. + + + + + + + + + + + + + The provider for the . + + + + + + + + + + + Extension methods for the class. + + + + + Adds a debug logger that is enabled for .Information or higher. + + The extension method argument. + The minimum to be logged. This parameter is no longer honored and will be ignored. + + + + Adds a debug logger that is enabled as defined by the filter function. + + The extension method argument. + The function used to filter events based on the log level. This parameter is no longer honored and is ignored. + + + + Adds a debug logger that is enabled for log levels of minLevel or higher. + + The extension method argument. + + + + Adds a debug logger named 'Debug' to the factory. + + The extension method argument. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.Debug.xml b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.Debug.xml new file mode 100644 index 000000000..ae75c5edb --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.Debug.xml @@ -0,0 +1,277 @@ + + + + Microsoft.Extensions.Logging.Debug + + + + + A logger that writes messages in the debug output window only when a debugger is attached. + + + + + Initializes a new instance of the class. + + The name of the logger. + + + + + + + + + + + + + The provider for the . + + + + + + + + + + + Extension methods for the class. + + + + + Adds a debug logger that is enabled for .Information or higher. + + The extension method argument. + The minimum to be logged. This parameter is no longer honored and will be ignored. + + + + Adds a debug logger that is enabled as defined by the filter function. + + The extension method argument. + The function used to filter events based on the log level. This parameter is no longer honored and is ignored. + + + + Adds a debug logger that is enabled for log levels of minLevel or higher. + + The extension method argument. + + + + Adds a debug logger named 'Debug' to the factory. + + The extension method argument. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/microsoft.extensions.logging.debug.10.0.0-rc.2.25502.107.nupkg b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/microsoft.extensions.logging.debug.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..63dba64f0 Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/microsoft.extensions.logging.debug.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/microsoft.extensions.logging.debug.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/microsoft.extensions.logging.debug.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..07dcb1a87 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/microsoft.extensions.logging.debug.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +2amXFL7GIrHjPCUfwwp6gl2zeLfqicsUorFftosfsc3uFGmjv5PgTFAjCgRCz5Z876iw4Aq47YG5ppPvDbCpcw== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.logging.debug/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..bfdd530d0 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "ZxKj6Om71YkBJNP4fQKZbxyiyr4TubHLTa/CzrZn2OfPGowA1m1nBQsUPyf+koUD1mN2I745cllMpu8Rno+7rw==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..b78bc89f9 Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.EventLog.nuspec b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.EventLog.nuspec new file mode 100644 index 000000000..7e5ad4076 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.EventLog.nuspec @@ -0,0 +1,53 @@ + + + + Microsoft.Extensions.Logging.EventLog + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + https://dot.net/ + Windows Event Log logger provider implementation for Microsoft.Extensions.Logging. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.EventLog.targets b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.EventLog.targets new file mode 100644 index 000000000..06f534c99 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.EventLog.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.EventLog.targets b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.EventLog.targets new file mode 100644 index 000000000..197db1831 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.EventLog.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.EventLog.xml b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.EventLog.xml new file mode 100644 index 000000000..49ee5cd7a --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.EventLog.xml @@ -0,0 +1,183 @@ + + + + Microsoft.Extensions.Logging.EventLog + + + + + Extension methods for the class. + + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + The . + + + + Adds an event logger that is enabled for s of minLevel or higher. + + The extension method argument. + The minimum to be logged. + + + + Adds an event logger that is enabled for .Information or higher. + + The extension method argument. + + + + Adds an event logger named 'EventLog' to the factory. + + The extension method argument. + The so that additional calls can be chained. + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + The . + The so that additional calls can be chained. + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + A delegate to configure the . + The so that additional calls can be chained. + + + + A logger that writes messages to Windows Event Log. + + + + + Initializes a new instance of the class. + + The name of the logger. + The . + The . + + + + The event log. + + + + + + + + + + + + + + The provider for the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The . + + + + Initializes a new instance of the class. + + The . + + + + + + + + + + + + + Settings for . + + + + + Gets or sets the name of the event log. If or not specified, "Application" is the default. + + + + + Gets or sets the name of the event log source. If or not specified, ".NET Runtime" is the default. + + + + + Gets or sets the name of the machine with the event log. If or not specified, local machine is the default. + + + + + Gets or sets the function used to filter events based on the log level. + + + + + The windows event log. + + + + + Initializes a new instance of the class. + + + + + The diagnostics event log. + + + + + The maximum message size. + + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.EventLog.xml b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.EventLog.xml new file mode 100644 index 000000000..153e17316 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.EventLog.xml @@ -0,0 +1,452 @@ + + + + Microsoft.Extensions.Logging.EventLog + + + + + Extension methods for the class. + + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + The . + + + + Adds an event logger that is enabled for s of minLevel or higher. + + The extension method argument. + The minimum to be logged. + + + + Adds an event logger that is enabled for .Information or higher. + + The extension method argument. + + + + Adds an event logger named 'EventLog' to the factory. + + The extension method argument. + The so that additional calls can be chained. + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + The . + The so that additional calls can be chained. + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + A delegate to configure the . + The so that additional calls can be chained. + + + + A logger that writes messages to Windows Event Log. + + + + + Initializes a new instance of the class. + + The name of the logger. + The . + The . + + + + The event log. + + + + + + + + + + + + + + The provider for the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The . + + + + Initializes a new instance of the class. + + The . + + + + + + + + + + + + + Settings for . + + + + + Gets or sets the name of the event log. If or not specified, "Application" is the default. + + + + + Gets or sets the name of the event log source. If or not specified, ".NET Runtime" is the default. + + + + + Gets or sets the name of the machine with the event log. If or not specified, local machine is the default. + + + + + Gets or sets the function used to filter events based on the log level. + + + + + The windows event log. + + + + + Initializes a new instance of the class. + + + + + The diagnostics event log. + + + + + The maximum message size. + + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Base type for all platform-specific API attributes. + + + + + Records the platform that the project targeted. + + + + + Records the operating system (and minimum version) that supports an API. Multiple attributes can be + applied to indicate support on multiple operating systems. + + + Callers can apply a + or use guards to prevent calls to APIs on unsupported operating systems. + + A given platform should only be specified once. + + + + + Marks APIs that were removed in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that are only available in + earlier versions. + + + + + Marks APIs that were obsoleted in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that should not be used anymore. + + + + + Initializes a new instance of the class with the specified platform name. + + The name of the platform where the API was obsoleted. + + + + Initializes a new instance of the class with the specified platform name and message. + + The name of the platform where the API was obsoleted. + The message that explains the obsolescence. + + + + Gets the message that explains the obsolescence. + + + + + Gets or sets the URL that provides more information about the obsolescence. + + + + + Annotates a custom guard field, property or method with a supported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple supported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + + Annotates the custom guard field, property or method with an unsupported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple unsupported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.EventLog.xml b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.EventLog.xml new file mode 100644 index 000000000..49ee5cd7a --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.EventLog.xml @@ -0,0 +1,183 @@ + + + + Microsoft.Extensions.Logging.EventLog + + + + + Extension methods for the class. + + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + The . + + + + Adds an event logger that is enabled for s of minLevel or higher. + + The extension method argument. + The minimum to be logged. + + + + Adds an event logger that is enabled for .Information or higher. + + The extension method argument. + + + + Adds an event logger named 'EventLog' to the factory. + + The extension method argument. + The so that additional calls can be chained. + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + The . + The so that additional calls can be chained. + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + A delegate to configure the . + The so that additional calls can be chained. + + + + A logger that writes messages to Windows Event Log. + + + + + Initializes a new instance of the class. + + The name of the logger. + The . + The . + + + + The event log. + + + + + + + + + + + + + + The provider for the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The . + + + + Initializes a new instance of the class. + + The . + + + + + + + + + + + + + Settings for . + + + + + Gets or sets the name of the event log. If or not specified, "Application" is the default. + + + + + Gets or sets the name of the event log source. If or not specified, ".NET Runtime" is the default. + + + + + Gets or sets the name of the machine with the event log. If or not specified, local machine is the default. + + + + + Gets or sets the function used to filter events based on the log level. + + + + + The windows event log. + + + + + Initializes a new instance of the class. + + + + + The diagnostics event log. + + + + + The maximum message size. + + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.EventLog.xml b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.EventLog.xml new file mode 100644 index 000000000..49ee5cd7a --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.EventLog.xml @@ -0,0 +1,183 @@ + + + + Microsoft.Extensions.Logging.EventLog + + + + + Extension methods for the class. + + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + The . + + + + Adds an event logger that is enabled for s of minLevel or higher. + + The extension method argument. + The minimum to be logged. + + + + Adds an event logger that is enabled for .Information or higher. + + The extension method argument. + + + + Adds an event logger named 'EventLog' to the factory. + + The extension method argument. + The so that additional calls can be chained. + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + The . + The so that additional calls can be chained. + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + A delegate to configure the . + The so that additional calls can be chained. + + + + A logger that writes messages to Windows Event Log. + + + + + Initializes a new instance of the class. + + The name of the logger. + The . + The . + + + + The event log. + + + + + + + + + + + + + + The provider for the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The . + + + + Initializes a new instance of the class. + + The . + + + + + + + + + + + + + Settings for . + + + + + Gets or sets the name of the event log. If or not specified, "Application" is the default. + + + + + Gets or sets the name of the event log source. If or not specified, ".NET Runtime" is the default. + + + + + Gets or sets the name of the machine with the event log. If or not specified, local machine is the default. + + + + + Gets or sets the function used to filter events based on the log level. + + + + + The windows event log. + + + + + Initializes a new instance of the class. + + + + + The diagnostics event log. + + + + + The maximum message size. + + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.EventLog.xml b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.EventLog.xml new file mode 100644 index 000000000..153e17316 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.EventLog.xml @@ -0,0 +1,452 @@ + + + + Microsoft.Extensions.Logging.EventLog + + + + + Extension methods for the class. + + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + The . + + + + Adds an event logger that is enabled for s of minLevel or higher. + + The extension method argument. + The minimum to be logged. + + + + Adds an event logger that is enabled for .Information or higher. + + The extension method argument. + + + + Adds an event logger named 'EventLog' to the factory. + + The extension method argument. + The so that additional calls can be chained. + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + The . + The so that additional calls can be chained. + + + + Adds an event logger. Use to enable logging for specific log levels. + + The extension method argument. + A delegate to configure the . + The so that additional calls can be chained. + + + + A logger that writes messages to Windows Event Log. + + + + + Initializes a new instance of the class. + + The name of the logger. + The . + The . + + + + The event log. + + + + + + + + + + + + + + The provider for the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The . + + + + Initializes a new instance of the class. + + The . + + + + + + + + + + + + + Settings for . + + + + + Gets or sets the name of the event log. If or not specified, "Application" is the default. + + + + + Gets or sets the name of the event log source. If or not specified, ".NET Runtime" is the default. + + + + + Gets or sets the name of the machine with the event log. If or not specified, local machine is the default. + + + + + Gets or sets the function used to filter events based on the log level. + + + + + The windows event log. + + + + + Initializes a new instance of the class. + + + + + The diagnostics event log. + + + + + The maximum message size. + + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Base type for all platform-specific API attributes. + + + + + Records the platform that the project targeted. + + + + + Records the operating system (and minimum version) that supports an API. Multiple attributes can be + applied to indicate support on multiple operating systems. + + + Callers can apply a + or use guards to prevent calls to APIs on unsupported operating systems. + + A given platform should only be specified once. + + + + + Marks APIs that were removed in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that are only available in + earlier versions. + + + + + Marks APIs that were obsoleted in a given operating system version. + + + Primarily used by OS bindings to indicate APIs that should not be used anymore. + + + + + Initializes a new instance of the class with the specified platform name. + + The name of the platform where the API was obsoleted. + + + + Initializes a new instance of the class with the specified platform name and message. + + The name of the platform where the API was obsoleted. + The message that explains the obsolescence. + + + + Gets the message that explains the obsolescence. + + + + + Gets or sets the URL that provides more information about the obsolescence. + + + + + Annotates a custom guard field, property or method with a supported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple supported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + + Annotates the custom guard field, property or method with an unsupported platform name and optional version. + Multiple attributes can be applied to indicate guard for multiple unsupported platforms. + + + Callers can apply a to a field, property or method + and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. + + The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/microsoft.extensions.logging.eventlog.10.0.0-rc.2.25502.107.nupkg b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/microsoft.extensions.logging.eventlog.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..eac878fa4 Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/microsoft.extensions.logging.eventlog.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/microsoft.extensions.logging.eventlog.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/microsoft.extensions.logging.eventlog.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..11175bd51 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/microsoft.extensions.logging.eventlog.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +/IGH3b9Zr6z/3aWzlyeOWjrgBONalkXU7QeSTQgi7uzRsHssPyLPxCkokunRSBfB/wsXSCCtX9ng9Oojafrs+Q== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.logging.eventlog/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..1452eaf9d --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "XHvcoFtV6Yr1LEiEfxSyfLQoIOM0FUKSEP7rsZQA395FPAQPq4Ktp8EyZph7231NUblnLX3wXgUECnYMk1ZKZA==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..c544419a8 Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.EventSource.nuspec b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.EventSource.nuspec new file mode 100644 index 000000000..f701cdc0f --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/Microsoft.Extensions.Logging.EventSource.nuspec @@ -0,0 +1,64 @@ + + + + Microsoft.Extensions.Logging.EventSource + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + https://dot.net/ + EventSource/EventListener logger provider implementation for Microsoft.Extensions.Logging. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.EventSource.targets b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.EventSource.targets new file mode 100644 index 000000000..b22a591e0 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/buildTransitive/net461/Microsoft.Extensions.Logging.EventSource.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.EventSource.targets b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.EventSource.targets new file mode 100644 index 000000000..cbe9fe7a5 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.EventSource.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.EventSource.xml b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.EventSource.xml new file mode 100644 index 000000000..f59538765 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/net10.0/Microsoft.Extensions.Logging.EventSource.xml @@ -0,0 +1,253 @@ + + + + Microsoft.Extensions.Logging.EventSource + + + + + A logger that writes messages to EventSource instance. + + + On Windows platforms EventSource will deliver messages using Event Tracing for Windows (ETW) events. + On Linux EventSource will use LTTng (http://lttng.org) to deliver messages. + + + + + + + + ActivityScope is just a IDisposable that knows how to send the ActivityStop event when it is + desposed. It is part of the BeginScope() support. + + + + + 'serializes' a given exception into an ExceptionInfo (that EventSource knows how to serialize) + + The exception to get information for. + ExceptionInfo object represending a .NET Exception + ETW does not support a concept of a null value. So we use an un-initialized object if there is no exception in the event data. + + + + Converts an ILogger state object into a set of key-value pairs (That can be send to a EventSource) + + + + + The provider for the . + + + + + Creates an instance of . + + The logging event source. + + + + + + + + + + Represents information about exceptions that is captured by EventSourceLogger + + + + + Bridges all ILogger-based logging to EventSource/EventListener logging. + + + + To turn this logging on, you enable the EventSource called Microsoft-Extensions-Logging. When you enable the EventSource, the EventLevel you set is translated in to the level associated with the ILogger (thus Debug = verbose, Informational = Informational, Critical == Critical). This allows you to filter by event level in a straightforward way. + + + For finer control, you can specify an EventSource argument called FilterSpecs. The FilterSpecs argument is a semicolon-separated list of specifications. Where each specification is: + + + SPEC = // Empty spec, same as *. + + + | NAME // Named spec. Uses the default level. + + + | NAME : LEVEL // Specifies level for a particular logger (can have a * suffix). + + + When "UseAppFilters" is specified in the FilterSpecs, it avoids disabling all categories, which happens by default otherwise. + + + Name is the name of an (case matters), and can end with *, which acts as a wildcard. For example, Net* will match any loggers that start with 'Net'. + + + LEVEL is a number or a string (0=Trace, 1=Debug, 2=Information, 3=Warning, 4=Error, Critical=5). This specifies the level for the associated pattern. If the number isn't specified (first form of the specification), it's the default level for the EventSource. + + + The first match is used if a particular name matches more than one pattern. + + + In addition to the level and FilterSpecs argument, you can also set EventSource keywords: + + + * Keywords.Message - Event contains data in parsed form. + + + * Keywords.JsonMessage - Event contains data in parsed form but as a JSON blob (not broken up by argument). + + + * Keywords.FormattedMessage - Event contains data formatted as a string. + + + It's expected that only one of these keywords is turned on at a time, but you can turn them all on (and get + the same data logged three different ways). + + + + This example shows how to use an EventListener to get ILogging information. + + class MyEventListener : EventListener { + protected override void OnEventSourceCreated(EventSource eventSource) { + if (eventSource.Name == "Microsoft-Extensions-Logging") { + // Initialize a dictionary of arguments to pass to the EventSource. + // Turn on loggers matching App* to Information; everything else (*) is the default level (which is EventLevel.Error). + var args = new Dictionary<string, string>() { { "FilterSpecs", "App*:Information;*" } }; + // Set the default level (verbosity) to Error, and only ask for the formatted messages in this case. + EnableEvents(eventSource, EventLevel.Error, LoggingEventSource.Keywords.FormattedMessage, args); + } + } + protected override void OnEventWritten(EventWrittenEventArgs eventData) { + // Look for the formatted message event, which has the following argument layout (as defined in the LoggingEventSource): + // FormattedMessage(LogLevel Level, int FactoryID, string LoggerName, string EventId, string FormattedMessage); + if (eventData.EventName == "FormattedMessage") + Console.WriteLine($"Logger {eventData.Payload[2]}: {eventData.Payload[4]}"); + } + } + + + + + + Defines the different ways data can be formatted in an event. + + + + + Events about the LoggingEventSource itself (that is, they did not come from ILogger). + + + + + Turns on the 'Message' event when ILogger.Log() is called. Provides information in a programmatic (unformatted) way. + + + + + Turns on the 'FormatMessage' event when ILogger.Log() is called. Provides the formatted string version of the information. + + + + + Turns on the 'MessageJson' event when ILogger.Log() is called. Provides a JSON representation of the Arguments. + + + + + The one and only instance of the LoggingEventSource. + + + + + FormattedMessage() is called when ILogger.Log() is called. and the FormattedMessage keyword is active + This only gives you the human readable formatted message. + + + + + Message() is called when ILogger.Log() is called. and the Message keyword is active + This gives you the logged information in a programmatic format (arguments are key-value pairs) + + + + + ActivityStart is called when ILogger.BeginScope() is called + + + + + + + + Set the filtering specification. null means turn off all loggers. Empty string is turn on all providers. + + The filter specification to set. + + + + Given a set of specifications Pat1:Level1;Pat1;Level2 ... Where + Pat is a string pattern (a logger Name with a optional trailing wildcard * char) + and Level is a number 0 (Trace) through 5 (Critical). + + The :Level can be omitted (thus Pat1;Pat2 ...) in which case the level is 1 (Debug). + + A completely empty string act like * (all loggers set to Debug level). + + The first specification that 'loggers' Name matches is used. + + + + + Parses the level specification (which should look like :N where n is a number 0 (Trace) + through 5 (Critical). It can also be an empty string (which means 1 (Debug) and ';' marks + the end of the specification. This specification should start at spec[curPos] + It returns the value in 'ret' and returns true if successful. If false is returned ret is left unchanged. + + + + + Extension methods for the class. + + + + + Adds a logger that writes messages to the instance. + + The extension method argument. + The so that additional calls can be chained. + + + + Adds a logger that writes messages to the instance. + + The extension method argument. + The so that additional calls can be chained. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.EventSource.xml b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.EventSource.xml new file mode 100644 index 000000000..5b90be011 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/net462/Microsoft.Extensions.Logging.EventSource.xml @@ -0,0 +1,768 @@ + + + + Microsoft.Extensions.Logging.EventSource + + + + + A logger that writes messages to EventSource instance. + + + On Windows platforms EventSource will deliver messages using Event Tracing for Windows (ETW) events. + On Linux EventSource will use LTTng (http://lttng.org) to deliver messages. + + + + + + + + ActivityScope is just a IDisposable that knows how to send the ActivityStop event when it is + desposed. It is part of the BeginScope() support. + + + + + 'serializes' a given exception into an ExceptionInfo (that EventSource knows how to serialize) + + The exception to get information for. + ExceptionInfo object represending a .NET Exception + ETW does not support a concept of a null value. So we use an un-initialized object if there is no exception in the event data. + + + + Converts an ILogger state object into a set of key-value pairs (That can be send to a EventSource) + + + + + The provider for the . + + + + + Creates an instance of . + + The logging event source. + + + + + + + + + + Represents information about exceptions that is captured by EventSourceLogger + + + + + Bridges all ILogger-based logging to EventSource/EventListener logging. + + + + To turn this logging on, you enable the EventSource called Microsoft-Extensions-Logging. When you enable the EventSource, the EventLevel you set is translated in to the level associated with the ILogger (thus Debug = verbose, Informational = Informational, Critical == Critical). This allows you to filter by event level in a straightforward way. + + + For finer control, you can specify an EventSource argument called FilterSpecs. The FilterSpecs argument is a semicolon-separated list of specifications. Where each specification is: + + + SPEC = // Empty spec, same as *. + + + | NAME // Named spec. Uses the default level. + + + | NAME : LEVEL // Specifies level for a particular logger (can have a * suffix). + + + When "UseAppFilters" is specified in the FilterSpecs, it avoids disabling all categories, which happens by default otherwise. + + + Name is the name of an (case matters), and can end with *, which acts as a wildcard. For example, Net* will match any loggers that start with 'Net'. + + + LEVEL is a number or a string (0=Trace, 1=Debug, 2=Information, 3=Warning, 4=Error, Critical=5). This specifies the level for the associated pattern. If the number isn't specified (first form of the specification), it's the default level for the EventSource. + + + The first match is used if a particular name matches more than one pattern. + + + In addition to the level and FilterSpecs argument, you can also set EventSource keywords: + + + * Keywords.Message - Event contains data in parsed form. + + + * Keywords.JsonMessage - Event contains data in parsed form but as a JSON blob (not broken up by argument). + + + * Keywords.FormattedMessage - Event contains data formatted as a string. + + + It's expected that only one of these keywords is turned on at a time, but you can turn them all on (and get + the same data logged three different ways). + + + + This example shows how to use an EventListener to get ILogging information. + + class MyEventListener : EventListener { + protected override void OnEventSourceCreated(EventSource eventSource) { + if (eventSource.Name == "Microsoft-Extensions-Logging") { + // Initialize a dictionary of arguments to pass to the EventSource. + // Turn on loggers matching App* to Information; everything else (*) is the default level (which is EventLevel.Error). + var args = new Dictionary<string, string>() { { "FilterSpecs", "App*:Information;*" } }; + // Set the default level (verbosity) to Error, and only ask for the formatted messages in this case. + EnableEvents(eventSource, EventLevel.Error, LoggingEventSource.Keywords.FormattedMessage, args); + } + } + protected override void OnEventWritten(EventWrittenEventArgs eventData) { + // Look for the formatted message event, which has the following argument layout (as defined in the LoggingEventSource): + // FormattedMessage(LogLevel Level, int FactoryID, string LoggerName, string EventId, string FormattedMessage); + if (eventData.EventName == "FormattedMessage") + Console.WriteLine($"Logger {eventData.Payload[2]}: {eventData.Payload[4]}"); + } + } + + + + + + Defines the different ways data can be formatted in an event. + + + + + Events about the LoggingEventSource itself (that is, they did not come from ILogger). + + + + + Turns on the 'Message' event when ILogger.Log() is called. Provides information in a programmatic (unformatted) way. + + + + + Turns on the 'FormatMessage' event when ILogger.Log() is called. Provides the formatted string version of the information. + + + + + Turns on the 'MessageJson' event when ILogger.Log() is called. Provides a JSON representation of the Arguments. + + + + + The one and only instance of the LoggingEventSource. + + + + + FormattedMessage() is called when ILogger.Log() is called. and the FormattedMessage keyword is active + This only gives you the human readable formatted message. + + + + + Message() is called when ILogger.Log() is called. and the Message keyword is active + This gives you the logged information in a programmatic format (arguments are key-value pairs) + + + + + ActivityStart is called when ILogger.BeginScope() is called + + + + + + + + Set the filtering specification. null means turn off all loggers. Empty string is turn on all providers. + + The filter specification to set. + + + + Given a set of specifications Pat1:Level1;Pat1;Level2 ... Where + Pat is a string pattern (a logger Name with a optional trailing wildcard * char) + and Level is a number 0 (Trace) through 5 (Critical). + + The :Level can be omitted (thus Pat1;Pat2 ...) in which case the level is 1 (Debug). + + A completely empty string act like * (all loggers set to Debug level). + + The first specification that 'loggers' Name matches is used. + + + + + Parses the level specification (which should look like :N where n is a number 0 (Trace) + through 5 (Critical). It can also be an empty string (which means 1 (Debug) and ';' marks + the end of the specification. This specification should start at spec[curPos] + It returns the value in 'ret' and returns true if successful. If false is returned ret is left unchanged. + + + + + Extension methods for the class. + + + + + Adds a logger that writes messages to the instance. + + The extension method argument. + The so that additional calls can be chained. + + + + Adds a logger that writes messages to the instance. + + The extension method argument. + The so that additional calls can be chained. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + States a dependency that one member has on another. + + + This can be used to inform tooling of a dependency that is otherwise not evident purely from + metadata and IL, for example a member relied on via reflection. + + + + + Initializes a new instance of the class + with the specified signature of a member on the same type as the consumer. + + The signature of the member depended on. + + + + Initializes a new instance of the class + with the specified signature of a member on a . + + The signature of the member depended on. + The containing . + + + + Initializes a new instance of the class + with the specified signature of a member on a type in an assembly. + + The signature of the member depended on. + The full name of the type containing the specified member. + The assembly name of the type containing the specified member. + + + + Initializes a new instance of the class + with the specified types of members on a . + + The types of members depended on. + The containing the specified members. + + + + Initializes a new instance of the class + with the specified types of members on a type in an assembly. + + The types of members depended on. + The full name of the type containing the specified members. + The assembly name of the type containing the specified members. + + + + Gets the signature of the member depended on. + + + Either must be a valid string or + must not equal , but not both. + + + + + Gets the which specifies the type + of members depended on. + + + Either must be a valid string or + must not equal , but not both. + + + + + Gets the containing the specified member. + + + If neither nor are specified, + the type of the consumer is assumed. + + + + + Gets the full name of the type containing the specified member. + + + If neither nor are specified, + the type of the consumer is assumed. + + + + + Gets the assembly name of the specified type. + + + is only valid when is specified. + + + + + Gets or sets the condition in which the dependency is applicable. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.EventSource.xml b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.EventSource.xml new file mode 100644 index 000000000..f59538765 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/net8.0/Microsoft.Extensions.Logging.EventSource.xml @@ -0,0 +1,253 @@ + + + + Microsoft.Extensions.Logging.EventSource + + + + + A logger that writes messages to EventSource instance. + + + On Windows platforms EventSource will deliver messages using Event Tracing for Windows (ETW) events. + On Linux EventSource will use LTTng (http://lttng.org) to deliver messages. + + + + + + + + ActivityScope is just a IDisposable that knows how to send the ActivityStop event when it is + desposed. It is part of the BeginScope() support. + + + + + 'serializes' a given exception into an ExceptionInfo (that EventSource knows how to serialize) + + The exception to get information for. + ExceptionInfo object represending a .NET Exception + ETW does not support a concept of a null value. So we use an un-initialized object if there is no exception in the event data. + + + + Converts an ILogger state object into a set of key-value pairs (That can be send to a EventSource) + + + + + The provider for the . + + + + + Creates an instance of . + + The logging event source. + + + + + + + + + + Represents information about exceptions that is captured by EventSourceLogger + + + + + Bridges all ILogger-based logging to EventSource/EventListener logging. + + + + To turn this logging on, you enable the EventSource called Microsoft-Extensions-Logging. When you enable the EventSource, the EventLevel you set is translated in to the level associated with the ILogger (thus Debug = verbose, Informational = Informational, Critical == Critical). This allows you to filter by event level in a straightforward way. + + + For finer control, you can specify an EventSource argument called FilterSpecs. The FilterSpecs argument is a semicolon-separated list of specifications. Where each specification is: + + + SPEC = // Empty spec, same as *. + + + | NAME // Named spec. Uses the default level. + + + | NAME : LEVEL // Specifies level for a particular logger (can have a * suffix). + + + When "UseAppFilters" is specified in the FilterSpecs, it avoids disabling all categories, which happens by default otherwise. + + + Name is the name of an (case matters), and can end with *, which acts as a wildcard. For example, Net* will match any loggers that start with 'Net'. + + + LEVEL is a number or a string (0=Trace, 1=Debug, 2=Information, 3=Warning, 4=Error, Critical=5). This specifies the level for the associated pattern. If the number isn't specified (first form of the specification), it's the default level for the EventSource. + + + The first match is used if a particular name matches more than one pattern. + + + In addition to the level and FilterSpecs argument, you can also set EventSource keywords: + + + * Keywords.Message - Event contains data in parsed form. + + + * Keywords.JsonMessage - Event contains data in parsed form but as a JSON blob (not broken up by argument). + + + * Keywords.FormattedMessage - Event contains data formatted as a string. + + + It's expected that only one of these keywords is turned on at a time, but you can turn them all on (and get + the same data logged three different ways). + + + + This example shows how to use an EventListener to get ILogging information. + + class MyEventListener : EventListener { + protected override void OnEventSourceCreated(EventSource eventSource) { + if (eventSource.Name == "Microsoft-Extensions-Logging") { + // Initialize a dictionary of arguments to pass to the EventSource. + // Turn on loggers matching App* to Information; everything else (*) is the default level (which is EventLevel.Error). + var args = new Dictionary<string, string>() { { "FilterSpecs", "App*:Information;*" } }; + // Set the default level (verbosity) to Error, and only ask for the formatted messages in this case. + EnableEvents(eventSource, EventLevel.Error, LoggingEventSource.Keywords.FormattedMessage, args); + } + } + protected override void OnEventWritten(EventWrittenEventArgs eventData) { + // Look for the formatted message event, which has the following argument layout (as defined in the LoggingEventSource): + // FormattedMessage(LogLevel Level, int FactoryID, string LoggerName, string EventId, string FormattedMessage); + if (eventData.EventName == "FormattedMessage") + Console.WriteLine($"Logger {eventData.Payload[2]}: {eventData.Payload[4]}"); + } + } + + + + + + Defines the different ways data can be formatted in an event. + + + + + Events about the LoggingEventSource itself (that is, they did not come from ILogger). + + + + + Turns on the 'Message' event when ILogger.Log() is called. Provides information in a programmatic (unformatted) way. + + + + + Turns on the 'FormatMessage' event when ILogger.Log() is called. Provides the formatted string version of the information. + + + + + Turns on the 'MessageJson' event when ILogger.Log() is called. Provides a JSON representation of the Arguments. + + + + + The one and only instance of the LoggingEventSource. + + + + + FormattedMessage() is called when ILogger.Log() is called. and the FormattedMessage keyword is active + This only gives you the human readable formatted message. + + + + + Message() is called when ILogger.Log() is called. and the Message keyword is active + This gives you the logged information in a programmatic format (arguments are key-value pairs) + + + + + ActivityStart is called when ILogger.BeginScope() is called + + + + + + + + Set the filtering specification. null means turn off all loggers. Empty string is turn on all providers. + + The filter specification to set. + + + + Given a set of specifications Pat1:Level1;Pat1;Level2 ... Where + Pat is a string pattern (a logger Name with a optional trailing wildcard * char) + and Level is a number 0 (Trace) through 5 (Critical). + + The :Level can be omitted (thus Pat1;Pat2 ...) in which case the level is 1 (Debug). + + A completely empty string act like * (all loggers set to Debug level). + + The first specification that 'loggers' Name matches is used. + + + + + Parses the level specification (which should look like :N where n is a number 0 (Trace) + through 5 (Critical). It can also be an empty string (which means 1 (Debug) and ';' marks + the end of the specification. This specification should start at spec[curPos] + It returns the value in 'ret' and returns true if successful. If false is returned ret is left unchanged. + + + + + Extension methods for the class. + + + + + Adds a logger that writes messages to the instance. + + The extension method argument. + The so that additional calls can be chained. + + + + Adds a logger that writes messages to the instance. + + The extension method argument. + The so that additional calls can be chained. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.EventSource.xml b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.EventSource.xml new file mode 100644 index 000000000..f59538765 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/net9.0/Microsoft.Extensions.Logging.EventSource.xml @@ -0,0 +1,253 @@ + + + + Microsoft.Extensions.Logging.EventSource + + + + + A logger that writes messages to EventSource instance. + + + On Windows platforms EventSource will deliver messages using Event Tracing for Windows (ETW) events. + On Linux EventSource will use LTTng (http://lttng.org) to deliver messages. + + + + + + + + ActivityScope is just a IDisposable that knows how to send the ActivityStop event when it is + desposed. It is part of the BeginScope() support. + + + + + 'serializes' a given exception into an ExceptionInfo (that EventSource knows how to serialize) + + The exception to get information for. + ExceptionInfo object represending a .NET Exception + ETW does not support a concept of a null value. So we use an un-initialized object if there is no exception in the event data. + + + + Converts an ILogger state object into a set of key-value pairs (That can be send to a EventSource) + + + + + The provider for the . + + + + + Creates an instance of . + + The logging event source. + + + + + + + + + + Represents information about exceptions that is captured by EventSourceLogger + + + + + Bridges all ILogger-based logging to EventSource/EventListener logging. + + + + To turn this logging on, you enable the EventSource called Microsoft-Extensions-Logging. When you enable the EventSource, the EventLevel you set is translated in to the level associated with the ILogger (thus Debug = verbose, Informational = Informational, Critical == Critical). This allows you to filter by event level in a straightforward way. + + + For finer control, you can specify an EventSource argument called FilterSpecs. The FilterSpecs argument is a semicolon-separated list of specifications. Where each specification is: + + + SPEC = // Empty spec, same as *. + + + | NAME // Named spec. Uses the default level. + + + | NAME : LEVEL // Specifies level for a particular logger (can have a * suffix). + + + When "UseAppFilters" is specified in the FilterSpecs, it avoids disabling all categories, which happens by default otherwise. + + + Name is the name of an (case matters), and can end with *, which acts as a wildcard. For example, Net* will match any loggers that start with 'Net'. + + + LEVEL is a number or a string (0=Trace, 1=Debug, 2=Information, 3=Warning, 4=Error, Critical=5). This specifies the level for the associated pattern. If the number isn't specified (first form of the specification), it's the default level for the EventSource. + + + The first match is used if a particular name matches more than one pattern. + + + In addition to the level and FilterSpecs argument, you can also set EventSource keywords: + + + * Keywords.Message - Event contains data in parsed form. + + + * Keywords.JsonMessage - Event contains data in parsed form but as a JSON blob (not broken up by argument). + + + * Keywords.FormattedMessage - Event contains data formatted as a string. + + + It's expected that only one of these keywords is turned on at a time, but you can turn them all on (and get + the same data logged three different ways). + + + + This example shows how to use an EventListener to get ILogging information. + + class MyEventListener : EventListener { + protected override void OnEventSourceCreated(EventSource eventSource) { + if (eventSource.Name == "Microsoft-Extensions-Logging") { + // Initialize a dictionary of arguments to pass to the EventSource. + // Turn on loggers matching App* to Information; everything else (*) is the default level (which is EventLevel.Error). + var args = new Dictionary<string, string>() { { "FilterSpecs", "App*:Information;*" } }; + // Set the default level (verbosity) to Error, and only ask for the formatted messages in this case. + EnableEvents(eventSource, EventLevel.Error, LoggingEventSource.Keywords.FormattedMessage, args); + } + } + protected override void OnEventWritten(EventWrittenEventArgs eventData) { + // Look for the formatted message event, which has the following argument layout (as defined in the LoggingEventSource): + // FormattedMessage(LogLevel Level, int FactoryID, string LoggerName, string EventId, string FormattedMessage); + if (eventData.EventName == "FormattedMessage") + Console.WriteLine($"Logger {eventData.Payload[2]}: {eventData.Payload[4]}"); + } + } + + + + + + Defines the different ways data can be formatted in an event. + + + + + Events about the LoggingEventSource itself (that is, they did not come from ILogger). + + + + + Turns on the 'Message' event when ILogger.Log() is called. Provides information in a programmatic (unformatted) way. + + + + + Turns on the 'FormatMessage' event when ILogger.Log() is called. Provides the formatted string version of the information. + + + + + Turns on the 'MessageJson' event when ILogger.Log() is called. Provides a JSON representation of the Arguments. + + + + + The one and only instance of the LoggingEventSource. + + + + + FormattedMessage() is called when ILogger.Log() is called. and the FormattedMessage keyword is active + This only gives you the human readable formatted message. + + + + + Message() is called when ILogger.Log() is called. and the Message keyword is active + This gives you the logged information in a programmatic format (arguments are key-value pairs) + + + + + ActivityStart is called when ILogger.BeginScope() is called + + + + + + + + Set the filtering specification. null means turn off all loggers. Empty string is turn on all providers. + + The filter specification to set. + + + + Given a set of specifications Pat1:Level1;Pat1;Level2 ... Where + Pat is a string pattern (a logger Name with a optional trailing wildcard * char) + and Level is a number 0 (Trace) through 5 (Critical). + + The :Level can be omitted (thus Pat1;Pat2 ...) in which case the level is 1 (Debug). + + A completely empty string act like * (all loggers set to Debug level). + + The first specification that 'loggers' Name matches is used. + + + + + Parses the level specification (which should look like :N where n is a number 0 (Trace) + through 5 (Critical). It can also be an empty string (which means 1 (Debug) and ';' marks + the end of the specification. This specification should start at spec[curPos] + It returns the value in 'ret' and returns true if successful. If false is returned ret is left unchanged. + + + + + Extension methods for the class. + + + + + Adds a logger that writes messages to the instance. + + The extension method argument. + The so that additional calls can be chained. + + + + Adds a logger that writes messages to the instance. + + The extension method argument. + The so that additional calls can be chained. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.EventSource.xml b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.EventSource.xml new file mode 100644 index 000000000..5b90be011 --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/lib/netstandard2.0/Microsoft.Extensions.Logging.EventSource.xml @@ -0,0 +1,768 @@ + + + + Microsoft.Extensions.Logging.EventSource + + + + + A logger that writes messages to EventSource instance. + + + On Windows platforms EventSource will deliver messages using Event Tracing for Windows (ETW) events. + On Linux EventSource will use LTTng (http://lttng.org) to deliver messages. + + + + + + + + ActivityScope is just a IDisposable that knows how to send the ActivityStop event when it is + desposed. It is part of the BeginScope() support. + + + + + 'serializes' a given exception into an ExceptionInfo (that EventSource knows how to serialize) + + The exception to get information for. + ExceptionInfo object represending a .NET Exception + ETW does not support a concept of a null value. So we use an un-initialized object if there is no exception in the event data. + + + + Converts an ILogger state object into a set of key-value pairs (That can be send to a EventSource) + + + + + The provider for the . + + + + + Creates an instance of . + + The logging event source. + + + + + + + + + + Represents information about exceptions that is captured by EventSourceLogger + + + + + Bridges all ILogger-based logging to EventSource/EventListener logging. + + + + To turn this logging on, you enable the EventSource called Microsoft-Extensions-Logging. When you enable the EventSource, the EventLevel you set is translated in to the level associated with the ILogger (thus Debug = verbose, Informational = Informational, Critical == Critical). This allows you to filter by event level in a straightforward way. + + + For finer control, you can specify an EventSource argument called FilterSpecs. The FilterSpecs argument is a semicolon-separated list of specifications. Where each specification is: + + + SPEC = // Empty spec, same as *. + + + | NAME // Named spec. Uses the default level. + + + | NAME : LEVEL // Specifies level for a particular logger (can have a * suffix). + + + When "UseAppFilters" is specified in the FilterSpecs, it avoids disabling all categories, which happens by default otherwise. + + + Name is the name of an (case matters), and can end with *, which acts as a wildcard. For example, Net* will match any loggers that start with 'Net'. + + + LEVEL is a number or a string (0=Trace, 1=Debug, 2=Information, 3=Warning, 4=Error, Critical=5). This specifies the level for the associated pattern. If the number isn't specified (first form of the specification), it's the default level for the EventSource. + + + The first match is used if a particular name matches more than one pattern. + + + In addition to the level and FilterSpecs argument, you can also set EventSource keywords: + + + * Keywords.Message - Event contains data in parsed form. + + + * Keywords.JsonMessage - Event contains data in parsed form but as a JSON blob (not broken up by argument). + + + * Keywords.FormattedMessage - Event contains data formatted as a string. + + + It's expected that only one of these keywords is turned on at a time, but you can turn them all on (and get + the same data logged three different ways). + + + + This example shows how to use an EventListener to get ILogging information. + + class MyEventListener : EventListener { + protected override void OnEventSourceCreated(EventSource eventSource) { + if (eventSource.Name == "Microsoft-Extensions-Logging") { + // Initialize a dictionary of arguments to pass to the EventSource. + // Turn on loggers matching App* to Information; everything else (*) is the default level (which is EventLevel.Error). + var args = new Dictionary<string, string>() { { "FilterSpecs", "App*:Information;*" } }; + // Set the default level (verbosity) to Error, and only ask for the formatted messages in this case. + EnableEvents(eventSource, EventLevel.Error, LoggingEventSource.Keywords.FormattedMessage, args); + } + } + protected override void OnEventWritten(EventWrittenEventArgs eventData) { + // Look for the formatted message event, which has the following argument layout (as defined in the LoggingEventSource): + // FormattedMessage(LogLevel Level, int FactoryID, string LoggerName, string EventId, string FormattedMessage); + if (eventData.EventName == "FormattedMessage") + Console.WriteLine($"Logger {eventData.Payload[2]}: {eventData.Payload[4]}"); + } + } + + + + + + Defines the different ways data can be formatted in an event. + + + + + Events about the LoggingEventSource itself (that is, they did not come from ILogger). + + + + + Turns on the 'Message' event when ILogger.Log() is called. Provides information in a programmatic (unformatted) way. + + + + + Turns on the 'FormatMessage' event when ILogger.Log() is called. Provides the formatted string version of the information. + + + + + Turns on the 'MessageJson' event when ILogger.Log() is called. Provides a JSON representation of the Arguments. + + + + + The one and only instance of the LoggingEventSource. + + + + + FormattedMessage() is called when ILogger.Log() is called. and the FormattedMessage keyword is active + This only gives you the human readable formatted message. + + + + + Message() is called when ILogger.Log() is called. and the Message keyword is active + This gives you the logged information in a programmatic format (arguments are key-value pairs) + + + + + ActivityStart is called when ILogger.BeginScope() is called + + + + + + + + Set the filtering specification. null means turn off all loggers. Empty string is turn on all providers. + + The filter specification to set. + + + + Given a set of specifications Pat1:Level1;Pat1;Level2 ... Where + Pat is a string pattern (a logger Name with a optional trailing wildcard * char) + and Level is a number 0 (Trace) through 5 (Critical). + + The :Level can be omitted (thus Pat1;Pat2 ...) in which case the level is 1 (Debug). + + A completely empty string act like * (all loggers set to Debug level). + + The first specification that 'loggers' Name matches is used. + + + + + Parses the level specification (which should look like :N where n is a number 0 (Trace) + through 5 (Critical). It can also be an empty string (which means 1 (Debug) and ';' marks + the end of the specification. This specification should start at spec[curPos] + It returns the value in 'ret' and returns true if successful. If false is returned ret is left unchanged. + + + + + Extension methods for the class. + + + + + Adds a logger that writes messages to the instance. + + The extension method argument. + The so that additional calls can be chained. + + + + Adds a logger that writes messages to the instance. + + The extension method argument. + The so that additional calls can be chained. + + + + Scope provider that does nothing. + + + + + Returns a cached instance of . + + + + + + + + + + + An empty scope without any logic + + + + + + + + States a dependency that one member has on another. + + + This can be used to inform tooling of a dependency that is otherwise not evident purely from + metadata and IL, for example a member relied on via reflection. + + + + + Initializes a new instance of the class + with the specified signature of a member on the same type as the consumer. + + The signature of the member depended on. + + + + Initializes a new instance of the class + with the specified signature of a member on a . + + The signature of the member depended on. + The containing . + + + + Initializes a new instance of the class + with the specified signature of a member on a type in an assembly. + + The signature of the member depended on. + The full name of the type containing the specified member. + The assembly name of the type containing the specified member. + + + + Initializes a new instance of the class + with the specified types of members on a . + + The types of members depended on. + The containing the specified members. + + + + Initializes a new instance of the class + with the specified types of members on a type in an assembly. + + The types of members depended on. + The full name of the type containing the specified members. + The assembly name of the type containing the specified members. + + + + Gets the signature of the member depended on. + + + Either must be a valid string or + must not equal , but not both. + + + + + Gets the which specifies the type + of members depended on. + + + Either must be a valid string or + must not equal , but not both. + + + + + Gets the containing the specified member. + + + If neither nor are specified, + the type of the consumer is assumed. + + + + + Gets the full name of the type containing the specified member. + + + If neither nor are specified, + the type of the consumer is assumed. + + + + + Gets the assembly name of the specified type. + + + is only valid when is specified. + + + + + Gets or sets the condition in which the dependency is applicable. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all non-public constructors, including those inherited from base classes. + + + + + Specifies all non-public methods, including those inherited from base classes. + + + + + Specifies all non-public fields, including those inherited from base classes. + + + + + Specifies all non-public nested types, including those inherited from base classes. + + + + + Specifies all non-public properties, including those inherited from base classes. + + + + + Specifies all non-public events, including those inherited from base classes. + + + + + Specifies all public constructors, including those inherited from base classes. + + + + + Specifies all public nested types, including those inherited from base classes. + + + + + Specifies all constructors, including those inherited from base classes. + + + + + Specifies all methods, including those inherited from base classes. + + + + + Specifies all fields, including those inherited from base classes. + + + + + Specifies all nested types, including those inherited from base classes. + + + + + Specifies all properties, including those inherited from base classes. + + + + + Specifies all events, including those inherited from base classes. + + + + + Specifies all members. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated field or property member will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated field and property members will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is supplying a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + Provides downlevel polyfills for static methods on Exception-derived types. + + + diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/microsoft.extensions.logging.eventsource.10.0.0-rc.2.25502.107.nupkg b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/microsoft.extensions.logging.eventsource.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..1188797ab Binary files /dev/null and b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/microsoft.extensions.logging.eventsource.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/microsoft.extensions.logging.eventsource.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/microsoft.extensions.logging.eventsource.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..8640cd8ac --- /dev/null +++ b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/microsoft.extensions.logging.eventsource.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +vTNcw9JK76rAqS2xkCO7SR+3QKGjEQtQ59ABo/zTlhmvZfuwLpPIwm8oo2MpY7h7b9wVn3+uREcMCu/C7srfsw== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.logging.eventsource/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.options/8.0.0/.nupkg.metadata b/local-nuget/microsoft.extensions.options/8.0.0/.nupkg.metadata new file mode 100644 index 000000000..fd38887d9 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", + "source": "/mnt/e/dev/git.stella-ops.org/local-nuget" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.options/8.0.0/.signature.p7s b/local-nuget/microsoft.extensions.options/8.0.0/.signature.p7s new file mode 100644 index 000000000..41d6c2b2e Binary files /dev/null and b/local-nuget/microsoft.extensions.options/8.0.0/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.options/8.0.0/Icon.png b/local-nuget/microsoft.extensions.options/8.0.0/Icon.png new file mode 100644 index 000000000..a0f1fdbf4 Binary files /dev/null and b/local-nuget/microsoft.extensions.options/8.0.0/Icon.png differ diff --git a/local-nuget/microsoft.extensions.options/8.0.0/LICENSE.TXT b/local-nuget/microsoft.extensions.options/8.0.0/LICENSE.TXT new file mode 100644 index 000000000..984713a49 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/local-nuget/microsoft.extensions.options/8.0.0/Microsoft.Extensions.Options.nuspec b/local-nuget/microsoft.extensions.options/8.0.0/Microsoft.Extensions.Options.nuspec new file mode 100644 index 000000000..0ed20287e --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/Microsoft.Extensions.Options.nuspec @@ -0,0 +1,50 @@ + + + + Microsoft.Extensions.Options + 8.0.0 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Provides a strongly typed way of specifying and accessing settings using dependency injection. + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.options/8.0.0/PACKAGE.md b/local-nuget/microsoft.extensions.options/8.0.0/PACKAGE.md new file mode 100644 index 000000000..ee0cc2ab6 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/PACKAGE.md @@ -0,0 +1,170 @@ +## About +`Microsoft.Extensions.Options` provides a strongly typed way of specifying and accessing settings using dependency injection and acts as a bridge between configuration, DI, and higher level libraries. This library is the glue for how an app developer uses DI to configure the behavior of a library like HttpClient Factory. This also enables user to get a strongly-typed view of their configuration. + +Within this package, you'll find an options validation source generator that generates exceptionally efficient and optimized code for validating options. + +## Key Features + +* Offer the IValidateOptions interface for the validation of options, along with several generic ValidateOptions classes that implement this interface. +* OptionsBuilder to configure options. +* Provide extension methods for service collections and options builder to register options and validate options. +* Supply a set of generic ConfigureNamedOptions classes that implement the IConfigureNamedOptions interface for configuring named options. +* Provide a source generator that generates validation code for options. +* Options caching, managing and monitoring. + +## How to Use + +#### Options validation example + +```C# +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddControllersWithViews(); + +// Load the configuration and validate it +builder.Services.AddOptions() + .Bind(builder.Configuration.GetSection(MyConfigOptions.MyConfig)) + .ValidateDataAnnotations(); +var app = builder.Build(); + + +// Declare the option class to validate +public class MyConfigOptions +{ + public const string MyConfig = "MyConfig"; + + [RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$")] + public string Key1 { get; set; } + [Range(0, 1000, + ErrorMessage = "Value for {0} must be between {1} and {2}.")] + public int Key2 { get; set; } + public int Key3 { get; set; } +} +``` + +#### Using IValidateOptions to validate options + +```C# +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddControllersWithViews(); + +// Configuration to validate +builder.Services.Configure(builder.Configuration.GetSection( + MyConfigOptions.MyConfig)); + +// OPtions validation through the DI container +builder.Services.AddSingleton, MyConfigValidation>(); + +var app = builder.Build(); + +public class MyConfigValidation : IValidateOptions +{ + public MyConfigOptions _config { get; private set; } + + public MyConfigValidation(IConfiguration config) + { + _config = config.GetSection(MyConfigOptions.MyConfig) + .Get(); + } + + public ValidateOptionsResult Validate(string name, MyConfigOptions options) + { + string? vor = null; + var rx = new Regex(@"^[a-zA-Z''-'\s]{1,40}$"); + var match = rx.Match(options.Key1!); + + if (string.IsNullOrEmpty(match.Value)) + { + vor = $"{options.Key1} doesn't match RegEx \n"; + } + + if ( options.Key2 < 0 || options.Key2 > 1000) + { + vor = $"{options.Key2} doesn't match Range 0 - 1000 \n"; + } + + if (_config.Key2 != default) + { + if(_config.Key3 <= _config.Key2) + { + vor += "Key3 must be > than Key2."; + } + } + + if (vor != null) + { + return ValidateOptionsResult.Fail(vor); + } + + return ValidateOptionsResult.Success; + } +} + +``` + +#### Options Validation Source Generator Example + +```C# +using System; +using System.ComponentModel.DataAnnotations; +using Microsoft.Extensions.Options; + +public class MyConfigOptions +{ + [RegularExpression(@"^[a-zA-Z''-'\s]{1,40}$")] + public string Key1 { get; set; } + + [Range(0, 1000, + ErrorMessage = "Value for {0} must be between {1} and {2}.")] + public int Key2 { get; set; } + public int Key3 { get; set; } +} + +[OptionsValidator] +public partial class MyConfigValidation : IValidateOptions +{ + // Source generator will automatically provide the implementation of IValidateOptions + // Then you can add the validation to the DI Container using the following code: + // + // builder.Services.AddSingleton, MyConfigValidation>(); + // builder.Services.AddOptions() + // .Bind(builder.Configuration.GetSection(MyConfigOptions.MyConfig)) + // .ValidateDataAnnotations(); +} + +``` + +## Main Types + +The main types provided by this library are: + +* `IOptions`, `IOptionsFactory`, and `IOptionsMonitor` +* `IValidateOptions` and `ValidateOptions` +* `OptionsBuilder`, `OptionsFactory`, `OptionsMonitor`, and `OptionsManager` +* `OptionsServiceCollectionExtensions` +* `OptionsValidatorAttribute` + +## Additional Documentation + +* [Conceptual documentation](https://learn.microsoft.com/aspnet/core/fundamentals/configuration/options) +* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.options) + +## Related Packages + +[Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging) +[Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration) + +## Feedback & Contributing + +Microsoft.Extensions.Options is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.options/8.0.0/THIRD-PARTY-NOTICES.TXT b/local-nuget/microsoft.extensions.options/8.0.0/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..4b40333f7 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1272 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2022 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +https://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.13, October 13th, 2022 + + Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure (Legacy License) +-------------------------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for The LLVM Project +----------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE diff --git a/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/net461/Microsoft.Extensions.Options.targets b/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/net461/Microsoft.Extensions.Options.targets new file mode 100644 index 000000000..28563ca1e --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/net461/Microsoft.Extensions.Options.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/net462/Microsoft.Extensions.Options.targets b/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/net462/Microsoft.Extensions.Options.targets new file mode 100644 index 000000000..da4da57a0 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/net462/Microsoft.Extensions.Options.targets @@ -0,0 +1,31 @@ + + + + + <_Microsoft_Extensions_OptionsAnalyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == 'Microsoft.Extensions.Options'" /> + + + + + + + + + + + + + + + + + + + diff --git a/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/net6.0/Microsoft.Extensions.Options.targets b/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/net6.0/Microsoft.Extensions.Options.targets new file mode 100644 index 000000000..da4da57a0 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/net6.0/Microsoft.Extensions.Options.targets @@ -0,0 +1,31 @@ + + + + + <_Microsoft_Extensions_OptionsAnalyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == 'Microsoft.Extensions.Options'" /> + + + + + + + + + + + + + + + + + + + diff --git a/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets b/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets new file mode 100644 index 000000000..d2b788419 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets b/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets new file mode 100644 index 000000000..da4da57a0 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets @@ -0,0 +1,31 @@ + + + + + <_Microsoft_Extensions_OptionsAnalyzer Include="@(Analyzer)" Condition="'%(Analyzer.NuGetPackageId)' == 'Microsoft.Extensions.Options'" /> + + + + + + + + + + + + + + + + + + + diff --git a/local-nuget/microsoft.extensions.options/8.0.0/lib/net462/Microsoft.Extensions.Options.xml b/local-nuget/microsoft.extensions.options/8.0.0/lib/net462/Microsoft.Extensions.Options.xml new file mode 100644 index 000000000..11b44a2f8 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/lib/net462/Microsoft.Extensions.Options.xml @@ -0,0 +1,2404 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of . + + Options type being configured. + + + + Constructor. + + The name of the options. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Constructor. + + The name of the options. + A dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + + + + Constructor. + + The action to register. + + + + The configuration action. + + + + + Invokes the registered configure . + + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + + + Invoked to configure a instance. + + The name of the options instance being configured. + The options instance to configure. + + + + Represents something that configures the type. + Note: These are run before all . + + The options type being configured. + + + + Invoked to configure a instance. + + The options instance to configure. + + + + Used to retrieve configured instances. + + The type of options being requested. + + + + The default configured instance + + + + + Used to fetch used for tracking options changes. + + The options type being changed. + + + + Returns a which can be used to register a change notification callback. + + Change token. + + + + The name of the option instance being changed. + + + + + Used to create instances. + + The type of options being requested. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with thw given . + + + + Used for notifications when instances change. + + The options type. + + + + Returns the current instance with the . + + + + + Returns a configured instance with the given . + + The name of the instance, if a is used. + The instance that matches the given . + + + + Registers a listener to be called whenever a named changes. + + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Used by to cache instances. + + The type of options being requested. + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Tries to adds a new option to the cache, will return false if the name already exists. + + The name of the options instance. + The options instance. + Whether anything was added. + + + + Try to remove an options instance. + + The name of the options instance. + Whether anything was removed. + + + + Clears all options instances from the cache. + + + + + Used to access the value of for the lifetime of a request. + + Options type. + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + + + + Represents something that configures the type. + Note: These are run after all . + + Options type being configured. + + + + Invoked to configure a instance. + + The name of the options instance being configured. + The options instance to configured. + + + + Interface used by hosts to validate options during startup. + Options are enabled to be validated during startup by calling . + + + + + Calls the validators. + + One or more return failed when validating. + + + + Interface used to validate options. + + The options type to validate. + + + + Validates a specific named options instance (or all when name is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Helper class. + + + + + The default name used for options instances: "". + + + + + Creates a wrapper around an instance of to return itself as an . + + Options type. + Options object. + Wrapped options object. + + + + Used to configure instances. + + The type of options being requested. + + + + The default name of the instance. + + + + + The for the options being configured. + + + + + Constructor. + + The for the options being configured. + The default name of the instance, if null is used. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + A dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + + + Register a validation action for an options type using a default failure message. + + The validation function. + The current . + + + + Register a validation action for an options type. + + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Used to cache instances. + + The type of options being requested. + + + + Clears all options instances from the cache. + + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Gets a named options instance, if available. + + The name of the options instance. + The options instance. + true if the options were retrieved; otherwise, false. + + + + Tries to adds a new option to the cache, will return false if the name already exists. + + The name of the options instance. + The options instance. + Whether anything was added. + + + + Try to remove an options instance. + + The name of the options instance. + Whether anything was removed. + + + + Implementation of . + + The type of options being requested. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + The validations to run. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Creates a new instance of options type. + + The name of the instance to create. + The created instance. + The does not have a public parameterless constructor or is . + + + + Implementation of and . + + Options type. + + + + Initializes a new instance with the specified options configurations. + + The factory to use to create options. + + + + The default configured instance, equivalent to Get(Options.DefaultName). + + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Implementation of . + + Options type. + + + + Constructor. + + The factory to use to create options. + The sources used to listen for changes to the options instance. + The cache used to store options. + + + + The present value of the options, equivalent to Get(Options.DefaultName). + + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Registers a listener to be called whenever changes. + + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Removes all change registration subscriptions. + + + + + Extension methods for . + + + + + Registers a listener to be called whenever changes. + + The type of options instance being monitored. + The IOptionsMonitor. + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Thrown when options validation fails. + + + + + Constructor. + + The name of the options instance that failed. + The options type that failed. + The validation failure messages. + + + + The name of the options instance that failed. + + + + + The type of the options that failed. + + + + + The validation failures. + + + + + The message is a semicolon separated list of the . + + + + + Triggers the automatic generation of the implementation of at compile time. + + + + + wrapper that returns the options instance. + + Options type. + + + + Initializes the wrapper with the options instance to return. + + The options instance to return. + + + + The options instance. + + + + + Implementation of . + + Options type being configured. + + + + Creates a new instance of . + + The name of the options. + The action to register. + + + + The options name. + + + + + The initialization action. + + + + + Invokes the registered initialization if the matches. + + The name of the action to invoke. + The options to use in initialization. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Constructor. + + The name of the options. + A dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Marks a field or property to be enumerated, and each enumerated object to be validated. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field/property tells the code generator to + generate validation for the individual members of the enumerable's type. + + + + + Initializes a new instance of the class. + + A type that implements for the enumerable's type. + + Using this constructor for a field/property tells the code generator to use the given type to validate + the object held by the enumerable. + + + + + Gets the type to use to validate the enumerable's objects. + + + + + Marks a field or property to be validated transitively. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field/property tells the code generator to + generate validation for the individual members of the field/property's type. + + + + + Initializes a new instance of the class. + + A type that implements for the field/property's type. + + Using this constructor for a field/property tells the code generator to use the given type to validate + the object held by the field/property. + + + + + Gets the type to use to validate a field or property. + + + + + Implementation of + + The options type to validate. + + + + Constructor. + + Options name. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + Dependency type. + + + + Constructor. + + Options name. + The dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + The fifth dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Represents the result of an options validation. + + + + + Result when validation was skipped due to name not matching. + + + + + Validation was successful. + + + + + True if validation was successful. + + + + + True if validation was not run. + + + + + True if validation failed. + + + + + Used to describe why validation failed. + + + + + Full list of failures (can be multiple). + + + + + Returns a failure result. + + The reason for the failure. + The failure result. + + + + Returns a failure result. + + The reasons for the failure. + The failure result. + + + + Builds with support for multiple error messages. + + + + + Creates new instance of the class. + + + + + Adds a new validation error to the builder. + + Content of error message. + The property in the option object which contains an error. + + + + Adds any validation error carried by the instance to this instance. + + The instance to append the error from. + + + + Adds any validation error carried by the enumeration of instances to this instance. + + The enumeration to consume the errors from. + + + + Adds any validation errors carried by the instance to this instance. + + The instance to consume the errors from. + + + + Builds based on provided data. + + New instance of . + + + + Reset the builder to the empty state + + + + + Extension methods for adding configuration related options services to the DI container via . + + + + + Enforces options validation check on start rather than in runtime. + + The type of options. + The to configure options instance. + The so that additional calls can be chained. + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than in runtime. + + + The extension is called by this method. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than in runtime. + + + The extension is called by this method. + + The options type to be configured. + The validator type. + The to add the services to. + The name of the options instance. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure all instances of a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to initialize a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The options type to be configure. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to post configure all instances of a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The type that will configure options. + The to add the services to. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The to add the services to. + The type that will configure options. + The so that additional calls can be chained. + + + + Registers an object that will have all of its , + , and + registered. + + The to add the services to. + The instance that will configure options. + The so that additional calls can be chained. + + + + Gets an options builder that forwards Configure calls for the same to the underlying service collection. + + The options type to be configured. + The to add the services to. + The so that configure calls can be chained in it. + + + + Gets an options builder that forwards Configure calls for the same named to the underlying service collection. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all members. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + Failed to convert '{0}' to type '{1}'. + + + Failed to create instance of type '{0}'. + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found, did you mean to call Configure<> or PostConfigure<>? + + + diff --git a/local-nuget/microsoft.extensions.options/8.0.0/lib/net6.0/Microsoft.Extensions.Options.xml b/local-nuget/microsoft.extensions.options/8.0.0/lib/net6.0/Microsoft.Extensions.Options.xml new file mode 100644 index 000000000..35963a88c --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/lib/net6.0/Microsoft.Extensions.Options.xml @@ -0,0 +1,2096 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of . + + Options type being configured. + + + + Constructor. + + The name of the options. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Constructor. + + The name of the options. + A dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + + + + Constructor. + + The action to register. + + + + The configuration action. + + + + + Invokes the registered configure . + + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + + + Invoked to configure a instance. + + The name of the options instance being configured. + The options instance to configure. + + + + Represents something that configures the type. + Note: These are run before all . + + The options type being configured. + + + + Invoked to configure a instance. + + The options instance to configure. + + + + Used to retrieve configured instances. + + The type of options being requested. + + + + The default configured instance + + + + + Used to fetch used for tracking options changes. + + The options type being changed. + + + + Returns a which can be used to register a change notification callback. + + Change token. + + + + The name of the option instance being changed. + + + + + Used to create instances. + + The type of options being requested. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with thw given . + + + + Used for notifications when instances change. + + The options type. + + + + Returns the current instance with the . + + + + + Returns a configured instance with the given . + + The name of the instance, if a is used. + The instance that matches the given . + + + + Registers a listener to be called whenever a named changes. + + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Used by to cache instances. + + The type of options being requested. + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Tries to adds a new option to the cache, will return false if the name already exists. + + The name of the options instance. + The options instance. + Whether anything was added. + + + + Try to remove an options instance. + + The name of the options instance. + Whether anything was removed. + + + + Clears all options instances from the cache. + + + + + Used to access the value of for the lifetime of a request. + + Options type. + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + + + + Represents something that configures the type. + Note: These are run after all . + + Options type being configured. + + + + Invoked to configure a instance. + + The name of the options instance being configured. + The options instance to configured. + + + + Interface used by hosts to validate options during startup. + Options are enabled to be validated during startup by calling . + + + + + Calls the validators. + + One or more return failed when validating. + + + + Interface used to validate options. + + The options type to validate. + + + + Validates a specific named options instance (or all when name is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Helper class. + + + + + The default name used for options instances: "". + + + + + Creates a wrapper around an instance of to return itself as an . + + Options type. + Options object. + Wrapped options object. + + + + Used to configure instances. + + The type of options being requested. + + + + The default name of the instance. + + + + + The for the options being configured. + + + + + Constructor. + + The for the options being configured. + The default name of the instance, if null is used. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + A dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + + + Register a validation action for an options type using a default failure message. + + The validation function. + The current . + + + + Register a validation action for an options type. + + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Used to cache instances. + + The type of options being requested. + + + + Clears all options instances from the cache. + + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Gets a named options instance, if available. + + The name of the options instance. + The options instance. + true if the options were retrieved; otherwise, false. + + + + Tries to adds a new option to the cache, will return false if the name already exists. + + The name of the options instance. + The options instance. + Whether anything was added. + + + + Try to remove an options instance. + + The name of the options instance. + Whether anything was removed. + + + + Implementation of . + + The type of options being requested. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + The validations to run. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Creates a new instance of options type. + + The name of the instance to create. + The created instance. + The does not have a public parameterless constructor or is . + + + + Implementation of and . + + Options type. + + + + Initializes a new instance with the specified options configurations. + + The factory to use to create options. + + + + The default configured instance, equivalent to Get(Options.DefaultName). + + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Implementation of . + + Options type. + + + + Constructor. + + The factory to use to create options. + The sources used to listen for changes to the options instance. + The cache used to store options. + + + + The present value of the options, equivalent to Get(Options.DefaultName). + + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Registers a listener to be called whenever changes. + + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Removes all change registration subscriptions. + + + + + Extension methods for . + + + + + Registers a listener to be called whenever changes. + + The type of options instance being monitored. + The IOptionsMonitor. + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Thrown when options validation fails. + + + + + Constructor. + + The name of the options instance that failed. + The options type that failed. + The validation failure messages. + + + + The name of the options instance that failed. + + + + + The type of the options that failed. + + + + + The validation failures. + + + + + The message is a semicolon separated list of the . + + + + + Triggers the automatic generation of the implementation of at compile time. + + + + + wrapper that returns the options instance. + + Options type. + + + + Initializes the wrapper with the options instance to return. + + The options instance to return. + + + + The options instance. + + + + + Implementation of . + + Options type being configured. + + + + Creates a new instance of . + + The name of the options. + The action to register. + + + + The options name. + + + + + The initialization action. + + + + + Invokes the registered initialization if the matches. + + The name of the action to invoke. + The options to use in initialization. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Constructor. + + The name of the options. + A dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Marks a field or property to be enumerated, and each enumerated object to be validated. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field/property tells the code generator to + generate validation for the individual members of the enumerable's type. + + + + + Initializes a new instance of the class. + + A type that implements for the enumerable's type. + + Using this constructor for a field/property tells the code generator to use the given type to validate + the object held by the enumerable. + + + + + Gets the type to use to validate the enumerable's objects. + + + + + Marks a field or property to be validated transitively. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field/property tells the code generator to + generate validation for the individual members of the field/property's type. + + + + + Initializes a new instance of the class. + + A type that implements for the field/property's type. + + Using this constructor for a field/property tells the code generator to use the given type to validate + the object held by the field/property. + + + + + Gets the type to use to validate a field or property. + + + + + Implementation of + + The options type to validate. + + + + Constructor. + + Options name. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + Dependency type. + + + + Constructor. + + Options name. + The dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + The fifth dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Represents the result of an options validation. + + + + + Result when validation was skipped due to name not matching. + + + + + Validation was successful. + + + + + True if validation was successful. + + + + + True if validation was not run. + + + + + True if validation failed. + + + + + Used to describe why validation failed. + + + + + Full list of failures (can be multiple). + + + + + Returns a failure result. + + The reason for the failure. + The failure result. + + + + Returns a failure result. + + The reasons for the failure. + The failure result. + + + + Builds with support for multiple error messages. + + + + + Creates new instance of the class. + + + + + Adds a new validation error to the builder. + + Content of error message. + The property in the option object which contains an error. + + + + Adds any validation error carried by the instance to this instance. + + The instance to append the error from. + + + + Adds any validation error carried by the enumeration of instances to this instance. + + The enumeration to consume the errors from. + + + + Adds any validation errors carried by the instance to this instance. + + The instance to consume the errors from. + + + + Builds based on provided data. + + New instance of . + + + + Reset the builder to the empty state + + + + + Extension methods for adding configuration related options services to the DI container via . + + + + + Enforces options validation check on start rather than in runtime. + + The type of options. + The to configure options instance. + The so that additional calls can be chained. + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than in runtime. + + + The extension is called by this method. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than in runtime. + + + The extension is called by this method. + + The options type to be configured. + The validator type. + The to add the services to. + The name of the options instance. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure all instances of a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to initialize a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The options type to be configure. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to post configure all instances of a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The type that will configure options. + The to add the services to. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The to add the services to. + The type that will configure options. + The so that additional calls can be chained. + + + + Registers an object that will have all of its , + , and + registered. + + The to add the services to. + The instance that will configure options. + The so that additional calls can be chained. + + + + Gets an options builder that forwards Configure calls for the same to the underlying service collection. + + The options type to be configured. + The to add the services to. + The so that configure calls can be chained in it. + + + + Gets an options builder that forwards Configure calls for the same named to the underlying service collection. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + Failed to convert '{0}' to type '{1}'. + + + Failed to create instance of type '{0}'. + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found, did you mean to call Configure<> or PostConfigure<>? + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + diff --git a/local-nuget/microsoft.extensions.options/8.0.0/lib/net7.0/Microsoft.Extensions.Options.xml b/local-nuget/microsoft.extensions.options/8.0.0/lib/net7.0/Microsoft.Extensions.Options.xml new file mode 100644 index 000000000..0e42db4a0 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/lib/net7.0/Microsoft.Extensions.Options.xml @@ -0,0 +1,2025 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of . + + Options type being configured. + + + + Constructor. + + The name of the options. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Constructor. + + The name of the options. + A dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + + + + Constructor. + + The action to register. + + + + The configuration action. + + + + + Invokes the registered configure . + + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + + + Invoked to configure a instance. + + The name of the options instance being configured. + The options instance to configure. + + + + Represents something that configures the type. + Note: These are run before all . + + The options type being configured. + + + + Invoked to configure a instance. + + The options instance to configure. + + + + Used to retrieve configured instances. + + The type of options being requested. + + + + The default configured instance + + + + + Used to fetch used for tracking options changes. + + The options type being changed. + + + + Returns a which can be used to register a change notification callback. + + Change token. + + + + The name of the option instance being changed. + + + + + Used to create instances. + + The type of options being requested. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with thw given . + + + + Used for notifications when instances change. + + The options type. + + + + Returns the current instance with the . + + + + + Returns a configured instance with the given . + + The name of the instance, if a is used. + The instance that matches the given . + + + + Registers a listener to be called whenever a named changes. + + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Used by to cache instances. + + The type of options being requested. + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Tries to adds a new option to the cache, will return false if the name already exists. + + The name of the options instance. + The options instance. + Whether anything was added. + + + + Try to remove an options instance. + + The name of the options instance. + Whether anything was removed. + + + + Clears all options instances from the cache. + + + + + Used to access the value of for the lifetime of a request. + + Options type. + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + + + + Represents something that configures the type. + Note: These are run after all . + + Options type being configured. + + + + Invoked to configure a instance. + + The name of the options instance being configured. + The options instance to configured. + + + + Interface used by hosts to validate options during startup. + Options are enabled to be validated during startup by calling . + + + + + Calls the validators. + + One or more return failed when validating. + + + + Interface used to validate options. + + The options type to validate. + + + + Validates a specific named options instance (or all when name is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Helper class. + + + + + The default name used for options instances: "". + + + + + Creates a wrapper around an instance of to return itself as an . + + Options type. + Options object. + Wrapped options object. + + + + Used to configure instances. + + The type of options being requested. + + + + The default name of the instance. + + + + + The for the options being configured. + + + + + Constructor. + + The for the options being configured. + The default name of the instance, if null is used. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + A dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + + + Register a validation action for an options type using a default failure message. + + The validation function. + The current . + + + + Register a validation action for an options type. + + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Used to cache instances. + + The type of options being requested. + + + + Clears all options instances from the cache. + + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Gets a named options instance, if available. + + The name of the options instance. + The options instance. + true if the options were retrieved; otherwise, false. + + + + Tries to adds a new option to the cache, will return false if the name already exists. + + The name of the options instance. + The options instance. + Whether anything was added. + + + + Try to remove an options instance. + + The name of the options instance. + Whether anything was removed. + + + + Implementation of . + + The type of options being requested. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + The validations to run. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Creates a new instance of options type. + + The name of the instance to create. + The created instance. + The does not have a public parameterless constructor or is . + + + + Implementation of and . + + Options type. + + + + Initializes a new instance with the specified options configurations. + + The factory to use to create options. + + + + The default configured instance, equivalent to Get(Options.DefaultName). + + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Implementation of . + + Options type. + + + + Constructor. + + The factory to use to create options. + The sources used to listen for changes to the options instance. + The cache used to store options. + + + + The present value of the options, equivalent to Get(Options.DefaultName). + + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Registers a listener to be called whenever changes. + + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Removes all change registration subscriptions. + + + + + Extension methods for . + + + + + Registers a listener to be called whenever changes. + + The type of options instance being monitored. + The IOptionsMonitor. + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Thrown when options validation fails. + + + + + Constructor. + + The name of the options instance that failed. + The options type that failed. + The validation failure messages. + + + + The name of the options instance that failed. + + + + + The type of the options that failed. + + + + + The validation failures. + + + + + The message is a semicolon separated list of the . + + + + + Triggers the automatic generation of the implementation of at compile time. + + + + + wrapper that returns the options instance. + + Options type. + + + + Initializes the wrapper with the options instance to return. + + The options instance to return. + + + + The options instance. + + + + + Implementation of . + + Options type being configured. + + + + Creates a new instance of . + + The name of the options. + The action to register. + + + + The options name. + + + + + The initialization action. + + + + + Invokes the registered initialization if the matches. + + The name of the action to invoke. + The options to use in initialization. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Constructor. + + The name of the options. + A dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Marks a field or property to be enumerated, and each enumerated object to be validated. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field/property tells the code generator to + generate validation for the individual members of the enumerable's type. + + + + + Initializes a new instance of the class. + + A type that implements for the enumerable's type. + + Using this constructor for a field/property tells the code generator to use the given type to validate + the object held by the enumerable. + + + + + Gets the type to use to validate the enumerable's objects. + + + + + Marks a field or property to be validated transitively. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field/property tells the code generator to + generate validation for the individual members of the field/property's type. + + + + + Initializes a new instance of the class. + + A type that implements for the field/property's type. + + Using this constructor for a field/property tells the code generator to use the given type to validate + the object held by the field/property. + + + + + Gets the type to use to validate a field or property. + + + + + Implementation of + + The options type to validate. + + + + Constructor. + + Options name. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + Dependency type. + + + + Constructor. + + Options name. + The dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + The fifth dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Represents the result of an options validation. + + + + + Result when validation was skipped due to name not matching. + + + + + Validation was successful. + + + + + True if validation was successful. + + + + + True if validation was not run. + + + + + True if validation failed. + + + + + Used to describe why validation failed. + + + + + Full list of failures (can be multiple). + + + + + Returns a failure result. + + The reason for the failure. + The failure result. + + + + Returns a failure result. + + The reasons for the failure. + The failure result. + + + + Builds with support for multiple error messages. + + + + + Creates new instance of the class. + + + + + Adds a new validation error to the builder. + + Content of error message. + The property in the option object which contains an error. + + + + Adds any validation error carried by the instance to this instance. + + The instance to append the error from. + + + + Adds any validation error carried by the enumeration of instances to this instance. + + The enumeration to consume the errors from. + + + + Adds any validation errors carried by the instance to this instance. + + The instance to consume the errors from. + + + + Builds based on provided data. + + New instance of . + + + + Reset the builder to the empty state + + + + + Extension methods for adding configuration related options services to the DI container via . + + + + + Enforces options validation check on start rather than in runtime. + + The type of options. + The to configure options instance. + The so that additional calls can be chained. + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than in runtime. + + + The extension is called by this method. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than in runtime. + + + The extension is called by this method. + + The options type to be configured. + The validator type. + The to add the services to. + The name of the options instance. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure all instances of a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to initialize a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The options type to be configure. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to post configure all instances of a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The type that will configure options. + The to add the services to. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The to add the services to. + The type that will configure options. + The so that additional calls can be chained. + + + + Registers an object that will have all of its , + , and + registered. + + The to add the services to. + The instance that will configure options. + The so that additional calls can be chained. + + + + Gets an options builder that forwards Configure calls for the same to the underlying service collection. + + The options type to be configured. + The to add the services to. + The so that configure calls can be chained in it. + + + + Gets an options builder that forwards Configure calls for the same named to the underlying service collection. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + Failed to convert '{0}' to type '{1}'. + + + Failed to create instance of type '{0}'. + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found, did you mean to call Configure<> or PostConfigure<>? + + + diff --git a/local-nuget/microsoft.extensions.options/8.0.0/lib/net8.0/Microsoft.Extensions.Options.xml b/local-nuget/microsoft.extensions.options/8.0.0/lib/net8.0/Microsoft.Extensions.Options.xml new file mode 100644 index 000000000..0e42db4a0 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/lib/net8.0/Microsoft.Extensions.Options.xml @@ -0,0 +1,2025 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of . + + Options type being configured. + + + + Constructor. + + The name of the options. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Constructor. + + The name of the options. + A dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + + + + Constructor. + + The action to register. + + + + The configuration action. + + + + + Invokes the registered configure . + + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + + + Invoked to configure a instance. + + The name of the options instance being configured. + The options instance to configure. + + + + Represents something that configures the type. + Note: These are run before all . + + The options type being configured. + + + + Invoked to configure a instance. + + The options instance to configure. + + + + Used to retrieve configured instances. + + The type of options being requested. + + + + The default configured instance + + + + + Used to fetch used for tracking options changes. + + The options type being changed. + + + + Returns a which can be used to register a change notification callback. + + Change token. + + + + The name of the option instance being changed. + + + + + Used to create instances. + + The type of options being requested. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with thw given . + + + + Used for notifications when instances change. + + The options type. + + + + Returns the current instance with the . + + + + + Returns a configured instance with the given . + + The name of the instance, if a is used. + The instance that matches the given . + + + + Registers a listener to be called whenever a named changes. + + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Used by to cache instances. + + The type of options being requested. + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Tries to adds a new option to the cache, will return false if the name already exists. + + The name of the options instance. + The options instance. + Whether anything was added. + + + + Try to remove an options instance. + + The name of the options instance. + Whether anything was removed. + + + + Clears all options instances from the cache. + + + + + Used to access the value of for the lifetime of a request. + + Options type. + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + + + + Represents something that configures the type. + Note: These are run after all . + + Options type being configured. + + + + Invoked to configure a instance. + + The name of the options instance being configured. + The options instance to configured. + + + + Interface used by hosts to validate options during startup. + Options are enabled to be validated during startup by calling . + + + + + Calls the validators. + + One or more return failed when validating. + + + + Interface used to validate options. + + The options type to validate. + + + + Validates a specific named options instance (or all when name is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Helper class. + + + + + The default name used for options instances: "". + + + + + Creates a wrapper around an instance of to return itself as an . + + Options type. + Options object. + Wrapped options object. + + + + Used to configure instances. + + The type of options being requested. + + + + The default name of the instance. + + + + + The for the options being configured. + + + + + Constructor. + + The for the options being configured. + The default name of the instance, if null is used. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + A dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + + + Register a validation action for an options type using a default failure message. + + The validation function. + The current . + + + + Register a validation action for an options type. + + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Used to cache instances. + + The type of options being requested. + + + + Clears all options instances from the cache. + + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Gets a named options instance, if available. + + The name of the options instance. + The options instance. + true if the options were retrieved; otherwise, false. + + + + Tries to adds a new option to the cache, will return false if the name already exists. + + The name of the options instance. + The options instance. + Whether anything was added. + + + + Try to remove an options instance. + + The name of the options instance. + Whether anything was removed. + + + + Implementation of . + + The type of options being requested. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + The validations to run. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Creates a new instance of options type. + + The name of the instance to create. + The created instance. + The does not have a public parameterless constructor or is . + + + + Implementation of and . + + Options type. + + + + Initializes a new instance with the specified options configurations. + + The factory to use to create options. + + + + The default configured instance, equivalent to Get(Options.DefaultName). + + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Implementation of . + + Options type. + + + + Constructor. + + The factory to use to create options. + The sources used to listen for changes to the options instance. + The cache used to store options. + + + + The present value of the options, equivalent to Get(Options.DefaultName). + + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Registers a listener to be called whenever changes. + + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Removes all change registration subscriptions. + + + + + Extension methods for . + + + + + Registers a listener to be called whenever changes. + + The type of options instance being monitored. + The IOptionsMonitor. + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Thrown when options validation fails. + + + + + Constructor. + + The name of the options instance that failed. + The options type that failed. + The validation failure messages. + + + + The name of the options instance that failed. + + + + + The type of the options that failed. + + + + + The validation failures. + + + + + The message is a semicolon separated list of the . + + + + + Triggers the automatic generation of the implementation of at compile time. + + + + + wrapper that returns the options instance. + + Options type. + + + + Initializes the wrapper with the options instance to return. + + The options instance to return. + + + + The options instance. + + + + + Implementation of . + + Options type being configured. + + + + Creates a new instance of . + + The name of the options. + The action to register. + + + + The options name. + + + + + The initialization action. + + + + + Invokes the registered initialization if the matches. + + The name of the action to invoke. + The options to use in initialization. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Constructor. + + The name of the options. + A dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Marks a field or property to be enumerated, and each enumerated object to be validated. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field/property tells the code generator to + generate validation for the individual members of the enumerable's type. + + + + + Initializes a new instance of the class. + + A type that implements for the enumerable's type. + + Using this constructor for a field/property tells the code generator to use the given type to validate + the object held by the enumerable. + + + + + Gets the type to use to validate the enumerable's objects. + + + + + Marks a field or property to be validated transitively. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field/property tells the code generator to + generate validation for the individual members of the field/property's type. + + + + + Initializes a new instance of the class. + + A type that implements for the field/property's type. + + Using this constructor for a field/property tells the code generator to use the given type to validate + the object held by the field/property. + + + + + Gets the type to use to validate a field or property. + + + + + Implementation of + + The options type to validate. + + + + Constructor. + + Options name. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + Dependency type. + + + + Constructor. + + Options name. + The dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + The fifth dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Represents the result of an options validation. + + + + + Result when validation was skipped due to name not matching. + + + + + Validation was successful. + + + + + True if validation was successful. + + + + + True if validation was not run. + + + + + True if validation failed. + + + + + Used to describe why validation failed. + + + + + Full list of failures (can be multiple). + + + + + Returns a failure result. + + The reason for the failure. + The failure result. + + + + Returns a failure result. + + The reasons for the failure. + The failure result. + + + + Builds with support for multiple error messages. + + + + + Creates new instance of the class. + + + + + Adds a new validation error to the builder. + + Content of error message. + The property in the option object which contains an error. + + + + Adds any validation error carried by the instance to this instance. + + The instance to append the error from. + + + + Adds any validation error carried by the enumeration of instances to this instance. + + The enumeration to consume the errors from. + + + + Adds any validation errors carried by the instance to this instance. + + The instance to consume the errors from. + + + + Builds based on provided data. + + New instance of . + + + + Reset the builder to the empty state + + + + + Extension methods for adding configuration related options services to the DI container via . + + + + + Enforces options validation check on start rather than in runtime. + + The type of options. + The to configure options instance. + The so that additional calls can be chained. + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than in runtime. + + + The extension is called by this method. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than in runtime. + + + The extension is called by this method. + + The options type to be configured. + The validator type. + The to add the services to. + The name of the options instance. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure all instances of a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to initialize a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The options type to be configure. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to post configure all instances of a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The type that will configure options. + The to add the services to. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The to add the services to. + The type that will configure options. + The so that additional calls can be chained. + + + + Registers an object that will have all of its , + , and + registered. + + The to add the services to. + The instance that will configure options. + The so that additional calls can be chained. + + + + Gets an options builder that forwards Configure calls for the same to the underlying service collection. + + The options type to be configured. + The to add the services to. + The so that configure calls can be chained in it. + + + + Gets an options builder that forwards Configure calls for the same named to the underlying service collection. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + Failed to convert '{0}' to type '{1}'. + + + Failed to create instance of type '{0}'. + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found, did you mean to call Configure<> or PostConfigure<>? + + + diff --git a/local-nuget/microsoft.extensions.options/8.0.0/lib/netstandard2.0/Microsoft.Extensions.Options.xml b/local-nuget/microsoft.extensions.options/8.0.0/lib/netstandard2.0/Microsoft.Extensions.Options.xml new file mode 100644 index 000000000..11b44a2f8 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/lib/netstandard2.0/Microsoft.Extensions.Options.xml @@ -0,0 +1,2404 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of . + + Options type being configured. + + + + Constructor. + + The name of the options. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Constructor. + + The name of the options. + A dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + + + + Constructor. + + The action to register. + + + + The configuration action. + + + + + Invokes the registered configure . + + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + + + Invoked to configure a instance. + + The name of the options instance being configured. + The options instance to configure. + + + + Represents something that configures the type. + Note: These are run before all . + + The options type being configured. + + + + Invoked to configure a instance. + + The options instance to configure. + + + + Used to retrieve configured instances. + + The type of options being requested. + + + + The default configured instance + + + + + Used to fetch used for tracking options changes. + + The options type being changed. + + + + Returns a which can be used to register a change notification callback. + + Change token. + + + + The name of the option instance being changed. + + + + + Used to create instances. + + The type of options being requested. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with thw given . + + + + Used for notifications when instances change. + + The options type. + + + + Returns the current instance with the . + + + + + Returns a configured instance with the given . + + The name of the instance, if a is used. + The instance that matches the given . + + + + Registers a listener to be called whenever a named changes. + + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Used by to cache instances. + + The type of options being requested. + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Tries to adds a new option to the cache, will return false if the name already exists. + + The name of the options instance. + The options instance. + Whether anything was added. + + + + Try to remove an options instance. + + The name of the options instance. + Whether anything was removed. + + + + Clears all options instances from the cache. + + + + + Used to access the value of for the lifetime of a request. + + Options type. + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + + + + Represents something that configures the type. + Note: These are run after all . + + Options type being configured. + + + + Invoked to configure a instance. + + The name of the options instance being configured. + The options instance to configured. + + + + Interface used by hosts to validate options during startup. + Options are enabled to be validated during startup by calling . + + + + + Calls the validators. + + One or more return failed when validating. + + + + Interface used to validate options. + + The options type to validate. + + + + Validates a specific named options instance (or all when name is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Helper class. + + + + + The default name used for options instances: "". + + + + + Creates a wrapper around an instance of to return itself as an . + + Options type. + Options object. + Wrapped options object. + + + + Used to configure instances. + + The type of options being requested. + + + + The default name of the instance. + + + + + The for the options being configured. + + + + + Constructor. + + The for the options being configured. + The default name of the instance, if null is used. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + A dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + + + Register a validation action for an options type using a default failure message. + + The validation function. + The current . + + + + Register a validation action for an options type. + + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Used to cache instances. + + The type of options being requested. + + + + Clears all options instances from the cache. + + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Gets a named options instance, if available. + + The name of the options instance. + The options instance. + true if the options were retrieved; otherwise, false. + + + + Tries to adds a new option to the cache, will return false if the name already exists. + + The name of the options instance. + The options instance. + Whether anything was added. + + + + Try to remove an options instance. + + The name of the options instance. + Whether anything was removed. + + + + Implementation of . + + The type of options being requested. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + The validations to run. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Creates a new instance of options type. + + The name of the instance to create. + The created instance. + The does not have a public parameterless constructor or is . + + + + Implementation of and . + + Options type. + + + + Initializes a new instance with the specified options configurations. + + The factory to use to create options. + + + + The default configured instance, equivalent to Get(Options.DefaultName). + + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Implementation of . + + Options type. + + + + Constructor. + + The factory to use to create options. + The sources used to listen for changes to the options instance. + The cache used to store options. + + + + The present value of the options, equivalent to Get(Options.DefaultName). + + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Registers a listener to be called whenever changes. + + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Removes all change registration subscriptions. + + + + + Extension methods for . + + + + + Registers a listener to be called whenever changes. + + The type of options instance being monitored. + The IOptionsMonitor. + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Thrown when options validation fails. + + + + + Constructor. + + The name of the options instance that failed. + The options type that failed. + The validation failure messages. + + + + The name of the options instance that failed. + + + + + The type of the options that failed. + + + + + The validation failures. + + + + + The message is a semicolon separated list of the . + + + + + Triggers the automatic generation of the implementation of at compile time. + + + + + wrapper that returns the options instance. + + Options type. + + + + Initializes the wrapper with the options instance to return. + + The options instance to return. + + + + The options instance. + + + + + Implementation of . + + Options type being configured. + + + + Creates a new instance of . + + The name of the options. + The action to register. + + + + The options name. + + + + + The initialization action. + + + + + Invokes the registered initialization if the matches. + + The name of the action to invoke. + The options to use in initialization. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Constructor. + + The name of the options. + A dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Marks a field or property to be enumerated, and each enumerated object to be validated. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field/property tells the code generator to + generate validation for the individual members of the enumerable's type. + + + + + Initializes a new instance of the class. + + A type that implements for the enumerable's type. + + Using this constructor for a field/property tells the code generator to use the given type to validate + the object held by the enumerable. + + + + + Gets the type to use to validate the enumerable's objects. + + + + + Marks a field or property to be validated transitively. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field/property tells the code generator to + generate validation for the individual members of the field/property's type. + + + + + Initializes a new instance of the class. + + A type that implements for the field/property's type. + + Using this constructor for a field/property tells the code generator to use the given type to validate + the object held by the field/property. + + + + + Gets the type to use to validate a field or property. + + + + + Implementation of + + The options type to validate. + + + + Constructor. + + Options name. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + Dependency type. + + + + Constructor. + + Options name. + The dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + The fifth dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Represents the result of an options validation. + + + + + Result when validation was skipped due to name not matching. + + + + + Validation was successful. + + + + + True if validation was successful. + + + + + True if validation was not run. + + + + + True if validation failed. + + + + + Used to describe why validation failed. + + + + + Full list of failures (can be multiple). + + + + + Returns a failure result. + + The reason for the failure. + The failure result. + + + + Returns a failure result. + + The reasons for the failure. + The failure result. + + + + Builds with support for multiple error messages. + + + + + Creates new instance of the class. + + + + + Adds a new validation error to the builder. + + Content of error message. + The property in the option object which contains an error. + + + + Adds any validation error carried by the instance to this instance. + + The instance to append the error from. + + + + Adds any validation error carried by the enumeration of instances to this instance. + + The enumeration to consume the errors from. + + + + Adds any validation errors carried by the instance to this instance. + + The instance to consume the errors from. + + + + Builds based on provided data. + + New instance of . + + + + Reset the builder to the empty state + + + + + Extension methods for adding configuration related options services to the DI container via . + + + + + Enforces options validation check on start rather than in runtime. + + The type of options. + The to configure options instance. + The so that additional calls can be chained. + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than in runtime. + + + The extension is called by this method. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than in runtime. + + + The extension is called by this method. + + The options type to be configured. + The validator type. + The to add the services to. + The name of the options instance. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure all instances of a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to initialize a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The options type to be configure. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to post configure all instances of a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The type that will configure options. + The to add the services to. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The to add the services to. + The type that will configure options. + The so that additional calls can be chained. + + + + Registers an object that will have all of its , + , and + registered. + + The to add the services to. + The instance that will configure options. + The so that additional calls can be chained. + + + + Gets an options builder that forwards Configure calls for the same to the underlying service collection. + + The options type to be configured. + The to add the services to. + The so that configure calls can be chained in it. + + + + Gets an options builder that forwards Configure calls for the same named to the underlying service collection. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all members. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + Failed to convert '{0}' to type '{1}'. + + + Failed to create instance of type '{0}'. + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found, did you mean to call Configure<> or PostConfigure<>? + + + diff --git a/local-nuget/microsoft.extensions.options/8.0.0/lib/netstandard2.1/Microsoft.Extensions.Options.xml b/local-nuget/microsoft.extensions.options/8.0.0/lib/netstandard2.1/Microsoft.Extensions.Options.xml new file mode 100644 index 000000000..c81993c5d --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/lib/netstandard2.1/Microsoft.Extensions.Options.xml @@ -0,0 +1,2340 @@ + + + + Microsoft.Extensions.Options + + + + + Implementation of . + + Options type being configured. + + + + Constructor. + + The name of the options. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Constructor. + + The name of the options. + A dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Invokes the registered configure if the matches. + + The name of the options instance being configured. + The options instance to configure. + + + + Invoked to configure a instance with the . + + The options instance to configure. + + + + Implementation of . + + Options type being configured. + + + + Constructor. + + The action to register. + + + + The configuration action. + + + + + Invokes the registered configure . + + The options instance to configure. + + + + Represents something that configures the type. + + The options type being configured. + + + + Invoked to configure a instance. + + The name of the options instance being configured. + The options instance to configure. + + + + Represents something that configures the type. + Note: These are run before all . + + The options type being configured. + + + + Invoked to configure a instance. + + The options instance to configure. + + + + Used to retrieve configured instances. + + The type of options being requested. + + + + The default configured instance + + + + + Used to fetch used for tracking options changes. + + The options type being changed. + + + + Returns a which can be used to register a change notification callback. + + Change token. + + + + The name of the option instance being changed. + + + + + Used to create instances. + + The type of options being requested. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with thw given . + + + + Used for notifications when instances change. + + The options type. + + + + Returns the current instance with the . + + + + + Returns a configured instance with the given . + + The name of the instance, if a is used. + The instance that matches the given . + + + + Registers a listener to be called whenever a named changes. + + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Used by to cache instances. + + The type of options being requested. + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Tries to adds a new option to the cache, will return false if the name already exists. + + The name of the options instance. + The options instance. + Whether anything was added. + + + + Try to remove an options instance. + + The name of the options instance. + Whether anything was removed. + + + + Clears all options instances from the cache. + + + + + Used to access the value of for the lifetime of a request. + + Options type. + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + + + + Represents something that configures the type. + Note: These are run after all . + + Options type being configured. + + + + Invoked to configure a instance. + + The name of the options instance being configured. + The options instance to configured. + + + + Interface used by hosts to validate options during startup. + Options are enabled to be validated during startup by calling . + + + + + Calls the validators. + + One or more return failed when validating. + + + + Interface used to validate options. + + The options type to validate. + + + + Validates a specific named options instance (or all when name is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Helper class. + + + + + The default name used for options instances: "". + + + + + Creates a wrapper around an instance of to return itself as an . + + Options type. + Options object. + Wrapped options object. + + + + Used to configure instances. + + The type of options being requested. + + + + The default name of the instance. + + + + + The for the options being configured. + + + + + Constructor. + + The for the options being configured. + The default name of the instance, if null is used. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + A dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The action used to configure the options. + The current . + + + + Registers an action used to post configure a particular type of options. + Note: These are run after all . + + The first dependency used by the action. + The second dependency used by the action. + The third dependency used by the action. + The fourth dependency used by the action. + The fifth dependency used by the action. + The action used to configure the options. + The current . + + + + Register a validation action for an options type using a default failure message. + + The validation function. + The current . + + + + Register a validation action for an options type. + + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Register a validation action for an options type using a default failure message. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The current . + + + + Register a validation action for an options type. + + The first dependency used by the validation function. + The second dependency used by the validation function. + The third dependency used by the validation function. + The fourth dependency used by the validation function. + The fifth dependency used by the validation function. + The validation function. + The failure message to use when validation fails. + The current . + + + + Used to cache instances. + + The type of options being requested. + + + + Clears all options instances from the cache. + + + + + Gets a named options instance, or adds a new instance created with . + + The name of the options instance. + The func used to create the new instance. + The options instance. + + + + Gets a named options instance, if available. + + The name of the options instance. + The options instance. + true if the options were retrieved; otherwise, false. + + + + Tries to adds a new option to the cache, will return false if the name already exists. + + The name of the options instance. + The options instance. + Whether anything was added. + + + + Try to remove an options instance. + + The name of the options instance. + Whether anything was removed. + + + + Implementation of . + + The type of options being requested. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + + + + Initializes a new instance with the specified options configurations. + + The configuration actions to run. + The initialization actions to run. + The validations to run. + + + + Returns a configured instance with the given . + + The name of the instance to create. + The created instance with the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Creates a new instance of options type. + + The name of the instance to create. + The created instance. + The does not have a public parameterless constructor or is . + + + + Implementation of and . + + Options type. + + + + Initializes a new instance with the specified options configurations. + + The factory to use to create options. + + + + The default configured instance, equivalent to Get(Options.DefaultName). + + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Implementation of . + + Options type. + + + + Constructor. + + The factory to use to create options. + The sources used to listen for changes to the options instance. + The cache used to store options. + + + + The present value of the options, equivalent to Get(Options.DefaultName). + + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Returns a configured instance with the given . + + The name of the instance, if is used. + The instance that matches the given . + One or more return failed when validating the instance been created. + The does not have a public parameterless constructor or is . + + + + Registers a listener to be called whenever changes. + + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Removes all change registration subscriptions. + + + + + Extension methods for . + + + + + Registers a listener to be called whenever changes. + + The type of options instance being monitored. + The IOptionsMonitor. + The action to be invoked when has changed. + An which should be disposed to stop listening for changes. + + + + Thrown when options validation fails. + + + + + Constructor. + + The name of the options instance that failed. + The options type that failed. + The validation failure messages. + + + + The name of the options instance that failed. + + + + + The type of the options that failed. + + + + + The validation failures. + + + + + The message is a semicolon separated list of the . + + + + + Triggers the automatic generation of the implementation of at compile time. + + + + + wrapper that returns the options instance. + + Options type. + + + + Initializes the wrapper with the options instance to return. + + The options instance to return. + + + + The options instance. + + + + + Implementation of . + + Options type being configured. + + + + Creates a new instance of . + + The name of the options. + The action to register. + + + + The options name. + + + + + The initialization action. + + + + + Invokes the registered initialization if the matches. + + The name of the action to invoke. + The options to use in initialization. + + + + Implementation of . + + Options type being configured. + Dependency type. + + + + Constructor. + + The name of the options. + A dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Implementation of . + + Options type being configured. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + The name of the options. + A dependency. + A second dependency. + A third dependency. + A fourth dependency. + A fifth dependency. + The action to register. + + + + The options name. + + + + + The configuration action. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Invokes the registered initialization if the matches. + + The name of the options instance being configured. + The options instance to configured. + + + + Invoked to configure a instance using the . + + The options instance to configured. + + + + Marks a field or property to be enumerated, and each enumerated object to be validated. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field/property tells the code generator to + generate validation for the individual members of the enumerable's type. + + + + + Initializes a new instance of the class. + + A type that implements for the enumerable's type. + + Using this constructor for a field/property tells the code generator to use the given type to validate + the object held by the enumerable. + + + + + Gets the type to use to validate the enumerable's objects. + + + + + Marks a field or property to be validated transitively. + + + + + Initializes a new instance of the class. + + + Using this constructor for a field/property tells the code generator to + generate validation for the individual members of the field/property's type. + + + + + Initializes a new instance of the class. + + A type that implements for the field/property's type. + + Using this constructor for a field/property tells the code generator to use the given type to validate + the object held by the field/property. + + + + + Gets the type to use to validate a field or property. + + + + + Implementation of + + The options type to validate. + + + + Constructor. + + Options name. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + Dependency type. + + + + Constructor. + + Options name. + The dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Implementation of + + The options type to validate. + First dependency type. + Second dependency type. + Third dependency type. + Fourth dependency type. + Fifth dependency type. + + + + Constructor. + + Options name. + The first dependency. + The second dependency. + The third dependency. + The fourth dependency. + The fifth dependency. + Validation function. + Validation failure message. + + + + The options name. + + + + + The validation function. + + + + + The error to return when validation fails. + + + + + The first dependency. + + + + + The second dependency. + + + + + The third dependency. + + + + + The fourth dependency. + + + + + The fifth dependency. + + + + + Validates a specific named options instance (or all when is null). + + The name of the options instance being validated. + The options instance. + The result. + + + + Represents the result of an options validation. + + + + + Result when validation was skipped due to name not matching. + + + + + Validation was successful. + + + + + True if validation was successful. + + + + + True if validation was not run. + + + + + True if validation failed. + + + + + Used to describe why validation failed. + + + + + Full list of failures (can be multiple). + + + + + Returns a failure result. + + The reason for the failure. + The failure result. + + + + Returns a failure result. + + The reasons for the failure. + The failure result. + + + + Builds with support for multiple error messages. + + + + + Creates new instance of the class. + + + + + Adds a new validation error to the builder. + + Content of error message. + The property in the option object which contains an error. + + + + Adds any validation error carried by the instance to this instance. + + The instance to append the error from. + + + + Adds any validation error carried by the enumeration of instances to this instance. + + The enumeration to consume the errors from. + + + + Adds any validation errors carried by the instance to this instance. + + The instance to consume the errors from. + + + + Builds based on provided data. + + New instance of . + + + + Reset the builder to the empty state + + + + + Extension methods for adding configuration related options services to the DI container via . + + + + + Enforces options validation check on start rather than in runtime. + + The type of options. + The to configure options instance. + The so that additional calls can be chained. + + + + Extension methods for adding options services to the DI container. + + + + + Adds services required for using options. + + The to add the services to. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than in runtime. + + + The extension is called by this method. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that additional calls can be chained. + + + + Adds services required for using options and enforces options validation check on start rather than in runtime. + + + The extension is called by this method. + + The options type to be configured. + The validator type. + The to add the services to. + The name of the options instance. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run before all . + + The options type to be configured. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure all instances of a particular type of options. + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to initialize a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to configure a particular type of options. + Note: These are run after all . + + The options type to be configure. + The to add the services to. + The name of the options instance. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers an action used to post configure all instances of a particular type of options. + Note: These are run after all . + + The options type to be configured. + The to add the services to. + The action used to configure the options. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The type that will configure options. + The to add the services to. + The so that additional calls can be chained. + + + + Registers a type that will have all of its , + , and + registered. + + The to add the services to. + The type that will configure options. + The so that additional calls can be chained. + + + + Registers an object that will have all of its , + , and + registered. + + The to add the services to. + The instance that will configure options. + The so that additional calls can be chained. + + + + Gets an options builder that forwards Configure calls for the same to the underlying service collection. + + The options type to be configured. + The to add the services to. + The so that configure calls can be chained in it. + + + + Gets an options builder that forwards Configure calls for the same named to the underlying service collection. + + The options type to be configured. + The to add the services to. + The name of the options instance. + The so that configure calls can be chained in it. + + + Throws an if is null. + The reference type argument to validate as non-null. + The name of the parameter with which corresponds. + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Attribute used to indicate a source generator should create a function for marshalling + arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time. + + + This attribute is meaningless if the source generator associated with it is not enabled. + The current built-in source generator only supports C# and only supplies an implementation when + applied to static, partial, non-generic methods. + + + + + Initializes a new instance of the . + + Name of the library containing the import. + + + + Gets the name of the library containing the import. + + + + + Gets or sets the name of the entry point to be called. + + + + + Gets or sets how to marshal string arguments to the method. + + + If this field is set to a value other than , + must not be specified. + + + + + Gets or sets the used to control how string arguments to the method are marshalled. + + + If this field is specified, must not be specified + or must be set to . + + + + + Gets or sets whether the callee sets an error (SetLastError on Windows or errno + on other platforms) before returning from the attributed method. + + + + + Specifies how strings should be marshalled for generated p/invokes + + + + + Indicates the user is suppling a specific marshaller in . + + + + + Use the platform-provided UTF-8 marshaller. + + + + + Use the platform-provided UTF-16 marshaller. + + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all members. + + + + + Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + Cannot create instance of type '{0}' because it is either abstract or an interface. + + + Failed to convert '{0}' to type '{1}'. + + + Failed to create instance of type '{0}'. + + + Cannot create instance of type '{0}' because it is missing a public parameterless constructor. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found. + + + No IConfigureOptions<>, IPostConfigureOptions<>, or IValidateOptions<> implementations were found, did you mean to call Configure<> or PostConfigure<>? + + + diff --git a/local-nuget/microsoft.extensions.options/8.0.0/microsoft.extensions.options.8.0.0.nupkg b/local-nuget/microsoft.extensions.options/8.0.0/microsoft.extensions.options.8.0.0.nupkg new file mode 100644 index 000000000..e412464dd Binary files /dev/null and b/local-nuget/microsoft.extensions.options/8.0.0/microsoft.extensions.options.8.0.0.nupkg differ diff --git a/local-nuget/microsoft.extensions.options/8.0.0/microsoft.extensions.options.8.0.0.nupkg.sha512 b/local-nuget/microsoft.extensions.options/8.0.0/microsoft.extensions.options.8.0.0.nupkg.sha512 new file mode 100644 index 000000000..445248448 --- /dev/null +++ b/local-nuget/microsoft.extensions.options/8.0.0/microsoft.extensions.options.8.0.0.nupkg.sha512 @@ -0,0 +1 @@ +HABAgqEy57daDJWs7zV4pNXbQsVeCZbkC5W2Y+moPFog7Ugahdt1Z//34949u6an1P5cgl3HzpXelWaJr6FsWg== \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.options/8.0.0/useSharedDesignerContext.txt b/local-nuget/microsoft.extensions.options/8.0.0/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/.nupkg.metadata b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/.nupkg.metadata new file mode 100644 index 000000000..83db8eef8 --- /dev/null +++ b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "hpRMeUOqEz+I5HKu8WXnYr2HYqu2neBX+bgAwQqVLj/UnQxys8JhC6ep4Sp+rPj0mRDxSOiCFASMLxACu0jeRQ==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/.signature.p7s b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/.signature.p7s new file mode 100644 index 000000000..86220e5b2 Binary files /dev/null and b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/.signature.p7s differ diff --git a/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/Icon.png b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/Icon.png differ diff --git a/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/Microsoft.Extensions.TimeProvider.Testing.nuspec b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/Microsoft.Extensions.TimeProvider.Testing.nuspec new file mode 100644 index 000000000..c86afee88 --- /dev/null +++ b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/Microsoft.Extensions.TimeProvider.Testing.nuspec @@ -0,0 +1,29 @@ + + + + Microsoft.Extensions.TimeProvider.Testing + 9.10.0 + Microsoft + true + MIT + https://licenses.nuget.org/MIT + Icon.png + README.md + https://dot.net/ + Hand-crafted fakes to make time-related testing easier. + + FakeTimeProvider implements the abstract TimeProvider class and is + specifically designed to be used for testing. + © Microsoft Corporation. All rights reserved. + Testing TimeProvider FakeTimeProvider + true + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/README.md b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/README.md new file mode 100644 index 000000000..2984772d6 --- /dev/null +++ b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/README.md @@ -0,0 +1,214 @@ +# Microsoft.Extensions.TimeProvider.Testing + +Provides a `FakeTimeProvider` for testing components that depend on `System.TimeProvider`. + +## Install the package + +From the command-line: + +```console +dotnet add package Microsoft.Extensions.TimeProvider.Testing +``` + +Or directly in the C# project file: + +```xml + + + +``` + +## Usage Example + +`FakeTimeProvider` can be used to manually adjust time to test time dependent components in a deterministic way. + +`FakeTimeProvider` derives from [TimeProvider](https://learn.microsoft.com/dotnet/api/system.timeprovider) and adds the following APIs: + +```csharp +public FakeTimeProvider(DateTimeOffset startDateTime) +public DateTimeOffset Start { get; } +public TimeSpan AutoAdvanceAmount { get; set; } +public void SetUtcNow(DateTimeOffset value) +public void Advance(TimeSpan delta) +public void SetLocalTimeZone(TimeZoneInfo localTimeZone) +``` + +### `ExpiryCache` with `TimeProvider` + +The example below demonstrates the `ExpiryCache` class and how it can be tested using `FakeTimeProvider` in `ExpiryCacheTests`. + +The `TimeProvider` abstraction is injected into the `ExpiryCache` class, allowing the cache to rely on `GetUtcNow()` to determine whether cache entries should be evicted based on the current time. This abstraction provides flexibility by enabling different time-related behaviors in test environments. + +By using `FakeTimeProvider` in testing, we can simulate the passage of time with methods like `Advance()` and `SetUtcNow()`. This makes it possible to emulate the system's time in a controlled and predictable way during tests, ensuring that cache eviction works as expected. + +```csharp +public class ExpiryCache +{ + private readonly TimeProvider _timeProvider; + private readonly ConcurrentDictionary _cache = new(); + private readonly TimeSpan _expirationDuration; + + public ExpiryCache(TimeProvider timeProvider, TimeSpan expirationDuration) + { + _timeProvider = timeProvider ?? throw new ArgumentNullException(nameof(timeProvider)); + _expirationDuration = expirationDuration; + } + + public void Add(TKey key, TValue value) + { + var expirationTime = _timeProvider.GetUtcNow() + _expirationDuration; + var cacheItem = new CacheItem(value, expirationTime); + + _cache[key] = cacheItem; + } + + public bool TryGetValue(TKey key, out TValue value) + { + value = default; + if (_cache.TryGetValue(key, out TValue cacheItem)) + { + if (cacheItem.ExpirationTime > _timeProvider.GetUtcNow()) + { + value = cacheItem.Value; + return true; + } + + // Remove expired item + _cache.TryRemove(key, out _); + } + return false; + } + + private class CacheItem + { + public TValue Value { get; } + public DateTimeOffset ExpirationTime { get; } + + public CacheItem(TValue value, DateTimeOffset expirationTime) + { + Value = value; + ExpirationTime = expirationTime; + } + } +} + +using Microsoft.Extensions.Time.Testing; + +public class ExpiryCacheTests +{ + [Fact] + public void ExpiryCache_ShouldRemoveExpiredItems() + { + var timeProvider = new FakeTimeProvider(); + var cache = new ExpiryCache(timeProvider, TimeSpan.FromSeconds(3)); + + cache.Add("key1", "value1"); + + // Simulate time passing + timeProvider.SetUtcNow(timeProvider.GetUtcNow() + TimeSpan.FromSeconds(2)); + + // The item should still be in the cache + bool found = cache.TryGetValue("key1", out string value); + Assert.True(found); + Assert.Equal("value1", value); + + // Simulate further time passing to be after expiration time + timeProvider.SetUtcNow(timeProvider.GetUtcNow() + TimeSpan.FromSeconds(2)); + + // The item should now be expired + found = cache.TryGetValue("key1", out value); + Assert.False(found); + } +} +``` + +## `SynchronizationContext` in xUnit Tests + +### xUnit v2 + +Some testing libraries such as xUnit v2 provide custom `SynchronizationContext` for running tests. xUnit v2, for instance, provides `AsyncTestSyncContext` that allows to properly manage asynchronous operations within the test execution. However, it brings an issue when we test asynchronous code that uses `ConfigureAwait(false)` in combination with class like `FakeTimeProvider`. In such cases, the xUnit context may lose track of the continuation, causing the test to become unresponsive, whether the test itself is asynchronous or not. + +To prevent this issue, remove the xUnit context for tests dependent on `FakeTimeProvider` by setting the synchronization context to `null`: +```csharp +SynchronizationContext.SetSynchronizationContext(null) +``` + +The `Advance` method is used to simulate the passage of time. Below is an example how to create a test for a code that uses `ConfigureAwait(false)` that ensures that the continuation of the awaited task (i.e., the code that comes after the await statement) works correctly. For a more realistic example, consider the following test using Polly: + +```csharp +using Polly; +using Polly.Retry; + +public class SomeService(TimeProvider timeProvider) +{ + // Don't do this in real life, not thread safe + public int Tries { get; private set; } + + private readonly ResiliencePipeline _retryPipeline = new ResiliencePipelineBuilder { TimeProvider = timeProvider } + .AddRetry( + new RetryStrategyOptions + { + ShouldHandle = new PredicateBuilder().Handle(), + Delay = TimeSpan.FromSeconds(1), + MaxRetryAttempts = 2, + BackoffType = DelayBackoffType.Linear, + }) + .Build(); + + public async Task PollyRetry(double taskDelay, double cancellationSeconds) + { + Tries = 0; + return await _retryPipeline.ExecuteAsync( + async _ => + { + Tries++; + // Simulate a task that takes some time to complete + // With xUnit Context this would fail. + await timeProvider.Delay(TimeSpan.FromSeconds(taskDelay)).ConfigureAwait(false); + if (Tries < 2) + { + throw new InvalidOperationException(); + } + return Tries; + }, + CancellationToken.None); + } +} + +using Microsoft.Extensions.Time.Testing; + +public class SomeServiceTests +{ + [Fact] + public void PollyRetry_ShouldHave2Tries() + { + // Arrange + // Remove xUnit Context for this test + SynchronizationContext.SetSynchronizationContext(null); + var timeProvider = new FakeTimeProvider(); + var someService = new SomeService(timeProvider); + + // Act + var result = someService.PollyRetry(taskDelay: 1, cancellationSeconds: 6); + + // Advancing the time more than one second should resolves the first execution delay. + timeProvider.Advance(TimeSpan.FromMilliseconds(1001)); + + // Advancing the time more than the retry delay time of 1s, + // and less then the task execution delay should start the second try + timeProvider.Advance(TimeSpan.FromMilliseconds(1050)); + + // Assert + result.IsCompleted.Should().BeFalse(); + someService.Tries.Should().Be(2); + } +} +``` + +### xUnit v3 + +`AsyncTestSyncContext` has been removed, more info [here](https://xunit.net/docs/getting-started/v3/migration), so above issue is no longer a problem. + +## Feedback & Contributing + +We welcome feedback and contributions in [our GitHub repo](https://github.com/dotnet/extensions). diff --git a/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/buildTransitive/net462/Microsoft.Extensions.TimeProvider.Testing.targets b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/buildTransitive/net462/Microsoft.Extensions.TimeProvider.Testing.targets new file mode 100644 index 000000000..707c7e461 --- /dev/null +++ b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/buildTransitive/net462/Microsoft.Extensions.TimeProvider.Testing.targets @@ -0,0 +1,7 @@ + + + + + + diff --git a/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/buildTransitive/net8.0/_._ b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/lib/net462/Microsoft.Extensions.TimeProvider.Testing.xml b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/lib/net462/Microsoft.Extensions.TimeProvider.Testing.xml new file mode 100644 index 000000000..7d0f6a593 --- /dev/null +++ b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/lib/net462/Microsoft.Extensions.TimeProvider.Testing.xml @@ -0,0 +1,1092 @@ + + + + Microsoft.Extensions.TimeProvider.Testing + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be . + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be . + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be . + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be . + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + + Indicates that certain members on a specified are accessed dynamically, + for example through . + + + This allows tools to understand which members are being accessed during the execution + of a program. + + This attribute is valid on members whose type is or . + + When this attribute is applied to a location of type , the assumption is + that the string represents a fully qualified type name. + + When this attribute is applied to a class, interface, or struct, the members specified + can be accessed dynamically on instances returned from calling + on instances of that class, interface, or struct. + + If the attribute is applied to a method it's treated as a special case and it implies + the attribute should be applied to the "this" parameter of the method. As such the attribute + should only be used on instance methods of types assignable to System.Type (or string, but no methods + will use it there). + + + + + Initializes a new instance of the class + with the specified member types. + + The types of members dynamically accessed. + + + + Gets the which specifies the type + of members dynamically accessed. + + + + + Specifies the types of members that are dynamically accessed. + + This enumeration has a attribute that allows a + bitwise combination of its member values. + + + + + Specifies no members. + + + + + Specifies the default, parameterless public constructor. + + + + + Specifies all public constructors. + + + + + Specifies all non-public constructors. + + + + + Specifies all public methods. + + + + + Specifies all non-public methods. + + + + + Specifies all public fields. + + + + + Specifies all non-public fields. + + + + + Specifies all public nested types. + + + + + Specifies all non-public nested types. + + + + + Specifies all public properties. + + + + + Specifies all non-public properties. + + + + + Specifies all public events. + + + + + Specifies all non-public events. + + + + + Specifies all interfaces implemented by the type. + + + + + Specifies all members. + + + + + States a dependency that one member has on another. + + + This can be used to inform tooling of a dependency that is otherwise not evident purely from + metadata and IL, for example a member relied on via reflection. + + + + + Initializes a new instance of the class + with the specified signature of a member on the same type as the consumer. + + The signature of the member depended on. + + + + Initializes a new instance of the class + with the specified signature of a member on a . + + The signature of the member depended on. + The containing . + + + + Initializes a new instance of the class + with the specified signature of a member on a type in an assembly. + + The signature of the member depended on. + The full name of the type containing the specified member. + The assembly name of the type containing the specified member. + + + + Initializes a new instance of the class + with the specified types of members on a . + + The types of members depended on. + The containing the specified members. + + + + Initializes a new instance of the class + with the specified types of members on a type in an assembly. + + The types of members depended on. + The full name of the type containing the specified members. + The assembly name of the type containing the specified members. + + + + Gets the signature of the member depended on. + + + Either must be a valid string or + must not equal , but not both. + + + + + Gets the which specifies the type + of members depended on. + + + Either must be a valid string or + must not equal , but not both. + + + + + Gets the containing the specified member. + + + If neither nor are specified, + the type of the consumer is assumed. + + + + + Gets the full name of the type containing the specified member. + + + If neither nor are specified, + the type of the consumer is assumed. + + + + + Gets the assembly name of the specified type. + + + is only valid when is specified. + + + + + Gets or sets the condition in which the dependency is applicable, e.g. "DEBUG". + + + + + /// Indicates that the specified member requires assembly files to be on disk. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + A message that contains information about the need for assembly files to be on disk. + + + + + Gets an optional message that contains information about the need for + assembly files to be on disk. + + + + + Gets or sets an optional URL that contains more information about the member, + why it requires assembly files to be on disk, and what options a consumer has + to deal with it. + + + + + Indicates that the specified method requires the ability to generate new code at runtime, + for example through . + + + This allows tools to understand which methods are unsafe to call when compiling ahead of time. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of dynamic code. + + + + + Gets a message that contains information about the usage of dynamic code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires dynamic code, and what options a consumer has to deal with it. + + + + + /// Indicates that the specified method requires dynamic access to code that is not referenced + statically, for example through . + + + This allows tools to understand which methods are unsafe to call when removing unreferenced + code from an application. + + + + + Initializes a new instance of the class + with the specified message. + + + A message that contains information about the usage of unreferenced code. + + + + + Gets a message that contains information about the usage of unreferenced code. + + + + + Gets or sets an optional URL that contains more information about the method, + why it requires unreferenced code, and what options a consumer has to deal with it. + + + + + /// Suppresses reporting of a specific rule violation, allowing multiple suppressions on a + single code artifact. + + + is different than + in that it doesn't have a + . So it is always preserved in the compiled assembly. + + + + + Initializes a new instance of the + class, specifying the category of the tool and the identifier for an analysis rule. + + The category for the attribute. + The identifier of the analysis rule the attribute applies to. + + + + Gets the category identifying the classification of the attribute. + + + The property describes the tool or tool analysis category + for which a message suppression attribute applies. + + + + + Gets the identifier of the analysis tool rule to be suppressed. + + + Concatenated together, the and + properties form a unique check identifier. + + + + + Gets or sets the scope of the code that is relevant for the attribute. + + + The Scope property is an optional argument that specifies the metadata scope for which + the attribute is relevant. + + + + + Gets or sets a fully qualified path that represents the target of the attribute. + + + The property is an optional argument identifying the analysis target + of the attribute. An example value is "System.IO.Stream.ctor():System.Void". + Because it is fully qualified, it can be long, particularly for targets such as parameters. + The analysis tool user interface should be capable of automatically formatting the parameter. + + + + + Gets or sets an optional argument expanding on exclusion criteria. + + + The property is an optional argument that specifies additional + exclusion where the literal metadata target is not sufficiently precise. For example, + the cannot be applied within a method, + and it may be desirable to suppress a violation against a statement in the method that will + give a rule violation, but not against all statements in the method. + + + + + Gets or sets the justification for suppressing the code analysis message. + + + + + Tags parameter that should be filled with specific caller name. + + + + + Initializes a new instance of the class. + + Function parameter to take the name from. + + + + Gets name of the function parameter that name should be taken from. + + + + + Used to indicate to the compiler that the .locals init + flag should not be set in method headers. + + + This attribute is unsafe because it may reveal uninitialized memory to + the application in certain instances (e.g., reading from uninitialized + stackalloc'd memory). If applied to a method directly, the attribute + applies to that method and all nested functions (lambdas, local + functions) below it. If applied to a type or module, it applies to all + methods nested inside. This attribute is intentionally not permitted on + assemblies. Use at the module level instead to apply to multiple type + declarations. + + + + + Various diagnostic IDs reported by this repo. + + + When adding a new diagnostic ID, add a corresponding suppression to the root Directory.Build.targets file, + and add a documentation entry to docs/list-of-diagnostics.md. + + + + + Experiments supported by this repo. + + + + + Defines static methods used to throw exceptions. + + + The main purpose is to reduce code size, improve performance, and standardize exception + messages. + + + + + Throws an if the specified argument is . + + Argument type to be checked for . + Object to be checked for . + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified argument is , + or if the specified member is . + + Argument type to be checked for . + Member type to be checked for . + Argument to be checked for . + Object member to be checked for . + The name of the parameter being checked. + The name of the member. + The original value of . + + + Throws.IfNullOrMemberNull(myObject, myObject?.MyProperty) + + + + + + Throws an if the specified member is . + + Argument type. + Member type to be checked for . + Argument to which member belongs. + Object member to be checked for . + The name of the parameter being checked. + The name of the member. + The original value of . + + + Throws.IfMemberNull(myObject, myObject.MyProperty) + + + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Throws an if the string is , + or if it is empty. + + String to be checked for or empty. + The name of the parameter being checked. + The original value of . + + + + Throws an if the argument's buffer size is less than the required buffer size. + + The actual buffer size. + The required buffer size. + The name of the parameter to be checked. + + + + Throws an if the enum value is not valid. + + The argument to evaluate. + The name of the parameter being checked. + The type of the enumeration. + The original value of . + + + + Throws an if the collection is , + or if it is empty. + + The collection to evaluate. + The name of the parameter being checked. + The type of objects in the collection. + The original value of . + + + + Throws an . + + The name of the parameter that caused the exception. + + + + Throws an . + + The name of the parameter that caused the exception. + A message that describes the error. + + + + Throws an . + + The name of the parameter that caused the exception. + + + + Throws an . + + The name of the parameter that caused the exception. + A message that describes the error. + + + + Throws an . + + The name of the parameter that caused the exception. + The value of the argument that caused this exception. + A message that describes the error. + + + + Throws an . + + The name of the parameter that caused the exception. + A message that describes the error. + + + + Throws an . + + The name of the parameter that caused the exception. + A message that describes the error. + The exception that is the cause of the current exception. + + If the is not a , the current exception is raised in a catch + block that handles the inner exception. + + + + + Throws an . + + A message that describes the error. + + + + Throws an . + + A message that describes the error. + The exception that is the cause of the current exception. + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Represents a synthetic time provider that can be used to enable deterministic behavior in tests. + + + + + Initializes a new instance of the class. + + + This creates a provider whose time is initially set to midnight January 1st 2000. + The provider is set to not automatically advance time each time it is read. + + + + + Initializes a new instance of the class. + + The initial time and date reported by the provider. + + The provider is set to not automatically advance time each time it is read. + + + + + Gets the starting date and time for this provider. + + + + + Gets or sets the amount of time by which time advances whenever the clock is read. + + + This defaults to . + + The time value is less than . + + + + + + + Advances the date and time in the UTC time zone. + + The date and time in the UTC time zone. + The supplied time value is before the current time. + + This method simply advances time. If the time is set forward beyond the + trigger point of any outstanding timers, those timers will immediately trigger. + This is unlike the method, which has no impact + on timers. + + + + + Advances time by a specific amount. + + The amount of time to advance the clock by. + + Advancing time affects the timers created from this provider, and all other operations that are directly or + indirectly using this provider as a time source. Whereas when using , time + marches forward automatically in hardware, for the fake time provider the application is responsible for + doing this explicitly by calling this method. + + The time value is less than . + + + + Sets the date and time in the UTC time zone. + + The date and time in the UTC time zone. + + This method updates the current time, and has no impact on outstanding + timers. This is similar to what happens in a real system when the system's + time is changed. + + + + + + + + + + + Sets the local time zone. + + The local time zone. + + + + Gets the amount by which the value from increments per second. + + + This is fixed to the value of . + + + + + Returns a string representation this provider's idea of current time. + + A string representing the provider's current time. + + + + + + diff --git a/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/lib/net8.0/Microsoft.Extensions.TimeProvider.Testing.xml b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/lib/net8.0/Microsoft.Extensions.TimeProvider.Testing.xml new file mode 100644 index 000000000..8687b01fd --- /dev/null +++ b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/lib/net8.0/Microsoft.Extensions.TimeProvider.Testing.xml @@ -0,0 +1,562 @@ + + + + Microsoft.Extensions.TimeProvider.Testing + + + + + Various diagnostic IDs reported by this repo. + + + When adding a new diagnostic ID, add a corresponding suppression to the root Directory.Build.targets file, + and add a documentation entry to docs/list-of-diagnostics.md. + + + + + Experiments supported by this repo. + + + + + Defines static methods used to throw exceptions. + + + The main purpose is to reduce code size, improve performance, and standardize exception + messages. + + + + + Throws an if the specified argument is . + + Argument type to be checked for . + Object to be checked for . + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified argument is , + or if the specified member is . + + Argument type to be checked for . + Member type to be checked for . + Argument to be checked for . + Object member to be checked for . + The name of the parameter being checked. + The name of the member. + The original value of . + + + Throws.IfNullOrMemberNull(myObject, myObject?.MyProperty) + + + + + + Throws an if the specified member is . + + Argument type. + Member type to be checked for . + Argument to which member belongs. + Object member to be checked for . + The name of the parameter being checked. + The name of the member. + The original value of . + + + Throws.IfMemberNull(myObject, myObject.MyProperty) + + + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Throws an if the string is , + or if it is empty. + + String to be checked for or empty. + The name of the parameter being checked. + The original value of . + + + + Throws an if the argument's buffer size is less than the required buffer size. + + The actual buffer size. + The required buffer size. + The name of the parameter to be checked. + + + + Throws an if the enum value is not valid. + + The argument to evaluate. + The name of the parameter being checked. + The type of the enumeration. + The original value of . + + + + Throws an if the collection is , + or if it is empty. + + The collection to evaluate. + The name of the parameter being checked. + The type of objects in the collection. + The original value of . + + + + Throws an . + + The name of the parameter that caused the exception. + + + + Throws an . + + The name of the parameter that caused the exception. + A message that describes the error. + + + + Throws an . + + The name of the parameter that caused the exception. + + + + Throws an . + + The name of the parameter that caused the exception. + A message that describes the error. + + + + Throws an . + + The name of the parameter that caused the exception. + The value of the argument that caused this exception. + A message that describes the error. + + + + Throws an . + + The name of the parameter that caused the exception. + A message that describes the error. + + + + Throws an . + + The name of the parameter that caused the exception. + A message that describes the error. + The exception that is the cause of the current exception. + + If the is not a , the current exception is raised in a catch + block that handles the inner exception. + + + + + Throws an . + + A message that describes the error. + + + + Throws an . + + A message that describes the error. + The exception that is the cause of the current exception. + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Represents a synthetic time provider that can be used to enable deterministic behavior in tests. + + + + + Initializes a new instance of the class. + + + This creates a provider whose time is initially set to midnight January 1st 2000. + The provider is set to not automatically advance time each time it is read. + + + + + Initializes a new instance of the class. + + The initial time and date reported by the provider. + + The provider is set to not automatically advance time each time it is read. + + + + + Gets the starting date and time for this provider. + + + + + Gets or sets the amount of time by which time advances whenever the clock is read. + + + This defaults to . + + The time value is less than . + + + + + + + Advances the date and time in the UTC time zone. + + The date and time in the UTC time zone. + The supplied time value is before the current time. + + This method simply advances time. If the time is set forward beyond the + trigger point of any outstanding timers, those timers will immediately trigger. + This is unlike the method, which has no impact + on timers. + + + + + Advances time by a specific amount. + + The amount of time to advance the clock by. + + Advancing time affects the timers created from this provider, and all other operations that are directly or + indirectly using this provider as a time source. Whereas when using , time + marches forward automatically in hardware, for the fake time provider the application is responsible for + doing this explicitly by calling this method. + + The time value is less than . + + + + Sets the date and time in the UTC time zone. + + The date and time in the UTC time zone. + + This method updates the current time, and has no impact on outstanding + timers. This is similar to what happens in a real system when the system's + time is changed. + + + + + + + + + + + Sets the local time zone. + + The local time zone. + + + + Gets the amount by which the value from increments per second. + + + This is fixed to the value of . + + + + + Returns a string representation this provider's idea of current time. + + A string representing the provider's current time. + + + + + + diff --git a/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/lib/net9.0/Microsoft.Extensions.TimeProvider.Testing.xml b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/lib/net9.0/Microsoft.Extensions.TimeProvider.Testing.xml new file mode 100644 index 000000000..8687b01fd --- /dev/null +++ b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/lib/net9.0/Microsoft.Extensions.TimeProvider.Testing.xml @@ -0,0 +1,562 @@ + + + + Microsoft.Extensions.TimeProvider.Testing + + + + + Various diagnostic IDs reported by this repo. + + + When adding a new diagnostic ID, add a corresponding suppression to the root Directory.Build.targets file, + and add a documentation entry to docs/list-of-diagnostics.md. + + + + + Experiments supported by this repo. + + + + + Defines static methods used to throw exceptions. + + + The main purpose is to reduce code size, improve performance, and standardize exception + messages. + + + + + Throws an if the specified argument is . + + Argument type to be checked for . + Object to be checked for . + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified argument is , + or if the specified member is . + + Argument type to be checked for . + Member type to be checked for . + Argument to be checked for . + Object member to be checked for . + The name of the parameter being checked. + The name of the member. + The original value of . + + + Throws.IfNullOrMemberNull(myObject, myObject?.MyProperty) + + + + + + Throws an if the specified member is . + + Argument type. + Member type to be checked for . + Argument to which member belongs. + Object member to be checked for . + The name of the parameter being checked. + The name of the member. + The original value of . + + + Throws.IfMemberNull(myObject, myObject.MyProperty) + + + + + + Throws either an or an + if the specified string is or whitespace respectively. + + String to be checked for or whitespace. + The name of the parameter being checked. + The original value of . + + + + Throws an if the string is , + or if it is empty. + + String to be checked for or empty. + The name of the parameter being checked. + The original value of . + + + + Throws an if the argument's buffer size is less than the required buffer size. + + The actual buffer size. + The required buffer size. + The name of the parameter to be checked. + + + + Throws an if the enum value is not valid. + + The argument to evaluate. + The name of the parameter being checked. + The type of the enumeration. + The original value of . + + + + Throws an if the collection is , + or if it is empty. + + The collection to evaluate. + The name of the parameter being checked. + The type of objects in the collection. + The original value of . + + + + Throws an . + + The name of the parameter that caused the exception. + + + + Throws an . + + The name of the parameter that caused the exception. + A message that describes the error. + + + + Throws an . + + The name of the parameter that caused the exception. + + + + Throws an . + + The name of the parameter that caused the exception. + A message that describes the error. + + + + Throws an . + + The name of the parameter that caused the exception. + The value of the argument that caused this exception. + A message that describes the error. + + + + Throws an . + + The name of the parameter that caused the exception. + A message that describes the error. + + + + Throws an . + + The name of the parameter that caused the exception. + A message that describes the error. + The exception that is the cause of the current exception. + + If the is not a , the current exception is raised in a catch + block that handles the inner exception. + + + + + Throws an . + + A message that describes the error. + + + + Throws an . + + A message that describes the error. + The exception that is the cause of the current exception. + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less than min. + + Number to be expected being less than min. + The number that must be less than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater than max. + + Number to be expected being greater than max. + The number that must be greater than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is less or equal than min. + + Number to be expected being less or equal than min. + The number that must be less or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is greater or equal than max. + + Number to be expected being greater or equal than max. + The number that must be greater or equal than the argument. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is not in the specified range. + + Number to be expected being greater or equal than max. + The lower bound of the allowed range of argument values. + The upper bound of the allowed range of argument values. + The name of the parameter being checked. + The original value of . + + + + Throws an if the specified number is equal to 0. + + Number to be expected being not equal to zero. + The name of the parameter being checked. + The original value of . + + + + Represents a synthetic time provider that can be used to enable deterministic behavior in tests. + + + + + Initializes a new instance of the class. + + + This creates a provider whose time is initially set to midnight January 1st 2000. + The provider is set to not automatically advance time each time it is read. + + + + + Initializes a new instance of the class. + + The initial time and date reported by the provider. + + The provider is set to not automatically advance time each time it is read. + + + + + Gets the starting date and time for this provider. + + + + + Gets or sets the amount of time by which time advances whenever the clock is read. + + + This defaults to . + + The time value is less than . + + + + + + + Advances the date and time in the UTC time zone. + + The date and time in the UTC time zone. + The supplied time value is before the current time. + + This method simply advances time. If the time is set forward beyond the + trigger point of any outstanding timers, those timers will immediately trigger. + This is unlike the method, which has no impact + on timers. + + + + + Advances time by a specific amount. + + The amount of time to advance the clock by. + + Advancing time affects the timers created from this provider, and all other operations that are directly or + indirectly using this provider as a time source. Whereas when using , time + marches forward automatically in hardware, for the fake time provider the application is responsible for + doing this explicitly by calling this method. + + The time value is less than . + + + + Sets the date and time in the UTC time zone. + + The date and time in the UTC time zone. + + This method updates the current time, and has no impact on outstanding + timers. This is similar to what happens in a real system when the system's + time is changed. + + + + + + + + + + + Sets the local time zone. + + The local time zone. + + + + Gets the amount by which the value from increments per second. + + + This is fixed to the value of . + + + + + Returns a string representation this provider's idea of current time. + + A string representing the provider's current time. + + + + + + diff --git a/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/microsoft.extensions.timeprovider.testing.9.10.0.nupkg b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/microsoft.extensions.timeprovider.testing.9.10.0.nupkg new file mode 100644 index 000000000..fac63748f Binary files /dev/null and b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/microsoft.extensions.timeprovider.testing.9.10.0.nupkg differ diff --git a/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/microsoft.extensions.timeprovider.testing.9.10.0.nupkg.sha512 b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/microsoft.extensions.timeprovider.testing.9.10.0.nupkg.sha512 new file mode 100644 index 000000000..6bfe2e32a --- /dev/null +++ b/local-nuget/microsoft.extensions.timeprovider.testing/9.10.0/microsoft.extensions.timeprovider.testing.9.10.0.nupkg.sha512 @@ -0,0 +1 @@ +GCkN+qw/b+vqGCdJflGlgb2+z00H9ARxpaDeYw+M6YMEVSYNvJcuWHFlEkV0doxm8ZNQwJ1PGfYko9me8Kqs+g== \ No newline at end of file diff --git a/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/.nupkg.metadata b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/.nupkg.metadata new file mode 100644 index 000000000..4043cd7d2 --- /dev/null +++ b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "zLFA9IBxDWw6Y1nz2PPZyQvF+ZZ4aW1pwgtwusQB39lgxOc2xVqZ8gitsuT1rwyuIbchGOWbax4fsJ8OgGRxSQ==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/.signature.p7s b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/.signature.p7s new file mode 100644 index 000000000..eb8f642cd Binary files /dev/null and b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/.signature.p7s differ diff --git a/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/Microsoft.IdentityModel.JsonWebTokens.nuspec b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/Microsoft.IdentityModel.JsonWebTokens.nuspec new file mode 100644 index 000000000..983d271c8 --- /dev/null +++ b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/Microsoft.IdentityModel.JsonWebTokens.nuspec @@ -0,0 +1,47 @@ + + + + Microsoft.IdentityModel.JsonWebTokens + 7.2.0 + Microsoft + MIT + https://licenses.nuget.org/MIT + https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet + Includes types that provide support for creating, serializing and validating JSON Web Tokens. This is a newer, faster version of System.IdentityModel.Tokens.Jwt that has additional functionality. + © Microsoft Corporation. All rights reserved. + .NET Windows Authentication Identity Json Web Token + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net461/Microsoft.IdentityModel.JsonWebTokens.xml b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net461/Microsoft.IdentityModel.JsonWebTokens.xml new file mode 100644 index 000000000..55c81ce33 --- /dev/null +++ b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net461/Microsoft.IdentityModel.JsonWebTokens.xml @@ -0,0 +1,1435 @@ + + + + Microsoft.IdentityModel.JsonWebTokens + + + + + Initializes static members of the class. + + + + + Gets the InboundClaimTypeMap used by JwtSecurityTokenHandler when producing claims from jwt. + + + + + Gets the OutboundClaimTypeMap is used by JwtSecurityTokenHandler to shorten claim types when creating a jwt. + + + + + Constants that indicate how the should be evaluated. + + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonObject, the will be set to "JSON". + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonArray, the will be set to "JSON_ARRAY". + + + + A value that indicates the is Json null. + + When creating a the cannot be null. If the Json value was null, then the + will be set to and the will be set to "JSON_NULL". + + + + A designed for representing a JSON Web Token (JWT). + + + + + Initializes a new instance of from a string in JWS or JWE Compact serialized format. + + A JSON Web Token that has been serialized in JWS or JWE Compact serialized format. + 'jwtEncodedString' is null or empty. + 'jwtEncodedString' is not in JWS or JWE Compact serialization format. + + see: https://datatracker.ietf.org/doc/html/rfc7519 (JWT) + see: https://datatracker.ietf.org/doc/html/rfc7515 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516 (JWE) + + The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in + + + + + + Initializes a new instance of the class where the header contains the crypto algorithms applied to the encoded header and payload. + + A string containing JSON which represents the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. + A string containing JSON which represents the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }. + + see: https://datatracker.ietf.org/doc/html/rfc7519 (JWT) + see: https://datatracker.ietf.org/doc/html/rfc7515 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516 (JWE) + + The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in + + + 'header' is null. + 'payload' is null. + + + + Gets the AuthenticationTag from the original raw data of this instance when it was created. + + + Contains the results of a Authentication Encryption with Associated Data (AEAD). + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If this JWT is not encrypted with an algorithms that uses an Authentication Tag, an empty string will be returned. + + + + + + + + + + + Gets the Ciphertext representing the encrypted JWT in the original raw data. + + + When decrypted using values in the JWE header will contain the plaintext payload. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If this JWT is not encrypted, an empty string will be returned. + + + + + + + + + + + Gets the EncodedHeader from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded string of the JWT header. + + + + + Gets the Encrypted Content Encryption Key. + + + For some algorithms this value may be null even though the JWT was encrypted. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If not found, an empty string is returned. + + + + + + Gets the EncodedPayload from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT payload, for JWE this will an empty string. + + + + + Gets the EncodedSignature from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT signature. + If the JWT was not signed or a JWE, an empty string is returned. + + + + + Gets the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT. + + + + + Gets the Initialization Vector used when encrypting the plaintext. + + + see: https://datatracker.ietf.org/doc/html/rfc7516#appendix-A-1-4 + + Some algorithms may not use an Initialization Vector. + If not found an empty string is returned. + + + + + + Gets the associated with this instance. + + + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + For encrypted tokens {JWE}, this represents the JWT that was encrypted. + + If the JWT is not encrypted, this value will be null. + + + + + + Returns true if this JsonWebToken was encrypted a JWE. + + + + + Returns true if this JsonWebToken was signed a JWS. + + + + + Not implemented. + + + + + Gets or sets the that was used to sign this token. + + + If the JWT was not signed or validated, this value will be null. + + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + if is malformed, a valid JWT should have either 2 dots (JWS) or 4 dots (JWE). + if does not have an non-empty authentication tag after the 4th dot for a JWE. + if has more than 4 dots. + + + + Returns the encoded token without signature or authentication tag. + + Encoded token string without signature or authentication tag. + + + + + + + Gets a where each claim in the JWT { name, value } is returned as a . + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + + + + Gets a representing the { key, 'value' } pair corresponding to the provided . + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + If the key has no corresponding value, this method will throw. + + + + + + Try to get a representing the { key, 'value' } pair corresponding to the provided . + The value is obtained from the Payload. + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + true if successful, false otherwise. + + + + Gets the 'value' corresponding to key from the JWT header transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + The value as . + if claim is not found or a transformation to cannot be made. + + + + Gets the 'value' corresponding to key from the JWT payload transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + The value as . + if claim is not found or a transformation to cannot be made. + + + + Tries to get the claim from the JWT payload. + + + The 'value' a type T if possible. + + true if successful, false otherwise. + + + + Tries to get the value corresponding to the provided key from the JWT header { key, 'value' }. + + + The expectation is that the 'value' corresponds to a type expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + true if successful, false otherwise. + + + + Try to get the 'value' corresponding to key from the JWT payload transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + true if successful, false otherwise. + + + + Gets the 'value' of the 'alg' claim from the header. + + + Identifies the cryptographic algorithm used to encrypt or determine the value of the Content Encryption Key. + Applicable to an encrypted JWT {JWE}. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4-1-1 + + If the 'alg' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'cty' claim from the header. + + + Used by JWS applications to declare the media type[IANA.MediaTypes] of the secured content (the payload). + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.12 (JWE) + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 (JWS) + + If the 'cty' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'enc' claim from the header. + + + Identifies the content encryption algorithm used to perform authenticated encryption + on the plaintext to produce the ciphertext and the Authentication Tag. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + Gets the 'value' of the 'kid' claim from the header. + + + 'kid'is a hint indicating which key was used to secure the JWS. + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.6 (JWE) + + If the 'kid' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'typ' claim from the header. + + + Is used by JWT applications to declare the media type. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + If the 'typ' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'x5t' claim from the header. + + + Is the base64url-encoded SHA-1 thumbprint(a.k.a.digest) of the DER encoding of the X.509 certificate used to sign this token. + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.7 + + If the 'x5t' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'zip' claim from the header. + + + The "zip" (compression algorithm) applied to the plaintext before encryption, if any. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + If the 'zip' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'actort' claim the payload. + + + If the 'actort' claim is not found, an empty string is returned. + + + + + Gets the list of 'aud' claims from the payload. + + + Identifies the recipients that the JWT is intended for. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4-1-3 + + If the 'aud' claim is not found, enumeration will be empty. + + + + + + Gets the 'azp' claim from the payload. + + + Identifies the authorized party for the id_token. + see: https://openid.net/specs/openid-connect-core-1_0.html + + + + + Gets the 'value' of the 'iat' claim converted to a from the payload. + + + Identifies the time at which the JWT was issued. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6 + + If the 'iat' claim is not found, then is returned. + + + + + + Gets the 'value' of the 'iss' claim from the payload. + + + Identifies the principal that issued the JWT. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1 + + If the 'iss' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'jti' claim from the payload. + + + Provides a unique identifier for the JWT. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7 + + If the 'jti' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'sub' claim from the payload. + + + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2 + Identifies the principal that is the subject of the JWT. + + If the 'sub' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'nbf' claim converted to a from the payload. + + + Identifies the time before which the JWT MUST NOT be accepted for processing. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5 + + If the 'nbf' claim is not found, then is returned. + + + + + + Gets the 'value' of the 'exp' claim converted to a from the payload. + + + Identifies the expiration time on or after which the JWT MUST NOT be accepted for processing. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4 + + If the 'exp' claim is not found, then is returned. + + + + + + A designed for creating and validating Json Web Tokens. + See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515. + + This partial class is focused on TokenCreation. + + A designed for creating and validating Json Web Tokens. + See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515. + + + + + Creates an unsigned JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + if is null. + A JWS in Compact Serialization Format. + + + + Creates an unsigned JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the JWT token header. + if is null. + if is null. + A JWS in Compact Serialization Format. + + + + Creates a JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWS. + if is null. + if is null. + A JWS in Compact Serialization Format. + + + + Creates a JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWS. + Defines the dictionary containing any custom header claims that need to be added to the JWT token header. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWS in Compact Serialization Format. + + + + Creates a JWt that can be a JWS or JWE. + + A that contains details of contents of the token. + A JWT in Compact Serialization Format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWS in Compact Serialization Format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + if is null. + if is null. + if is null. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + if is null. + if is null. + if is null. + if is null. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header. + if is null. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + A can contain claims from multiple locations. + This method consolidates the claims and adds default times {exp, iat, nbf} if needed. + + The to use. + The used to create the token. + A boolean that controls if expiration, notbefore, issuedat should be added if missing. + The default value for the token lifetime in minutes. + A dictionary of claims. + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + if is null or empty. + if is null. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null or empty. + if is null. + if is null. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the compression algorithm that will be used to compress the 'innerJwt'. + if is null or empty. + if is null. + if is null or empty. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if compression using fails. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the compression algorithm that will be used to compress the + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null or empty. + if is null. + if is null or empty. + if is null or empty. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if compression using 'algorithm' fails. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Default claim type mapping for inbound claims. + + + + + Default value for the flag that determines whether or not the InboundClaimTypeMap is used. + + + + + Gets the Base64Url encoded string representation of the following JWT header: + { , }. + + The Base64Url encoded string representation of the unsigned JWT header. + + + + Initializes a new instance of the class. + + + + + Gets the type of the . + + The type of + + + + Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created. + + If .IsNullOrWhiteSpace('value') is true. + + + + Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a . + If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs. + The default value is false. + + + + + Gets or sets the which is used when setting the for claims in the extracted when validating a . + The is set to the JSON claim 'name' after translating using this mapping. + The default value is ClaimTypeMapping.InboundClaimTypeMap. + + 'value' is null. + + + + Determines if the string is a well formed Json Web Token (JWT). + See: https://datatracker.ietf.org/doc/html/rfc7519 + + String that should represent a valid JWT. + Uses matching: + JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$" + + + 'false' if the token is null or whitespace. + 'false' if token.Length is greater than . + 'true' if the token is in JSON compact serialization format. + + + + + Returns a value that indicates if this handler can validate a . + + 'true', indicating this instance can validate a . + + + + Creates a from a . + + The to use as a source. + Contains parameters for validating the token. + A containing the . + + + + Creates a from a with the specified issuer. + + The to use as a source. + Contains parameters for validating the token. + Specifies the issuer for the . + A containing the . + + + + Decrypts a JWE and returns the clear text + + the JWE that contains the cypher text. + contains crypto material. + the decoded / cleartext contents of the JWE. + if is null. + if is null. + if ' .Enc' is null or empty. + if decompression failed. + if ' .Kid' is not null AND decryption fails. + if the JWE was not able to be decrypted. + + + + Returns a to use when decrypting a JWE. + + The the token that is being decrypted. + The that is being decrypted. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use or to ensure the token is acceptable. + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + The token is NOT validated and no security decisions should be made about the contents. + Use or to ensure the token is acceptable. + + + + Validates a JWS or a JWE. + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A required for validation. + A + + + + Validates a token. + On a validation failure, no exception will be thrown; instead, the exception will be set in the returned TokenValidationResult.Exception property. + Callers should always check the TokenValidationResult.IsValid property to verify the validity of the result. + + The token to be validated. + A required for validation. + A + + TokenValidationResult.Exception will be set to one of the following exceptions if the is invalid. + if is null or empty. + if is null. + 'token.Length' is greater than . + if is not a valid , + if the validationParameters.TokenReader delegate is not able to parse/read the token as a valid , + + + + + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A whose TokenReader, if set, will be used to read a JWT. + A + if the validationParameters.TokenReader delegate is not able to parse/read the token as a valid . + if is not a valid JWT, . + + + + Private method for token validation, responsible for: + (1) Obtaining a configuration from the . + (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it. + + The JWT token + The to be used for validation. + + + + + Validates the JWT signature. + + + + + This class provides an abstraction over the json parser for net461+ using System.Text.Json. + will delegate to this class to get values. + + + + + The goal here is return types that are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + For that we would need to provide a way to hook a JsonConverter to for complex types. + + + + if this is called from TryGetValue then we don't want to throw. + + + + + + The return types that are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + For that we would need to provide a way to hook a JsonConverter to for complex types. + + + + + + + + + Constants for Json Web Tokens. + + + + + Short header type. + + + + + Long header type. + + + + + Short token type. + + + + + Long token type. + + + + + JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required. + + + + + JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'. + + + + + The number of parts in a JWE token. + + + + + The number of parts in a JWS token. + + + + + The maximum number of parts in a JWT. + + + + + JWE header alg indicating a shared symmetric key is directly used as CEK. + + + + + List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5. + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#page-12 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + + + + Parameter names for JsonWebToken header values as UTF8 bytes. + Used by UTF8JsonReader/Writer for performance gains. + + + + + List of registered claims from different sources + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-5 + + + + + + + + + + + + + Parameter names for JsonWebToken registered claim names in UTF8 bytes. + Used by UTF8JsonReader/Writer for performance gains. + + + + + Represents the parameters needed to decrypt a JSON Web Token + The JwtSecurityTokenHandler uses this as a helper when decrypting a JwtSecurityToken, the JsonWebTokenHandler sets the JsonWebToken property. + + + + + Gets or sets signature algorithm that was used to create the signature. + + + + + Gets or sets the AuthenticationTag from the original raw data of this instance when it was created. + + + + + Gets or sets the Ciphertext from the original raw data of this instance when it was created. + + + + + Gets or sets the function used to attempt decompression with. + + + + + Gets or sets the encryption algorithm (Enc) of the token. + + + + + Gets the EncodedHeader from the original raw data of this instance when it was created. + + + + + Gets or sets the EncodedHeader from the original raw data of this instance when it was created. + + + + + Gets or sets the InitializationVector from the original raw data of this instance when it was created. + + + + + Gets or sets the collection of s to attempt to decrypt with. + + + + + Gets and sets the maximum deflate size in chars that will be processed. + + + + + Gets or sets the 'value' of the 'zip' claim. + + + + + A class which contains useful methods for processing JWT tokens. + + + + + Regex that is used to figure out if a token is in JWS format. + + + + + Regex that is used to figure out if a token is in JWE format. + + + + + Produces a signature over the . + + String to be signed + The that contain crypto specs used to sign the token. + The base 64 url encoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ). + 'input' or 'signingCredentials' is null. + + + + Produces a signature over the . + + String to be signed + The that contain crypto specs used to sign the token. + should the be cached. + The base 64 url encoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ). + or is null. + + + + Decompress JWT token bytes. + + + + + if is null. + if is null. + if the decompression is not supported. + if decompression using fails. + Decompressed JWT token + + + + Decrypts a Json Web Token. + + The Json Web Token, could be a JwtSecurityToken or JsonWebToken + The validation parameters containing cryptographic material. + The decryption parameters container. + The decrypted, and if the 'zip' claim is set, decompressed string representation of the token. + + + + Generates key bytes. + + + + + Gets all decryption keys. + + + + + Returns a to use when validating the signature of a token. + + The kid field of the token being validated + The x5t field of the token being validated + A required for validation. + The that will be used along with the to resolve the signing key + Returns a to use for signature validation. + Resolve the signing key using configuration then the validationParameters until a key is resolved. If key fails to resolve, then null is returned. + + + + Returns a to use when validating the signature of a token. + + The kid field of the token being validated + The x5t field of the token being validated + A collection of a signing key to be resolved from. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Counts the number of Jwt Token segments. + + The Jwt Token. + The maximum number of segments to count up to. + The number of segments up to . + + + + Log messages and codes + + + + diff --git a/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net462/Microsoft.IdentityModel.JsonWebTokens.xml b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net462/Microsoft.IdentityModel.JsonWebTokens.xml new file mode 100644 index 000000000..55c81ce33 --- /dev/null +++ b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net462/Microsoft.IdentityModel.JsonWebTokens.xml @@ -0,0 +1,1435 @@ + + + + Microsoft.IdentityModel.JsonWebTokens + + + + + Initializes static members of the class. + + + + + Gets the InboundClaimTypeMap used by JwtSecurityTokenHandler when producing claims from jwt. + + + + + Gets the OutboundClaimTypeMap is used by JwtSecurityTokenHandler to shorten claim types when creating a jwt. + + + + + Constants that indicate how the should be evaluated. + + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonObject, the will be set to "JSON". + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonArray, the will be set to "JSON_ARRAY". + + + + A value that indicates the is Json null. + + When creating a the cannot be null. If the Json value was null, then the + will be set to and the will be set to "JSON_NULL". + + + + A designed for representing a JSON Web Token (JWT). + + + + + Initializes a new instance of from a string in JWS or JWE Compact serialized format. + + A JSON Web Token that has been serialized in JWS or JWE Compact serialized format. + 'jwtEncodedString' is null or empty. + 'jwtEncodedString' is not in JWS or JWE Compact serialization format. + + see: https://datatracker.ietf.org/doc/html/rfc7519 (JWT) + see: https://datatracker.ietf.org/doc/html/rfc7515 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516 (JWE) + + The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in + + + + + + Initializes a new instance of the class where the header contains the crypto algorithms applied to the encoded header and payload. + + A string containing JSON which represents the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. + A string containing JSON which represents the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }. + + see: https://datatracker.ietf.org/doc/html/rfc7519 (JWT) + see: https://datatracker.ietf.org/doc/html/rfc7515 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516 (JWE) + + The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in + + + 'header' is null. + 'payload' is null. + + + + Gets the AuthenticationTag from the original raw data of this instance when it was created. + + + Contains the results of a Authentication Encryption with Associated Data (AEAD). + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If this JWT is not encrypted with an algorithms that uses an Authentication Tag, an empty string will be returned. + + + + + + + + + + + Gets the Ciphertext representing the encrypted JWT in the original raw data. + + + When decrypted using values in the JWE header will contain the plaintext payload. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If this JWT is not encrypted, an empty string will be returned. + + + + + + + + + + + Gets the EncodedHeader from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded string of the JWT header. + + + + + Gets the Encrypted Content Encryption Key. + + + For some algorithms this value may be null even though the JWT was encrypted. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If not found, an empty string is returned. + + + + + + Gets the EncodedPayload from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT payload, for JWE this will an empty string. + + + + + Gets the EncodedSignature from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT signature. + If the JWT was not signed or a JWE, an empty string is returned. + + + + + Gets the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT. + + + + + Gets the Initialization Vector used when encrypting the plaintext. + + + see: https://datatracker.ietf.org/doc/html/rfc7516#appendix-A-1-4 + + Some algorithms may not use an Initialization Vector. + If not found an empty string is returned. + + + + + + Gets the associated with this instance. + + + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + For encrypted tokens {JWE}, this represents the JWT that was encrypted. + + If the JWT is not encrypted, this value will be null. + + + + + + Returns true if this JsonWebToken was encrypted a JWE. + + + + + Returns true if this JsonWebToken was signed a JWS. + + + + + Not implemented. + + + + + Gets or sets the that was used to sign this token. + + + If the JWT was not signed or validated, this value will be null. + + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + if is malformed, a valid JWT should have either 2 dots (JWS) or 4 dots (JWE). + if does not have an non-empty authentication tag after the 4th dot for a JWE. + if has more than 4 dots. + + + + Returns the encoded token without signature or authentication tag. + + Encoded token string without signature or authentication tag. + + + + + + + Gets a where each claim in the JWT { name, value } is returned as a . + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + + + + Gets a representing the { key, 'value' } pair corresponding to the provided . + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + If the key has no corresponding value, this method will throw. + + + + + + Try to get a representing the { key, 'value' } pair corresponding to the provided . + The value is obtained from the Payload. + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + true if successful, false otherwise. + + + + Gets the 'value' corresponding to key from the JWT header transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + The value as . + if claim is not found or a transformation to cannot be made. + + + + Gets the 'value' corresponding to key from the JWT payload transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + The value as . + if claim is not found or a transformation to cannot be made. + + + + Tries to get the claim from the JWT payload. + + + The 'value' a type T if possible. + + true if successful, false otherwise. + + + + Tries to get the value corresponding to the provided key from the JWT header { key, 'value' }. + + + The expectation is that the 'value' corresponds to a type expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + true if successful, false otherwise. + + + + Try to get the 'value' corresponding to key from the JWT payload transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + true if successful, false otherwise. + + + + Gets the 'value' of the 'alg' claim from the header. + + + Identifies the cryptographic algorithm used to encrypt or determine the value of the Content Encryption Key. + Applicable to an encrypted JWT {JWE}. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4-1-1 + + If the 'alg' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'cty' claim from the header. + + + Used by JWS applications to declare the media type[IANA.MediaTypes] of the secured content (the payload). + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.12 (JWE) + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 (JWS) + + If the 'cty' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'enc' claim from the header. + + + Identifies the content encryption algorithm used to perform authenticated encryption + on the plaintext to produce the ciphertext and the Authentication Tag. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + Gets the 'value' of the 'kid' claim from the header. + + + 'kid'is a hint indicating which key was used to secure the JWS. + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.6 (JWE) + + If the 'kid' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'typ' claim from the header. + + + Is used by JWT applications to declare the media type. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + If the 'typ' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'x5t' claim from the header. + + + Is the base64url-encoded SHA-1 thumbprint(a.k.a.digest) of the DER encoding of the X.509 certificate used to sign this token. + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.7 + + If the 'x5t' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'zip' claim from the header. + + + The "zip" (compression algorithm) applied to the plaintext before encryption, if any. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + If the 'zip' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'actort' claim the payload. + + + If the 'actort' claim is not found, an empty string is returned. + + + + + Gets the list of 'aud' claims from the payload. + + + Identifies the recipients that the JWT is intended for. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4-1-3 + + If the 'aud' claim is not found, enumeration will be empty. + + + + + + Gets the 'azp' claim from the payload. + + + Identifies the authorized party for the id_token. + see: https://openid.net/specs/openid-connect-core-1_0.html + + + + + Gets the 'value' of the 'iat' claim converted to a from the payload. + + + Identifies the time at which the JWT was issued. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6 + + If the 'iat' claim is not found, then is returned. + + + + + + Gets the 'value' of the 'iss' claim from the payload. + + + Identifies the principal that issued the JWT. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1 + + If the 'iss' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'jti' claim from the payload. + + + Provides a unique identifier for the JWT. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7 + + If the 'jti' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'sub' claim from the payload. + + + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2 + Identifies the principal that is the subject of the JWT. + + If the 'sub' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'nbf' claim converted to a from the payload. + + + Identifies the time before which the JWT MUST NOT be accepted for processing. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5 + + If the 'nbf' claim is not found, then is returned. + + + + + + Gets the 'value' of the 'exp' claim converted to a from the payload. + + + Identifies the expiration time on or after which the JWT MUST NOT be accepted for processing. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4 + + If the 'exp' claim is not found, then is returned. + + + + + + A designed for creating and validating Json Web Tokens. + See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515. + + This partial class is focused on TokenCreation. + + A designed for creating and validating Json Web Tokens. + See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515. + + + + + Creates an unsigned JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + if is null. + A JWS in Compact Serialization Format. + + + + Creates an unsigned JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the JWT token header. + if is null. + if is null. + A JWS in Compact Serialization Format. + + + + Creates a JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWS. + if is null. + if is null. + A JWS in Compact Serialization Format. + + + + Creates a JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWS. + Defines the dictionary containing any custom header claims that need to be added to the JWT token header. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWS in Compact Serialization Format. + + + + Creates a JWt that can be a JWS or JWE. + + A that contains details of contents of the token. + A JWT in Compact Serialization Format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWS in Compact Serialization Format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + if is null. + if is null. + if is null. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + if is null. + if is null. + if is null. + if is null. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header. + if is null. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + A can contain claims from multiple locations. + This method consolidates the claims and adds default times {exp, iat, nbf} if needed. + + The to use. + The used to create the token. + A boolean that controls if expiration, notbefore, issuedat should be added if missing. + The default value for the token lifetime in minutes. + A dictionary of claims. + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + if is null or empty. + if is null. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null or empty. + if is null. + if is null. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the compression algorithm that will be used to compress the 'innerJwt'. + if is null or empty. + if is null. + if is null or empty. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if compression using fails. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the compression algorithm that will be used to compress the + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null or empty. + if is null. + if is null or empty. + if is null or empty. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if compression using 'algorithm' fails. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Default claim type mapping for inbound claims. + + + + + Default value for the flag that determines whether or not the InboundClaimTypeMap is used. + + + + + Gets the Base64Url encoded string representation of the following JWT header: + { , }. + + The Base64Url encoded string representation of the unsigned JWT header. + + + + Initializes a new instance of the class. + + + + + Gets the type of the . + + The type of + + + + Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created. + + If .IsNullOrWhiteSpace('value') is true. + + + + Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a . + If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs. + The default value is false. + + + + + Gets or sets the which is used when setting the for claims in the extracted when validating a . + The is set to the JSON claim 'name' after translating using this mapping. + The default value is ClaimTypeMapping.InboundClaimTypeMap. + + 'value' is null. + + + + Determines if the string is a well formed Json Web Token (JWT). + See: https://datatracker.ietf.org/doc/html/rfc7519 + + String that should represent a valid JWT. + Uses matching: + JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$" + + + 'false' if the token is null or whitespace. + 'false' if token.Length is greater than . + 'true' if the token is in JSON compact serialization format. + + + + + Returns a value that indicates if this handler can validate a . + + 'true', indicating this instance can validate a . + + + + Creates a from a . + + The to use as a source. + Contains parameters for validating the token. + A containing the . + + + + Creates a from a with the specified issuer. + + The to use as a source. + Contains parameters for validating the token. + Specifies the issuer for the . + A containing the . + + + + Decrypts a JWE and returns the clear text + + the JWE that contains the cypher text. + contains crypto material. + the decoded / cleartext contents of the JWE. + if is null. + if is null. + if ' .Enc' is null or empty. + if decompression failed. + if ' .Kid' is not null AND decryption fails. + if the JWE was not able to be decrypted. + + + + Returns a to use when decrypting a JWE. + + The the token that is being decrypted. + The that is being decrypted. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use or to ensure the token is acceptable. + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + The token is NOT validated and no security decisions should be made about the contents. + Use or to ensure the token is acceptable. + + + + Validates a JWS or a JWE. + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A required for validation. + A + + + + Validates a token. + On a validation failure, no exception will be thrown; instead, the exception will be set in the returned TokenValidationResult.Exception property. + Callers should always check the TokenValidationResult.IsValid property to verify the validity of the result. + + The token to be validated. + A required for validation. + A + + TokenValidationResult.Exception will be set to one of the following exceptions if the is invalid. + if is null or empty. + if is null. + 'token.Length' is greater than . + if is not a valid , + if the validationParameters.TokenReader delegate is not able to parse/read the token as a valid , + + + + + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A whose TokenReader, if set, will be used to read a JWT. + A + if the validationParameters.TokenReader delegate is not able to parse/read the token as a valid . + if is not a valid JWT, . + + + + Private method for token validation, responsible for: + (1) Obtaining a configuration from the . + (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it. + + The JWT token + The to be used for validation. + + + + + Validates the JWT signature. + + + + + This class provides an abstraction over the json parser for net461+ using System.Text.Json. + will delegate to this class to get values. + + + + + The goal here is return types that are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + For that we would need to provide a way to hook a JsonConverter to for complex types. + + + + if this is called from TryGetValue then we don't want to throw. + + + + + + The return types that are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + For that we would need to provide a way to hook a JsonConverter to for complex types. + + + + + + + + + Constants for Json Web Tokens. + + + + + Short header type. + + + + + Long header type. + + + + + Short token type. + + + + + Long token type. + + + + + JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required. + + + + + JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'. + + + + + The number of parts in a JWE token. + + + + + The number of parts in a JWS token. + + + + + The maximum number of parts in a JWT. + + + + + JWE header alg indicating a shared symmetric key is directly used as CEK. + + + + + List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5. + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#page-12 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + + + + Parameter names for JsonWebToken header values as UTF8 bytes. + Used by UTF8JsonReader/Writer for performance gains. + + + + + List of registered claims from different sources + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-5 + + + + + + + + + + + + + Parameter names for JsonWebToken registered claim names in UTF8 bytes. + Used by UTF8JsonReader/Writer for performance gains. + + + + + Represents the parameters needed to decrypt a JSON Web Token + The JwtSecurityTokenHandler uses this as a helper when decrypting a JwtSecurityToken, the JsonWebTokenHandler sets the JsonWebToken property. + + + + + Gets or sets signature algorithm that was used to create the signature. + + + + + Gets or sets the AuthenticationTag from the original raw data of this instance when it was created. + + + + + Gets or sets the Ciphertext from the original raw data of this instance when it was created. + + + + + Gets or sets the function used to attempt decompression with. + + + + + Gets or sets the encryption algorithm (Enc) of the token. + + + + + Gets the EncodedHeader from the original raw data of this instance when it was created. + + + + + Gets or sets the EncodedHeader from the original raw data of this instance when it was created. + + + + + Gets or sets the InitializationVector from the original raw data of this instance when it was created. + + + + + Gets or sets the collection of s to attempt to decrypt with. + + + + + Gets and sets the maximum deflate size in chars that will be processed. + + + + + Gets or sets the 'value' of the 'zip' claim. + + + + + A class which contains useful methods for processing JWT tokens. + + + + + Regex that is used to figure out if a token is in JWS format. + + + + + Regex that is used to figure out if a token is in JWE format. + + + + + Produces a signature over the . + + String to be signed + The that contain crypto specs used to sign the token. + The base 64 url encoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ). + 'input' or 'signingCredentials' is null. + + + + Produces a signature over the . + + String to be signed + The that contain crypto specs used to sign the token. + should the be cached. + The base 64 url encoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ). + or is null. + + + + Decompress JWT token bytes. + + + + + if is null. + if is null. + if the decompression is not supported. + if decompression using fails. + Decompressed JWT token + + + + Decrypts a Json Web Token. + + The Json Web Token, could be a JwtSecurityToken or JsonWebToken + The validation parameters containing cryptographic material. + The decryption parameters container. + The decrypted, and if the 'zip' claim is set, decompressed string representation of the token. + + + + Generates key bytes. + + + + + Gets all decryption keys. + + + + + Returns a to use when validating the signature of a token. + + The kid field of the token being validated + The x5t field of the token being validated + A required for validation. + The that will be used along with the to resolve the signing key + Returns a to use for signature validation. + Resolve the signing key using configuration then the validationParameters until a key is resolved. If key fails to resolve, then null is returned. + + + + Returns a to use when validating the signature of a token. + + The kid field of the token being validated + The x5t field of the token being validated + A collection of a signing key to be resolved from. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Counts the number of Jwt Token segments. + + The Jwt Token. + The maximum number of segments to count up to. + The number of segments up to . + + + + Log messages and codes + + + + diff --git a/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net472/Microsoft.IdentityModel.JsonWebTokens.xml b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net472/Microsoft.IdentityModel.JsonWebTokens.xml new file mode 100644 index 000000000..55c81ce33 --- /dev/null +++ b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net472/Microsoft.IdentityModel.JsonWebTokens.xml @@ -0,0 +1,1435 @@ + + + + Microsoft.IdentityModel.JsonWebTokens + + + + + Initializes static members of the class. + + + + + Gets the InboundClaimTypeMap used by JwtSecurityTokenHandler when producing claims from jwt. + + + + + Gets the OutboundClaimTypeMap is used by JwtSecurityTokenHandler to shorten claim types when creating a jwt. + + + + + Constants that indicate how the should be evaluated. + + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonObject, the will be set to "JSON". + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonArray, the will be set to "JSON_ARRAY". + + + + A value that indicates the is Json null. + + When creating a the cannot be null. If the Json value was null, then the + will be set to and the will be set to "JSON_NULL". + + + + A designed for representing a JSON Web Token (JWT). + + + + + Initializes a new instance of from a string in JWS or JWE Compact serialized format. + + A JSON Web Token that has been serialized in JWS or JWE Compact serialized format. + 'jwtEncodedString' is null or empty. + 'jwtEncodedString' is not in JWS or JWE Compact serialization format. + + see: https://datatracker.ietf.org/doc/html/rfc7519 (JWT) + see: https://datatracker.ietf.org/doc/html/rfc7515 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516 (JWE) + + The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in + + + + + + Initializes a new instance of the class where the header contains the crypto algorithms applied to the encoded header and payload. + + A string containing JSON which represents the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. + A string containing JSON which represents the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }. + + see: https://datatracker.ietf.org/doc/html/rfc7519 (JWT) + see: https://datatracker.ietf.org/doc/html/rfc7515 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516 (JWE) + + The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in + + + 'header' is null. + 'payload' is null. + + + + Gets the AuthenticationTag from the original raw data of this instance when it was created. + + + Contains the results of a Authentication Encryption with Associated Data (AEAD). + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If this JWT is not encrypted with an algorithms that uses an Authentication Tag, an empty string will be returned. + + + + + + + + + + + Gets the Ciphertext representing the encrypted JWT in the original raw data. + + + When decrypted using values in the JWE header will contain the plaintext payload. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If this JWT is not encrypted, an empty string will be returned. + + + + + + + + + + + Gets the EncodedHeader from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded string of the JWT header. + + + + + Gets the Encrypted Content Encryption Key. + + + For some algorithms this value may be null even though the JWT was encrypted. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If not found, an empty string is returned. + + + + + + Gets the EncodedPayload from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT payload, for JWE this will an empty string. + + + + + Gets the EncodedSignature from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT signature. + If the JWT was not signed or a JWE, an empty string is returned. + + + + + Gets the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT. + + + + + Gets the Initialization Vector used when encrypting the plaintext. + + + see: https://datatracker.ietf.org/doc/html/rfc7516#appendix-A-1-4 + + Some algorithms may not use an Initialization Vector. + If not found an empty string is returned. + + + + + + Gets the associated with this instance. + + + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + For encrypted tokens {JWE}, this represents the JWT that was encrypted. + + If the JWT is not encrypted, this value will be null. + + + + + + Returns true if this JsonWebToken was encrypted a JWE. + + + + + Returns true if this JsonWebToken was signed a JWS. + + + + + Not implemented. + + + + + Gets or sets the that was used to sign this token. + + + If the JWT was not signed or validated, this value will be null. + + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + if is malformed, a valid JWT should have either 2 dots (JWS) or 4 dots (JWE). + if does not have an non-empty authentication tag after the 4th dot for a JWE. + if has more than 4 dots. + + + + Returns the encoded token without signature or authentication tag. + + Encoded token string without signature or authentication tag. + + + + + + + Gets a where each claim in the JWT { name, value } is returned as a . + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + + + + Gets a representing the { key, 'value' } pair corresponding to the provided . + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + If the key has no corresponding value, this method will throw. + + + + + + Try to get a representing the { key, 'value' } pair corresponding to the provided . + The value is obtained from the Payload. + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + true if successful, false otherwise. + + + + Gets the 'value' corresponding to key from the JWT header transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + The value as . + if claim is not found or a transformation to cannot be made. + + + + Gets the 'value' corresponding to key from the JWT payload transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + The value as . + if claim is not found or a transformation to cannot be made. + + + + Tries to get the claim from the JWT payload. + + + The 'value' a type T if possible. + + true if successful, false otherwise. + + + + Tries to get the value corresponding to the provided key from the JWT header { key, 'value' }. + + + The expectation is that the 'value' corresponds to a type expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + true if successful, false otherwise. + + + + Try to get the 'value' corresponding to key from the JWT payload transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + true if successful, false otherwise. + + + + Gets the 'value' of the 'alg' claim from the header. + + + Identifies the cryptographic algorithm used to encrypt or determine the value of the Content Encryption Key. + Applicable to an encrypted JWT {JWE}. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4-1-1 + + If the 'alg' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'cty' claim from the header. + + + Used by JWS applications to declare the media type[IANA.MediaTypes] of the secured content (the payload). + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.12 (JWE) + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 (JWS) + + If the 'cty' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'enc' claim from the header. + + + Identifies the content encryption algorithm used to perform authenticated encryption + on the plaintext to produce the ciphertext and the Authentication Tag. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + Gets the 'value' of the 'kid' claim from the header. + + + 'kid'is a hint indicating which key was used to secure the JWS. + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.6 (JWE) + + If the 'kid' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'typ' claim from the header. + + + Is used by JWT applications to declare the media type. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + If the 'typ' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'x5t' claim from the header. + + + Is the base64url-encoded SHA-1 thumbprint(a.k.a.digest) of the DER encoding of the X.509 certificate used to sign this token. + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.7 + + If the 'x5t' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'zip' claim from the header. + + + The "zip" (compression algorithm) applied to the plaintext before encryption, if any. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + If the 'zip' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'actort' claim the payload. + + + If the 'actort' claim is not found, an empty string is returned. + + + + + Gets the list of 'aud' claims from the payload. + + + Identifies the recipients that the JWT is intended for. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4-1-3 + + If the 'aud' claim is not found, enumeration will be empty. + + + + + + Gets the 'azp' claim from the payload. + + + Identifies the authorized party for the id_token. + see: https://openid.net/specs/openid-connect-core-1_0.html + + + + + Gets the 'value' of the 'iat' claim converted to a from the payload. + + + Identifies the time at which the JWT was issued. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6 + + If the 'iat' claim is not found, then is returned. + + + + + + Gets the 'value' of the 'iss' claim from the payload. + + + Identifies the principal that issued the JWT. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1 + + If the 'iss' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'jti' claim from the payload. + + + Provides a unique identifier for the JWT. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7 + + If the 'jti' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'sub' claim from the payload. + + + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2 + Identifies the principal that is the subject of the JWT. + + If the 'sub' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'nbf' claim converted to a from the payload. + + + Identifies the time before which the JWT MUST NOT be accepted for processing. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5 + + If the 'nbf' claim is not found, then is returned. + + + + + + Gets the 'value' of the 'exp' claim converted to a from the payload. + + + Identifies the expiration time on or after which the JWT MUST NOT be accepted for processing. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4 + + If the 'exp' claim is not found, then is returned. + + + + + + A designed for creating and validating Json Web Tokens. + See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515. + + This partial class is focused on TokenCreation. + + A designed for creating and validating Json Web Tokens. + See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515. + + + + + Creates an unsigned JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + if is null. + A JWS in Compact Serialization Format. + + + + Creates an unsigned JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the JWT token header. + if is null. + if is null. + A JWS in Compact Serialization Format. + + + + Creates a JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWS. + if is null. + if is null. + A JWS in Compact Serialization Format. + + + + Creates a JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWS. + Defines the dictionary containing any custom header claims that need to be added to the JWT token header. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWS in Compact Serialization Format. + + + + Creates a JWt that can be a JWS or JWE. + + A that contains details of contents of the token. + A JWT in Compact Serialization Format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWS in Compact Serialization Format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + if is null. + if is null. + if is null. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + if is null. + if is null. + if is null. + if is null. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header. + if is null. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + A can contain claims from multiple locations. + This method consolidates the claims and adds default times {exp, iat, nbf} if needed. + + The to use. + The used to create the token. + A boolean that controls if expiration, notbefore, issuedat should be added if missing. + The default value for the token lifetime in minutes. + A dictionary of claims. + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + if is null or empty. + if is null. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null or empty. + if is null. + if is null. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the compression algorithm that will be used to compress the 'innerJwt'. + if is null or empty. + if is null. + if is null or empty. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if compression using fails. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the compression algorithm that will be used to compress the + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null or empty. + if is null. + if is null or empty. + if is null or empty. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if compression using 'algorithm' fails. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Default claim type mapping for inbound claims. + + + + + Default value for the flag that determines whether or not the InboundClaimTypeMap is used. + + + + + Gets the Base64Url encoded string representation of the following JWT header: + { , }. + + The Base64Url encoded string representation of the unsigned JWT header. + + + + Initializes a new instance of the class. + + + + + Gets the type of the . + + The type of + + + + Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created. + + If .IsNullOrWhiteSpace('value') is true. + + + + Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a . + If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs. + The default value is false. + + + + + Gets or sets the which is used when setting the for claims in the extracted when validating a . + The is set to the JSON claim 'name' after translating using this mapping. + The default value is ClaimTypeMapping.InboundClaimTypeMap. + + 'value' is null. + + + + Determines if the string is a well formed Json Web Token (JWT). + See: https://datatracker.ietf.org/doc/html/rfc7519 + + String that should represent a valid JWT. + Uses matching: + JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$" + + + 'false' if the token is null or whitespace. + 'false' if token.Length is greater than . + 'true' if the token is in JSON compact serialization format. + + + + + Returns a value that indicates if this handler can validate a . + + 'true', indicating this instance can validate a . + + + + Creates a from a . + + The to use as a source. + Contains parameters for validating the token. + A containing the . + + + + Creates a from a with the specified issuer. + + The to use as a source. + Contains parameters for validating the token. + Specifies the issuer for the . + A containing the . + + + + Decrypts a JWE and returns the clear text + + the JWE that contains the cypher text. + contains crypto material. + the decoded / cleartext contents of the JWE. + if is null. + if is null. + if ' .Enc' is null or empty. + if decompression failed. + if ' .Kid' is not null AND decryption fails. + if the JWE was not able to be decrypted. + + + + Returns a to use when decrypting a JWE. + + The the token that is being decrypted. + The that is being decrypted. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use or to ensure the token is acceptable. + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + The token is NOT validated and no security decisions should be made about the contents. + Use or to ensure the token is acceptable. + + + + Validates a JWS or a JWE. + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A required for validation. + A + + + + Validates a token. + On a validation failure, no exception will be thrown; instead, the exception will be set in the returned TokenValidationResult.Exception property. + Callers should always check the TokenValidationResult.IsValid property to verify the validity of the result. + + The token to be validated. + A required for validation. + A + + TokenValidationResult.Exception will be set to one of the following exceptions if the is invalid. + if is null or empty. + if is null. + 'token.Length' is greater than . + if is not a valid , + if the validationParameters.TokenReader delegate is not able to parse/read the token as a valid , + + + + + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A whose TokenReader, if set, will be used to read a JWT. + A + if the validationParameters.TokenReader delegate is not able to parse/read the token as a valid . + if is not a valid JWT, . + + + + Private method for token validation, responsible for: + (1) Obtaining a configuration from the . + (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it. + + The JWT token + The to be used for validation. + + + + + Validates the JWT signature. + + + + + This class provides an abstraction over the json parser for net461+ using System.Text.Json. + will delegate to this class to get values. + + + + + The goal here is return types that are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + For that we would need to provide a way to hook a JsonConverter to for complex types. + + + + if this is called from TryGetValue then we don't want to throw. + + + + + + The return types that are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + For that we would need to provide a way to hook a JsonConverter to for complex types. + + + + + + + + + Constants for Json Web Tokens. + + + + + Short header type. + + + + + Long header type. + + + + + Short token type. + + + + + Long token type. + + + + + JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required. + + + + + JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'. + + + + + The number of parts in a JWE token. + + + + + The number of parts in a JWS token. + + + + + The maximum number of parts in a JWT. + + + + + JWE header alg indicating a shared symmetric key is directly used as CEK. + + + + + List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5. + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#page-12 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + + + + Parameter names for JsonWebToken header values as UTF8 bytes. + Used by UTF8JsonReader/Writer for performance gains. + + + + + List of registered claims from different sources + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-5 + + + + + + + + + + + + + Parameter names for JsonWebToken registered claim names in UTF8 bytes. + Used by UTF8JsonReader/Writer for performance gains. + + + + + Represents the parameters needed to decrypt a JSON Web Token + The JwtSecurityTokenHandler uses this as a helper when decrypting a JwtSecurityToken, the JsonWebTokenHandler sets the JsonWebToken property. + + + + + Gets or sets signature algorithm that was used to create the signature. + + + + + Gets or sets the AuthenticationTag from the original raw data of this instance when it was created. + + + + + Gets or sets the Ciphertext from the original raw data of this instance when it was created. + + + + + Gets or sets the function used to attempt decompression with. + + + + + Gets or sets the encryption algorithm (Enc) of the token. + + + + + Gets the EncodedHeader from the original raw data of this instance when it was created. + + + + + Gets or sets the EncodedHeader from the original raw data of this instance when it was created. + + + + + Gets or sets the InitializationVector from the original raw data of this instance when it was created. + + + + + Gets or sets the collection of s to attempt to decrypt with. + + + + + Gets and sets the maximum deflate size in chars that will be processed. + + + + + Gets or sets the 'value' of the 'zip' claim. + + + + + A class which contains useful methods for processing JWT tokens. + + + + + Regex that is used to figure out if a token is in JWS format. + + + + + Regex that is used to figure out if a token is in JWE format. + + + + + Produces a signature over the . + + String to be signed + The that contain crypto specs used to sign the token. + The base 64 url encoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ). + 'input' or 'signingCredentials' is null. + + + + Produces a signature over the . + + String to be signed + The that contain crypto specs used to sign the token. + should the be cached. + The base 64 url encoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ). + or is null. + + + + Decompress JWT token bytes. + + + + + if is null. + if is null. + if the decompression is not supported. + if decompression using fails. + Decompressed JWT token + + + + Decrypts a Json Web Token. + + The Json Web Token, could be a JwtSecurityToken or JsonWebToken + The validation parameters containing cryptographic material. + The decryption parameters container. + The decrypted, and if the 'zip' claim is set, decompressed string representation of the token. + + + + Generates key bytes. + + + + + Gets all decryption keys. + + + + + Returns a to use when validating the signature of a token. + + The kid field of the token being validated + The x5t field of the token being validated + A required for validation. + The that will be used along with the to resolve the signing key + Returns a to use for signature validation. + Resolve the signing key using configuration then the validationParameters until a key is resolved. If key fails to resolve, then null is returned. + + + + Returns a to use when validating the signature of a token. + + The kid field of the token being validated + The x5t field of the token being validated + A collection of a signing key to be resolved from. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Counts the number of Jwt Token segments. + + The Jwt Token. + The maximum number of segments to count up to. + The number of segments up to . + + + + Log messages and codes + + + + diff --git a/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.xml b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.xml new file mode 100644 index 000000000..6e69c81e2 --- /dev/null +++ b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.xml @@ -0,0 +1,1446 @@ + + + + Microsoft.IdentityModel.JsonWebTokens + + + + + Initializes static members of the class. + + + + + Gets the InboundClaimTypeMap used by JwtSecurityTokenHandler when producing claims from jwt. + + + + + Gets the OutboundClaimTypeMap is used by JwtSecurityTokenHandler to shorten claim types when creating a jwt. + + + + + Constants that indicate how the should be evaluated. + + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonObject, the will be set to "JSON". + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonArray, the will be set to "JSON_ARRAY". + + + + A value that indicates the is Json null. + + When creating a the cannot be null. If the Json value was null, then the + will be set to and the will be set to "JSON_NULL". + + + + A designed for representing a JSON Web Token (JWT). + + + + + Initializes a new instance of from a string in JWS or JWE Compact serialized format. + + A JSON Web Token that has been serialized in JWS or JWE Compact serialized format. + 'jwtEncodedString' is null or empty. + 'jwtEncodedString' is not in JWS or JWE Compact serialization format. + + see: https://datatracker.ietf.org/doc/html/rfc7519 (JWT) + see: https://datatracker.ietf.org/doc/html/rfc7515 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516 (JWE) + + The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in + + + + + + Initializes a new instance of the class where the header contains the crypto algorithms applied to the encoded header and payload. + + A string containing JSON which represents the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. + A string containing JSON which represents the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }. + + see: https://datatracker.ietf.org/doc/html/rfc7519 (JWT) + see: https://datatracker.ietf.org/doc/html/rfc7515 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516 (JWE) + + The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in + + + 'header' is null. + 'payload' is null. + + + + Gets the AuthenticationTag from the original raw data of this instance when it was created. + + + Contains the results of a Authentication Encryption with Associated Data (AEAD). + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If this JWT is not encrypted with an algorithms that uses an Authentication Tag, an empty string will be returned. + + + + + + + + + + + Gets the Ciphertext representing the encrypted JWT in the original raw data. + + + When decrypted using values in the JWE header will contain the plaintext payload. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If this JWT is not encrypted, an empty string will be returned. + + + + + + + + + + + Gets the EncodedHeader from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded string of the JWT header. + + + + + Gets the Encrypted Content Encryption Key. + + + For some algorithms this value may be null even though the JWT was encrypted. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If not found, an empty string is returned. + + + + + + Gets the EncodedPayload from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT payload, for JWE this will an empty string. + + + + + Gets the EncodedSignature from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT signature. + If the JWT was not signed or a JWE, an empty string is returned. + + + + + Gets the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT. + + + + + Gets the Initialization Vector used when encrypting the plaintext. + + + see: https://datatracker.ietf.org/doc/html/rfc7516#appendix-A-1-4 + + Some algorithms may not use an Initialization Vector. + If not found an empty string is returned. + + + + + + Gets the associated with this instance. + + + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + For encrypted tokens {JWE}, this represents the JWT that was encrypted. + + If the JWT is not encrypted, this value will be null. + + + + + + Returns true if this JsonWebToken was encrypted a JWE. + + + + + Returns true if this JsonWebToken was signed a JWS. + + + + + Not implemented. + + + + + Gets or sets the that was used to sign this token. + + + If the JWT was not signed or validated, this value will be null. + + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + if is malformed, a valid JWT should have either 2 dots (JWS) or 4 dots (JWE). + if does not have an non-empty authentication tag after the 4th dot for a JWE. + if has more than 4 dots. + + + + Returns the encoded token without signature or authentication tag. + + Encoded token string without signature or authentication tag. + + + + + + + Gets a where each claim in the JWT { name, value } is returned as a . + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + + + + Gets a representing the { key, 'value' } pair corresponding to the provided . + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + If the key has no corresponding value, this method will throw. + + + + + + Try to get a representing the { key, 'value' } pair corresponding to the provided . + The value is obtained from the Payload. + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + true if successful, false otherwise. + + + + Gets the 'value' corresponding to key from the JWT header transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + The value as . + if claim is not found or a transformation to cannot be made. + + + + Gets the 'value' corresponding to key from the JWT payload transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + The value as . + if claim is not found or a transformation to cannot be made. + + + + Tries to get the claim from the JWT payload. + + + The 'value' a type T if possible. + + true if successful, false otherwise. + + + + Tries to get the value corresponding to the provided key from the JWT header { key, 'value' }. + + + The expectation is that the 'value' corresponds to a type expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + true if successful, false otherwise. + + + + Try to get the 'value' corresponding to key from the JWT payload transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + true if successful, false otherwise. + + + + Gets the 'value' of the 'alg' claim from the header. + + + Identifies the cryptographic algorithm used to encrypt or determine the value of the Content Encryption Key. + Applicable to an encrypted JWT {JWE}. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4-1-1 + + If the 'alg' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'cty' claim from the header. + + + Used by JWS applications to declare the media type[IANA.MediaTypes] of the secured content (the payload). + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.12 (JWE) + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 (JWS) + + If the 'cty' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'enc' claim from the header. + + + Identifies the content encryption algorithm used to perform authenticated encryption + on the plaintext to produce the ciphertext and the Authentication Tag. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + Gets the 'value' of the 'kid' claim from the header. + + + 'kid'is a hint indicating which key was used to secure the JWS. + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.6 (JWE) + + If the 'kid' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'typ' claim from the header. + + + Is used by JWT applications to declare the media type. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + If the 'typ' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'x5t' claim from the header. + + + Is the base64url-encoded SHA-1 thumbprint(a.k.a.digest) of the DER encoding of the X.509 certificate used to sign this token. + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.7 + + If the 'x5t' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'zip' claim from the header. + + + The "zip" (compression algorithm) applied to the plaintext before encryption, if any. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + If the 'zip' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'actort' claim the payload. + + + If the 'actort' claim is not found, an empty string is returned. + + + + + Gets the list of 'aud' claims from the payload. + + + Identifies the recipients that the JWT is intended for. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4-1-3 + + If the 'aud' claim is not found, enumeration will be empty. + + + + + + Gets the 'azp' claim from the payload. + + + Identifies the authorized party for the id_token. + see: https://openid.net/specs/openid-connect-core-1_0.html + + + + + Gets the 'value' of the 'iat' claim converted to a from the payload. + + + Identifies the time at which the JWT was issued. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6 + + If the 'iat' claim is not found, then is returned. + + + + + + Gets the 'value' of the 'iss' claim from the payload. + + + Identifies the principal that issued the JWT. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1 + + If the 'iss' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'jti' claim from the payload. + + + Provides a unique identifier for the JWT. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7 + + If the 'jti' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'sub' claim from the payload. + + + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2 + Identifies the principal that is the subject of the JWT. + + If the 'sub' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'nbf' claim converted to a from the payload. + + + Identifies the time before which the JWT MUST NOT be accepted for processing. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5 + + If the 'nbf' claim is not found, then is returned. + + + + + + Gets the 'value' of the 'exp' claim converted to a from the payload. + + + Identifies the expiration time on or after which the JWT MUST NOT be accepted for processing. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4 + + If the 'exp' claim is not found, then is returned. + + + + + + A designed for creating and validating Json Web Tokens. + See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515. + + This partial class is focused on TokenCreation. + + A designed for creating and validating Json Web Tokens. + See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515. + + + + + Creates an unsigned JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + if is null. + A JWS in Compact Serialization Format. + + + + Creates an unsigned JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the JWT token header. + if is null. + if is null. + A JWS in Compact Serialization Format. + + + + Creates a JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWS. + if is null. + if is null. + A JWS in Compact Serialization Format. + + + + Creates a JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWS. + Defines the dictionary containing any custom header claims that need to be added to the JWT token header. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWS in Compact Serialization Format. + + + + Creates a JWt that can be a JWS or JWE. + + A that contains details of contents of the token. + A JWT in Compact Serialization Format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWS in Compact Serialization Format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + if is null. + if is null. + if is null. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + if is null. + if is null. + if is null. + if is null. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header. + if is null. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + A can contain claims from multiple locations. + This method consolidates the claims and adds default times {exp, iat, nbf} if needed. + + The to use. + The used to create the token. + A boolean that controls if expiration, notbefore, issuedat should be added if missing. + The default value for the token lifetime in minutes. + A dictionary of claims. + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + if is null or empty. + if is null. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null or empty. + if is null. + if is null. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the compression algorithm that will be used to compress the 'innerJwt'. + if is null or empty. + if is null. + if is null or empty. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if compression using fails. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the compression algorithm that will be used to compress the + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null or empty. + if is null. + if is null or empty. + if is null or empty. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if compression using 'algorithm' fails. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Default claim type mapping for inbound claims. + + + + + Default value for the flag that determines whether or not the InboundClaimTypeMap is used. + + + + + Gets the Base64Url encoded string representation of the following JWT header: + { , }. + + The Base64Url encoded string representation of the unsigned JWT header. + + + + Initializes a new instance of the class. + + + + + Gets the type of the . + + The type of + + + + Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created. + + If .IsNullOrWhiteSpace('value') is true. + + + + Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a . + If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs. + The default value is false. + + + + + Gets or sets the which is used when setting the for claims in the extracted when validating a . + The is set to the JSON claim 'name' after translating using this mapping. + The default value is ClaimTypeMapping.InboundClaimTypeMap. + + 'value' is null. + + + + Determines if the string is a well formed Json Web Token (JWT). + See: https://datatracker.ietf.org/doc/html/rfc7519 + + String that should represent a valid JWT. + Uses matching: + JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$" + + + 'false' if the token is null or whitespace. + 'false' if token.Length is greater than . + 'true' if the token is in JSON compact serialization format. + + + + + Returns a value that indicates if this handler can validate a . + + 'true', indicating this instance can validate a . + + + + Creates a from a . + + The to use as a source. + Contains parameters for validating the token. + A containing the . + + + + Creates a from a with the specified issuer. + + The to use as a source. + Contains parameters for validating the token. + Specifies the issuer for the . + A containing the . + + + + Decrypts a JWE and returns the clear text + + the JWE that contains the cypher text. + contains crypto material. + the decoded / cleartext contents of the JWE. + if is null. + if is null. + if ' .Enc' is null or empty. + if decompression failed. + if ' .Kid' is not null AND decryption fails. + if the JWE was not able to be decrypted. + + + + Returns a to use when decrypting a JWE. + + The the token that is being decrypted. + The that is being decrypted. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use or to ensure the token is acceptable. + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + The token is NOT validated and no security decisions should be made about the contents. + Use or to ensure the token is acceptable. + + + + Validates a JWS or a JWE. + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A required for validation. + A + + + + Validates a token. + On a validation failure, no exception will be thrown; instead, the exception will be set in the returned TokenValidationResult.Exception property. + Callers should always check the TokenValidationResult.IsValid property to verify the validity of the result. + + The token to be validated. + A required for validation. + A + + TokenValidationResult.Exception will be set to one of the following exceptions if the is invalid. + if is null or empty. + if is null. + 'token.Length' is greater than . + if is not a valid , + if the validationParameters.TokenReader delegate is not able to parse/read the token as a valid , + + + + + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A whose TokenReader, if set, will be used to read a JWT. + A + if the validationParameters.TokenReader delegate is not able to parse/read the token as a valid . + if is not a valid JWT, . + + + + Private method for token validation, responsible for: + (1) Obtaining a configuration from the . + (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it. + + The JWT token + The to be used for validation. + + + + + Validates the JWT signature. + + + + + This class provides an abstraction over the json parser for net461+ using System.Text.Json. + will delegate to this class to get values. + + + + + The goal here is return types that are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + For that we would need to provide a way to hook a JsonConverter to for complex types. + + + + if this is called from TryGetValue then we don't want to throw. + + + + + + The return types that are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + For that we would need to provide a way to hook a JsonConverter to for complex types. + + + + + + + + + Constants for Json Web Tokens. + + + + + Short header type. + + + + + Long header type. + + + + + Short token type. + + + + + Long token type. + + + + + JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required. + + + + + JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'. + + + + + The number of parts in a JWE token. + + + + + The number of parts in a JWS token. + + + + + The maximum number of parts in a JWT. + + + + + JWE header alg indicating a shared symmetric key is directly used as CEK. + + + + + List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5. + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#page-12 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + + + + Parameter names for JsonWebToken header values as UTF8 bytes. + Used by UTF8JsonReader/Writer for performance gains. + + + + + List of registered claims from different sources + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-5 + + + + + + + + + + + + + Parameter names for JsonWebToken registered claim names in UTF8 bytes. + Used by UTF8JsonReader/Writer for performance gains. + + + + + Represents the parameters needed to decrypt a JSON Web Token + The JwtSecurityTokenHandler uses this as a helper when decrypting a JwtSecurityToken, the JsonWebTokenHandler sets the JsonWebToken property. + + + + + Gets or sets signature algorithm that was used to create the signature. + + + + + Gets or sets the AuthenticationTag from the original raw data of this instance when it was created. + + + + + Gets or sets the Ciphertext from the original raw data of this instance when it was created. + + + + + Gets or sets the function used to attempt decompression with. + + + + + Gets or sets the encryption algorithm (Enc) of the token. + + + + + Gets the EncodedHeader from the original raw data of this instance when it was created. + + + + + Gets or sets the EncodedHeader from the original raw data of this instance when it was created. + + + + + Gets or sets the InitializationVector from the original raw data of this instance when it was created. + + + + + Gets or sets the collection of s to attempt to decrypt with. + + + + + Gets and sets the maximum deflate size in chars that will be processed. + + + + + Gets or sets the 'value' of the 'zip' claim. + + + + + A class which contains useful methods for processing JWT tokens. + + + + + Regex that is used to figure out if a token is in JWS format. + + + + + Regex that is used to figure out if a token is in JWE format. + + + + + Produces a signature over the . + + String to be signed + The that contain crypto specs used to sign the token. + The base 64 url encoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ). + 'input' or 'signingCredentials' is null. + + + + Produces a signature over the . + + String to be signed + The that contain crypto specs used to sign the token. + should the be cached. + The base 64 url encoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ). + or is null. + + + + Produces a signature over the . + + Span containing bytes to be signed. + destination for signature. + The that contain crypto specs used to sign the token. + + The size of the signature. + 'input' or 'signingCredentials' is null. + + + + Decompress JWT token bytes. + + + + + if is null. + if is null. + if the decompression is not supported. + if decompression using fails. + Decompressed JWT token + + + + Decrypts a Json Web Token. + + The Json Web Token, could be a JwtSecurityToken or JsonWebToken + The validation parameters containing cryptographic material. + The decryption parameters container. + The decrypted, and if the 'zip' claim is set, decompressed string representation of the token. + + + + Generates key bytes. + + + + + Gets all decryption keys. + + + + + Returns a to use when validating the signature of a token. + + The kid field of the token being validated + The x5t field of the token being validated + A required for validation. + The that will be used along with the to resolve the signing key + Returns a to use for signature validation. + Resolve the signing key using configuration then the validationParameters until a key is resolved. If key fails to resolve, then null is returned. + + + + Returns a to use when validating the signature of a token. + + The kid field of the token being validated + The x5t field of the token being validated + A collection of a signing key to be resolved from. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Counts the number of Jwt Token segments. + + The Jwt Token. + The maximum number of segments to count up to. + The number of segments up to . + + + + Log messages and codes + + + + diff --git a/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.xml b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.xml new file mode 100644 index 000000000..252c32707 --- /dev/null +++ b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.xml @@ -0,0 +1,1556 @@ + + + + Microsoft.IdentityModel.JsonWebTokens + + + + + Initializes static members of the class. + + + + + Gets the InboundClaimTypeMap used by JwtSecurityTokenHandler when producing claims from jwt. + + + + + Gets the OutboundClaimTypeMap is used by JwtSecurityTokenHandler to shorten claim types when creating a jwt. + + + + + Constants that indicate how the should be evaluated. + + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonObject, the will be set to "JSON". + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonArray, the will be set to "JSON_ARRAY". + + + + A value that indicates the is Json null. + + When creating a the cannot be null. If the Json value was null, then the + will be set to and the will be set to "JSON_NULL". + + + + A designed for representing a JSON Web Token (JWT). + + + + + Initializes a new instance of from a string in JWS or JWE Compact serialized format. + + A JSON Web Token that has been serialized in JWS or JWE Compact serialized format. + 'jwtEncodedString' is null or empty. + 'jwtEncodedString' is not in JWS or JWE Compact serialization format. + + see: https://datatracker.ietf.org/doc/html/rfc7519 (JWT) + see: https://datatracker.ietf.org/doc/html/rfc7515 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516 (JWE) + + The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in + + + + + + Initializes a new instance of the class where the header contains the crypto algorithms applied to the encoded header and payload. + + A string containing JSON which represents the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. + A string containing JSON which represents the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }. + + see: https://datatracker.ietf.org/doc/html/rfc7519 (JWT) + see: https://datatracker.ietf.org/doc/html/rfc7515 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516 (JWE) + + The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in + + + 'header' is null. + 'payload' is null. + + + + Gets the AuthenticationTag from the original raw data of this instance when it was created. + + + Contains the results of a Authentication Encryption with Associated Data (AEAD). + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If this JWT is not encrypted with an algorithms that uses an Authentication Tag, an empty string will be returned. + + + + + + + + + + + Gets the Ciphertext representing the encrypted JWT in the original raw data. + + + When decrypted using values in the JWE header will contain the plaintext payload. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If this JWT is not encrypted, an empty string will be returned. + + + + + + + + + + + Gets the EncodedHeader from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded string of the JWT header. + + + + + Gets the Encrypted Content Encryption Key. + + + For some algorithms this value may be null even though the JWT was encrypted. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If not found, an empty string is returned. + + + + + + Gets the EncodedPayload from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT payload, for JWE this will an empty string. + + + + + Gets the EncodedSignature from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT signature. + If the JWT was not signed or a JWE, an empty string is returned. + + + + + Gets the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT. + + + + + Gets the Initialization Vector used when encrypting the plaintext. + + + see: https://datatracker.ietf.org/doc/html/rfc7516#appendix-A-1-4 + + Some algorithms may not use an Initialization Vector. + If not found an empty string is returned. + + + + + + Gets the associated with this instance. + + + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + For encrypted tokens {JWE}, this represents the JWT that was encrypted. + + If the JWT is not encrypted, this value will be null. + + + + + + Returns true if this JsonWebToken was encrypted a JWE. + + + + + Returns true if this JsonWebToken was signed a JWS. + + + + + Not implemented. + + + + + Gets or sets the that was used to sign this token. + + + If the JWT was not signed or validated, this value will be null. + + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + if is malformed, a valid JWT should have either 2 dots (JWS) or 4 dots (JWE). + if does not have an non-empty authentication tag after the 4th dot for a JWE. + if has more than 4 dots. + + + + Returns the encoded token without signature or authentication tag. + + Encoded token string without signature or authentication tag. + + + + + + + Gets a where each claim in the JWT { name, value } is returned as a . + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + + + + Gets a representing the { key, 'value' } pair corresponding to the provided . + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + If the key has no corresponding value, this method will throw. + + + + + + Try to get a representing the { key, 'value' } pair corresponding to the provided . + The value is obtained from the Payload. + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + true if successful, false otherwise. + + + + Gets the 'value' corresponding to key from the JWT header transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + The value as . + if claim is not found or a transformation to cannot be made. + + + + Gets the 'value' corresponding to key from the JWT payload transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + The value as . + if claim is not found or a transformation to cannot be made. + + + + Tries to get the claim from the JWT payload. + + + The 'value' a type T if possible. + + true if successful, false otherwise. + + + + Tries to get the value corresponding to the provided key from the JWT header { key, 'value' }. + + + The expectation is that the 'value' corresponds to a type expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + true if successful, false otherwise. + + + + Try to get the 'value' corresponding to key from the JWT payload transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + true if successful, false otherwise. + + + + Gets the 'value' of the 'alg' claim from the header. + + + Identifies the cryptographic algorithm used to encrypt or determine the value of the Content Encryption Key. + Applicable to an encrypted JWT {JWE}. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4-1-1 + + If the 'alg' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'cty' claim from the header. + + + Used by JWS applications to declare the media type[IANA.MediaTypes] of the secured content (the payload). + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.12 (JWE) + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 (JWS) + + If the 'cty' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'enc' claim from the header. + + + Identifies the content encryption algorithm used to perform authenticated encryption + on the plaintext to produce the ciphertext and the Authentication Tag. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + Gets the 'value' of the 'kid' claim from the header. + + + 'kid'is a hint indicating which key was used to secure the JWS. + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.6 (JWE) + + If the 'kid' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'typ' claim from the header. + + + Is used by JWT applications to declare the media type. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + If the 'typ' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'x5t' claim from the header. + + + Is the base64url-encoded SHA-1 thumbprint(a.k.a.digest) of the DER encoding of the X.509 certificate used to sign this token. + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.7 + + If the 'x5t' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'zip' claim from the header. + + + The "zip" (compression algorithm) applied to the plaintext before encryption, if any. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + If the 'zip' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'actort' claim the payload. + + + If the 'actort' claim is not found, an empty string is returned. + + + + + Gets the list of 'aud' claims from the payload. + + + Identifies the recipients that the JWT is intended for. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4-1-3 + + If the 'aud' claim is not found, enumeration will be empty. + + + + + + Gets the 'azp' claim from the payload. + + + Identifies the authorized party for the id_token. + see: https://openid.net/specs/openid-connect-core-1_0.html + + + + + Gets the 'value' of the 'iat' claim converted to a from the payload. + + + Identifies the time at which the JWT was issued. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6 + + If the 'iat' claim is not found, then is returned. + + + + + + Gets the 'value' of the 'iss' claim from the payload. + + + Identifies the principal that issued the JWT. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1 + + If the 'iss' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'jti' claim from the payload. + + + Provides a unique identifier for the JWT. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7 + + If the 'jti' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'sub' claim from the payload. + + + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2 + Identifies the principal that is the subject of the JWT. + + If the 'sub' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'nbf' claim converted to a from the payload. + + + Identifies the time before which the JWT MUST NOT be accepted for processing. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5 + + If the 'nbf' claim is not found, then is returned. + + + + + + Gets the 'value' of the 'exp' claim converted to a from the payload. + + + Identifies the expiration time on or after which the JWT MUST NOT be accepted for processing. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4 + + If the 'exp' claim is not found, then is returned. + + + + + + A designed for creating and validating Json Web Tokens. + See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515. + + This partial class is focused on TokenCreation. + + A designed for creating and validating Json Web Tokens. + See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515. + + + + + Creates an unsigned JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + if is null. + A JWS in Compact Serialization Format. + + + + Creates an unsigned JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the JWT token header. + if is null. + if is null. + A JWS in Compact Serialization Format. + + + + Creates a JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWS. + if is null. + if is null. + A JWS in Compact Serialization Format. + + + + Creates a JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWS. + Defines the dictionary containing any custom header claims that need to be added to the JWT token header. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWS in Compact Serialization Format. + + + + Creates a JWt that can be a JWS or JWE. + + A that contains details of contents of the token. + A JWT in Compact Serialization Format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWS in Compact Serialization Format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + if is null. + if is null. + if is null. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + if is null. + if is null. + if is null. + if is null. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header. + if is null. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + A can contain claims from multiple locations. + This method consolidates the claims and adds default times {exp, iat, nbf} if needed. + + The to use. + The used to create the token. + A boolean that controls if expiration, notbefore, issuedat should be added if missing. + The default value for the token lifetime in minutes. + A dictionary of claims. + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + if is null or empty. + if is null. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null or empty. + if is null. + if is null. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the compression algorithm that will be used to compress the 'innerJwt'. + if is null or empty. + if is null. + if is null or empty. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if compression using fails. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the compression algorithm that will be used to compress the + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null or empty. + if is null. + if is null or empty. + if is null or empty. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if compression using 'algorithm' fails. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Default claim type mapping for inbound claims. + + + + + Default value for the flag that determines whether or not the InboundClaimTypeMap is used. + + + + + Gets the Base64Url encoded string representation of the following JWT header: + { , }. + + The Base64Url encoded string representation of the unsigned JWT header. + + + + Initializes a new instance of the class. + + + + + Gets the type of the . + + The type of + + + + Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created. + + If .IsNullOrWhiteSpace('value') is true. + + + + Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a . + If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs. + The default value is false. + + + + + Gets or sets the which is used when setting the for claims in the extracted when validating a . + The is set to the JSON claim 'name' after translating using this mapping. + The default value is ClaimTypeMapping.InboundClaimTypeMap. + + 'value' is null. + + + + Determines if the string is a well formed Json Web Token (JWT). + See: https://datatracker.ietf.org/doc/html/rfc7519 + + String that should represent a valid JWT. + Uses matching: + JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$" + + + 'false' if the token is null or whitespace. + 'false' if token.Length is greater than . + 'true' if the token is in JSON compact serialization format. + + + + + Returns a value that indicates if this handler can validate a . + + 'true', indicating this instance can validate a . + + + + Creates a from a . + + The to use as a source. + Contains parameters for validating the token. + A containing the . + + + + Creates a from a with the specified issuer. + + The to use as a source. + Contains parameters for validating the token. + Specifies the issuer for the . + A containing the . + + + + Decrypts a JWE and returns the clear text + + the JWE that contains the cypher text. + contains crypto material. + the decoded / cleartext contents of the JWE. + if is null. + if is null. + if ' .Enc' is null or empty. + if decompression failed. + if ' .Kid' is not null AND decryption fails. + if the JWE was not able to be decrypted. + + + + Returns a to use when decrypting a JWE. + + The the token that is being decrypted. + The that is being decrypted. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use or to ensure the token is acceptable. + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + The token is NOT validated and no security decisions should be made about the contents. + Use or to ensure the token is acceptable. + + + + Validates a JWS or a JWE. + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A required for validation. + A + + + + Validates a token. + On a validation failure, no exception will be thrown; instead, the exception will be set in the returned TokenValidationResult.Exception property. + Callers should always check the TokenValidationResult.IsValid property to verify the validity of the result. + + The token to be validated. + A required for validation. + A + + TokenValidationResult.Exception will be set to one of the following exceptions if the is invalid. + if is null or empty. + if is null. + 'token.Length' is greater than . + if is not a valid , + if the validationParameters.TokenReader delegate is not able to parse/read the token as a valid , + + + + + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A whose TokenReader, if set, will be used to read a JWT. + A + if the validationParameters.TokenReader delegate is not able to parse/read the token as a valid . + if is not a valid JWT, . + + + + Private method for token validation, responsible for: + (1) Obtaining a configuration from the . + (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it. + + The JWT token + The to be used for validation. + + + + + Validates the JWT signature. + + + + + This class provides an abstraction over the json parser for net461+ using System.Text.Json. + will delegate to this class to get values. + + + + + The goal here is return types that are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + For that we would need to provide a way to hook a JsonConverter to for complex types. + + + + if this is called from TryGetValue then we don't want to throw. + + + + + + The return types that are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + For that we would need to provide a way to hook a JsonConverter to for complex types. + + + + + + + + + Constants for Json Web Tokens. + + + + + Short header type. + + + + + Long header type. + + + + + Short token type. + + + + + Long token type. + + + + + JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required. + + + + + JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'. + + + + + The number of parts in a JWE token. + + + + + The number of parts in a JWS token. + + + + + The maximum number of parts in a JWT. + + + + + JWE header alg indicating a shared symmetric key is directly used as CEK. + + + + + List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5. + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#page-12 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + + + + Parameter names for JsonWebToken header values as UTF8 bytes. + Used by UTF8JsonReader/Writer for performance gains. + + + + + List of registered claims from different sources + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-5 + + + + + + + + + + + + + Parameter names for JsonWebToken registered claim names in UTF8 bytes. + Used by UTF8JsonReader/Writer for performance gains. + + + + + Represents the parameters needed to decrypt a JSON Web Token + The JwtSecurityTokenHandler uses this as a helper when decrypting a JwtSecurityToken, the JsonWebTokenHandler sets the JsonWebToken property. + + + + + Gets or sets signature algorithm that was used to create the signature. + + + + + Gets or sets the AuthenticationTag from the original raw data of this instance when it was created. + + + + + Gets or sets the Ciphertext from the original raw data of this instance when it was created. + + + + + Gets or sets the function used to attempt decompression with. + + + + + Gets or sets the encryption algorithm (Enc) of the token. + + + + + Gets the EncodedHeader from the original raw data of this instance when it was created. + + + + + Gets or sets the EncodedHeader from the original raw data of this instance when it was created. + + + + + Gets or sets the InitializationVector from the original raw data of this instance when it was created. + + + + + Gets or sets the collection of s to attempt to decrypt with. + + + + + Gets and sets the maximum deflate size in chars that will be processed. + + + + + Gets or sets the 'value' of the 'zip' claim. + + + + + A class which contains useful methods for processing JWT tokens. + + + + + Regex that is used to figure out if a token is in JWS format. + + + + + Regex that is used to figure out if a token is in JWE format. + + + + + Pattern:
+ ^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$
+ Options:
+ RegexOptions.CultureInvariant
+ Explanation:
+ + ○ Match if at the beginning of the string.
+ ○ Match a character in the set [-0-9A-Z_a-z] atomically at least once.
+ ○ Match '.'.
+ ○ Match a character in the set [-0-9A-Z_a-z] atomically at least once.
+ ○ Match '.'.
+ ○ Match a character in the set [-0-9A-Z_a-z] atomically any number of times.
+ ○ Match if at the end of the string or if before an ending newline.
+
+
+
+ + + Pattern:
+ ^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+$
+ Options:
+ RegexOptions.CultureInvariant
+ Explanation:
+ + ○ Match if at the beginning of the string.
+ ○ Match a character in the set [-0-9A-Z_a-z] atomically at least once.
+ ○ Match '.'.
+ ○ Match a character in the set [-0-9A-Z_a-z] atomically any number of times.
+ ○ Match '.'.
+ ○ Match a character in the set [-0-9A-Z_a-z] atomically at least once.
+ ○ Match '.'.
+ ○ Match a character in the set [-0-9A-Z_a-z] atomically at least once.
+ ○ Match '.'.
+ ○ Match a character in the set [-0-9A-Z_a-z] atomically at least once.
+ ○ Match if at the end of the string or if before an ending newline.
+
+
+
+ + + Produces a signature over the . + + String to be signed + The that contain crypto specs used to sign the token. + The base 64 url encoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ). + 'input' or 'signingCredentials' is null. + + + + Produces a signature over the . + + String to be signed + The that contain crypto specs used to sign the token. + should the be cached. + The base 64 url encoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ). + or is null. + + + + Produces a signature over the . + + Span containing bytes to be signed. + destination for signature. + The that contain crypto specs used to sign the token. + + The size of the signature. + 'input' or 'signingCredentials' is null. + + + + Decompress JWT token bytes. + + + + + if is null. + if is null. + if the decompression is not supported. + if decompression using fails. + Decompressed JWT token + + + + Decrypts a Json Web Token. + + The Json Web Token, could be a JwtSecurityToken or JsonWebToken + The validation parameters containing cryptographic material. + The decryption parameters container. + The decrypted, and if the 'zip' claim is set, decompressed string representation of the token. + + + + Generates key bytes. + + + + + Gets all decryption keys. + + + + + Returns a to use when validating the signature of a token. + + The kid field of the token being validated + The x5t field of the token being validated + A required for validation. + The that will be used along with the to resolve the signing key + Returns a to use for signature validation. + Resolve the signing key using configuration then the validationParameters until a key is resolved. If key fails to resolve, then null is returned. + + + + Returns a to use when validating the signature of a token. + + The kid field of the token being validated + The x5t field of the token being validated + A collection of a signing key to be resolved from. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Counts the number of Jwt Token segments. + + The Jwt Token. + The maximum number of segments to count up to. + The number of segments up to . + + + + Log messages and codes + + + + Custom -derived type for the CreateJwsRegex method. + + + Cached, thread-safe singleton instance. + + + Initializes the instance. + + + Provides a factory for creating instances to be used by methods on . + + + Creates an instance of a used by methods on . + + + Provides the runner that contains the custom logic implementing the specified regular expression. + + + Scan the starting from base.runtextstart for the next match. + The text being scanned by the regular expression. + + + Search starting from base.runtextpos for the next location a match could possibly start. + The text being scanned by the regular expression. + true if a possible match was found; false if no more matches are possible. + + + Determine whether at base.runtextpos is a match for the regular expression. + The text being scanned by the regular expression. + true if the regular expression matches at the current position; otherwise, false. + + + Custom -derived type for the CreateJweRegex method. + + + Cached, thread-safe singleton instance. + + + Initializes the instance. + + + Provides a factory for creating instances to be used by methods on . + + + Creates an instance of a used by methods on . + + + Provides the runner that contains the custom logic implementing the specified regular expression. + + + Scan the starting from base.runtextstart for the next match. + The text being scanned by the regular expression. + + + Search starting from base.runtextpos for the next location a match could possibly start. + The text being scanned by the regular expression. + true if a possible match was found; false if no more matches are possible. + + + Determine whether at base.runtextpos is a match for the regular expression. + The text being scanned by the regular expression. + true if the regular expression matches at the current position; otherwise, false. + + + Helper methods used by generated -derived implementations. + + + Supports searching for characters in or not in "-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz". + +
+
diff --git a/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml new file mode 100644 index 000000000..55c81ce33 --- /dev/null +++ b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/lib/netstandard2.0/Microsoft.IdentityModel.JsonWebTokens.xml @@ -0,0 +1,1435 @@ + + + + Microsoft.IdentityModel.JsonWebTokens + + + + + Initializes static members of the class. + + + + + Gets the InboundClaimTypeMap used by JwtSecurityTokenHandler when producing claims from jwt. + + + + + Gets the OutboundClaimTypeMap is used by JwtSecurityTokenHandler to shorten claim types when creating a jwt. + + + + + Constants that indicate how the should be evaluated. + + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonObject, the will be set to "JSON". + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonArray, the will be set to "JSON_ARRAY". + + + + A value that indicates the is Json null. + + When creating a the cannot be null. If the Json value was null, then the + will be set to and the will be set to "JSON_NULL". + + + + A designed for representing a JSON Web Token (JWT). + + + + + Initializes a new instance of from a string in JWS or JWE Compact serialized format. + + A JSON Web Token that has been serialized in JWS or JWE Compact serialized format. + 'jwtEncodedString' is null or empty. + 'jwtEncodedString' is not in JWS or JWE Compact serialization format. + + see: https://datatracker.ietf.org/doc/html/rfc7519 (JWT) + see: https://datatracker.ietf.org/doc/html/rfc7515 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516 (JWE) + + The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in + + + + + + Initializes a new instance of the class where the header contains the crypto algorithms applied to the encoded header and payload. + + A string containing JSON which represents the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. + A string containing JSON which represents the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }. + + see: https://datatracker.ietf.org/doc/html/rfc7519 (JWT) + see: https://datatracker.ietf.org/doc/html/rfc7515 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516 (JWE) + + The contents of the returned have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in + + + 'header' is null. + 'payload' is null. + + + + Gets the AuthenticationTag from the original raw data of this instance when it was created. + + + Contains the results of a Authentication Encryption with Associated Data (AEAD). + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If this JWT is not encrypted with an algorithms that uses an Authentication Tag, an empty string will be returned. + + + + + + + + + + + Gets the Ciphertext representing the encrypted JWT in the original raw data. + + + When decrypted using values in the JWE header will contain the plaintext payload. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If this JWT is not encrypted, an empty string will be returned. + + + + + + + + + + + Gets the EncodedHeader from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded string of the JWT header. + + + + + Gets the Encrypted Content Encryption Key. + + + For some algorithms this value may be null even though the JWT was encrypted. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + + If not found, an empty string is returned. + + + + + + Gets the EncodedPayload from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT payload, for JWE this will an empty string. + + + + + Gets the EncodedSignature from the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT signature. + If the JWT was not signed or a JWE, an empty string is returned. + + + + + Gets the original raw data of this instance when it was created. + + + The original Base64UrlEncoded of the JWT. + + + + + Gets the Initialization Vector used when encrypting the plaintext. + + + see: https://datatracker.ietf.org/doc/html/rfc7516#appendix-A-1-4 + + Some algorithms may not use an Initialization Vector. + If not found an empty string is returned. + + + + + + Gets the associated with this instance. + + + see: https://datatracker.ietf.org/doc/html/rfc7516#section-2 + For encrypted tokens {JWE}, this represents the JWT that was encrypted. + + If the JWT is not encrypted, this value will be null. + + + + + + Returns true if this JsonWebToken was encrypted a JWE. + + + + + Returns true if this JsonWebToken was signed a JWS. + + + + + Not implemented. + + + + + Gets or sets the that was used to sign this token. + + + If the JWT was not signed or validated, this value will be null. + + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + if is malformed, a valid JWT should have either 2 dots (JWS) or 4 dots (JWE). + if does not have an non-empty authentication tag after the 4th dot for a JWE. + if has more than 4 dots. + + + + Returns the encoded token without signature or authentication tag. + + Encoded token string without signature or authentication tag. + + + + + + + Gets a where each claim in the JWT { name, value } is returned as a . + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + + + + Gets a representing the { key, 'value' } pair corresponding to the provided . + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + If the key has no corresponding value, this method will throw. + + + + + + Try to get a representing the { key, 'value' } pair corresponding to the provided . + The value is obtained from the Payload. + + + A requires each value to be represented as a string. If the value was not a string, then contains the json type. + and to determine the json type. + + true if successful, false otherwise. + + + + Gets the 'value' corresponding to key from the JWT header transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + The value as . + if claim is not found or a transformation to cannot be made. + + + + Gets the 'value' corresponding to key from the JWT payload transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + The value as . + if claim is not found or a transformation to cannot be made. + + + + Tries to get the claim from the JWT payload. + + + The 'value' a type T if possible. + + true if successful, false otherwise. + + + + Tries to get the value corresponding to the provided key from the JWT header { key, 'value' }. + + + The expectation is that the 'value' corresponds to a type expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + true if successful, false otherwise. + + + + Try to get the 'value' corresponding to key from the JWT payload transformed as type 'T'. + + + The expectation is that the 'value' corresponds to a type are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + + true if successful, false otherwise. + + + + Gets the 'value' of the 'alg' claim from the header. + + + Identifies the cryptographic algorithm used to encrypt or determine the value of the Content Encryption Key. + Applicable to an encrypted JWT {JWE}. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4-1-1 + + If the 'alg' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'cty' claim from the header. + + + Used by JWS applications to declare the media type[IANA.MediaTypes] of the secured content (the payload). + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.12 (JWE) + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 (JWS) + + If the 'cty' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'enc' claim from the header. + + + Identifies the content encryption algorithm used to perform authenticated encryption + on the plaintext to produce the ciphertext and the Authentication Tag. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + Gets the 'value' of the 'kid' claim from the header. + + + 'kid'is a hint indicating which key was used to secure the JWS. + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 (JWS) + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.6 (JWE) + + If the 'kid' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'typ' claim from the header. + + + Is used by JWT applications to declare the media type. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + If the 'typ' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'x5t' claim from the header. + + + Is the base64url-encoded SHA-1 thumbprint(a.k.a.digest) of the DER encoding of the X.509 certificate used to sign this token. + see: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.7 + + If the 'x5t' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'zip' claim from the header. + + + The "zip" (compression algorithm) applied to the plaintext before encryption, if any. + see: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + If the 'zip' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'actort' claim the payload. + + + If the 'actort' claim is not found, an empty string is returned. + + + + + Gets the list of 'aud' claims from the payload. + + + Identifies the recipients that the JWT is intended for. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4-1-3 + + If the 'aud' claim is not found, enumeration will be empty. + + + + + + Gets the 'azp' claim from the payload. + + + Identifies the authorized party for the id_token. + see: https://openid.net/specs/openid-connect-core-1_0.html + + + + + Gets the 'value' of the 'iat' claim converted to a from the payload. + + + Identifies the time at which the JWT was issued. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6 + + If the 'iat' claim is not found, then is returned. + + + + + + Gets the 'value' of the 'iss' claim from the payload. + + + Identifies the principal that issued the JWT. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1 + + If the 'iss' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'jti' claim from the payload. + + + Provides a unique identifier for the JWT. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7 + + If the 'jti' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'sub' claim from the payload. + + + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2 + Identifies the principal that is the subject of the JWT. + + If the 'sub' claim is not found, an empty string is returned. + + + + + + Gets the 'value' of the 'nbf' claim converted to a from the payload. + + + Identifies the time before which the JWT MUST NOT be accepted for processing. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5 + + If the 'nbf' claim is not found, then is returned. + + + + + + Gets the 'value' of the 'exp' claim converted to a from the payload. + + + Identifies the expiration time on or after which the JWT MUST NOT be accepted for processing. + see: https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4 + + If the 'exp' claim is not found, then is returned. + + + + + + A designed for creating and validating Json Web Tokens. + See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515. + + This partial class is focused on TokenCreation. + + A designed for creating and validating Json Web Tokens. + See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515. + + + + + Creates an unsigned JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + if is null. + A JWS in Compact Serialization Format. + + + + Creates an unsigned JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the JWT token header. + if is null. + if is null. + A JWS in Compact Serialization Format. + + + + Creates a JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWS. + if is null. + if is null. + A JWS in Compact Serialization Format. + + + + Creates a JWS (Json Web Signature). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWS. + Defines the dictionary containing any custom header claims that need to be added to the JWT token header. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWS in Compact Serialization Format. + + + + Creates a JWt that can be a JWS or JWE. + + A that contains details of contents of the token. + A JWT in Compact Serialization Format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWS in Compact Serialization Format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + if is null. + if is null. + if is null. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + if is null. + if is null. + if is null. + if is null. + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header. + if is null. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + Creates a JWE (Json Web Encryption). + + A string containing JSON which represents the JWT token payload. + Defines the security key and algorithm that will be used to sign the JWT. + Defines the security key and algorithm that will be used to encrypt the JWT. + Defines the compression algorithm that will be used to compress the JWT token payload. + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null. + if is null. + if is null. + if is null. + if is null. + if , + , , and/or + are present inside of . + A JWE in compact serialization format. + + + + A can contain claims from multiple locations. + This method consolidates the claims and adds default times {exp, iat, nbf} if needed. + + The to use. + The used to create the token. + A boolean that controls if expiration, notbefore, issuedat should be added if missing. + The default value for the token lifetime in minutes. + A dictionary of claims. + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + if is null or empty. + if is null. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null or empty. + if is null. + if is null. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the compression algorithm that will be used to compress the 'innerJwt'. + if is null or empty. + if is null. + if is null or empty. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if compression using fails. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Encrypts a JWS. + + A 'JSON Web Token' (JWT) in JWS Compact Serialization Format. + Defines the security key and algorithm that will be used to encrypt the . + Defines the compression algorithm that will be used to compress the + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + if is null or empty. + if is null. + if is null or empty. + if is null or empty. + if both and . are null. + if the CryptoProviderFactory being used does not support the (algorithm), pair. + if unable to create a token encryption provider for the (algorithm), pair. + if compression using 'algorithm' fails. + if encryption fails using the (algorithm), pair. + if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption). + + + + Default claim type mapping for inbound claims. + + + + + Default value for the flag that determines whether or not the InboundClaimTypeMap is used. + + + + + Gets the Base64Url encoded string representation of the following JWT header: + { , }. + + The Base64Url encoded string representation of the unsigned JWT header. + + + + Initializes a new instance of the class. + + + + + Gets the type of the . + + The type of + + + + Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created. + + If .IsNullOrWhiteSpace('value') is true. + + + + Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a . + If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs. + The default value is false. + + + + + Gets or sets the which is used when setting the for claims in the extracted when validating a . + The is set to the JSON claim 'name' after translating using this mapping. + The default value is ClaimTypeMapping.InboundClaimTypeMap. + + 'value' is null. + + + + Determines if the string is a well formed Json Web Token (JWT). + See: https://datatracker.ietf.org/doc/html/rfc7519 + + String that should represent a valid JWT. + Uses matching: + JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$" + + + 'false' if the token is null or whitespace. + 'false' if token.Length is greater than . + 'true' if the token is in JSON compact serialization format. + + + + + Returns a value that indicates if this handler can validate a . + + 'true', indicating this instance can validate a . + + + + Creates a from a . + + The to use as a source. + Contains parameters for validating the token. + A containing the . + + + + Creates a from a with the specified issuer. + + The to use as a source. + Contains parameters for validating the token. + Specifies the issuer for the . + A containing the . + + + + Decrypts a JWE and returns the clear text + + the JWE that contains the cypher text. + contains crypto material. + the decoded / cleartext contents of the JWE. + if is null. + if is null. + if ' .Enc' is null or empty. + if decompression failed. + if ' .Kid' is not null AND decryption fails. + if the JWE was not able to be decrypted. + + + + Returns a to use when decrypting a JWE. + + The the token that is being decrypted. + The that is being decrypted. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use or to ensure the token is acceptable. + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + The token is NOT validated and no security decisions should be made about the contents. + Use or to ensure the token is acceptable. + + + + Validates a JWS or a JWE. + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A required for validation. + A + + + + Validates a token. + On a validation failure, no exception will be thrown; instead, the exception will be set in the returned TokenValidationResult.Exception property. + Callers should always check the TokenValidationResult.IsValid property to verify the validity of the result. + + The token to be validated. + A required for validation. + A + + TokenValidationResult.Exception will be set to one of the following exceptions if the is invalid. + if is null or empty. + if is null. + 'token.Length' is greater than . + if is not a valid , + if the validationParameters.TokenReader delegate is not able to parse/read the token as a valid , + + + + + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A whose TokenReader, if set, will be used to read a JWT. + A + if the validationParameters.TokenReader delegate is not able to parse/read the token as a valid . + if is not a valid JWT, . + + + + Private method for token validation, responsible for: + (1) Obtaining a configuration from the . + (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it. + + The JWT token + The to be used for validation. + + + + + Validates the JWT signature. + + + + + This class provides an abstraction over the json parser for net461+ using System.Text.Json. + will delegate to this class to get values. + + + + + The goal here is return types that are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + For that we would need to provide a way to hook a JsonConverter to for complex types. + + + + if this is called from TryGetValue then we don't want to throw. + + + + + + The return types that are expected in a JWT token. + The 5 basic types: number, string, true / false, nil, array (of basic types). + This is not a general purpose translation layer for complex types. + For that we would need to provide a way to hook a JsonConverter to for complex types. + + + + + + + + + Constants for Json Web Tokens. + + + + + Short header type. + + + + + Long header type. + + + + + Short token type. + + + + + Long token type. + + + + + JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required. + + + + + JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'. + + + + + The number of parts in a JWE token. + + + + + The number of parts in a JWS token. + + + + + The maximum number of parts in a JWT. + + + + + JWE header alg indicating a shared symmetric key is directly used as CEK. + + + + + List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5. + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#page-12 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + + + + Parameter names for JsonWebToken header values as UTF8 bytes. + Used by UTF8JsonReader/Writer for performance gains. + + + + + List of registered claims from different sources + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-5 + + + + + + + + + + + + + Parameter names for JsonWebToken registered claim names in UTF8 bytes. + Used by UTF8JsonReader/Writer for performance gains. + + + + + Represents the parameters needed to decrypt a JSON Web Token + The JwtSecurityTokenHandler uses this as a helper when decrypting a JwtSecurityToken, the JsonWebTokenHandler sets the JsonWebToken property. + + + + + Gets or sets signature algorithm that was used to create the signature. + + + + + Gets or sets the AuthenticationTag from the original raw data of this instance when it was created. + + + + + Gets or sets the Ciphertext from the original raw data of this instance when it was created. + + + + + Gets or sets the function used to attempt decompression with. + + + + + Gets or sets the encryption algorithm (Enc) of the token. + + + + + Gets the EncodedHeader from the original raw data of this instance when it was created. + + + + + Gets or sets the EncodedHeader from the original raw data of this instance when it was created. + + + + + Gets or sets the InitializationVector from the original raw data of this instance when it was created. + + + + + Gets or sets the collection of s to attempt to decrypt with. + + + + + Gets and sets the maximum deflate size in chars that will be processed. + + + + + Gets or sets the 'value' of the 'zip' claim. + + + + + A class which contains useful methods for processing JWT tokens. + + + + + Regex that is used to figure out if a token is in JWS format. + + + + + Regex that is used to figure out if a token is in JWE format. + + + + + Produces a signature over the . + + String to be signed + The that contain crypto specs used to sign the token. + The base 64 url encoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ). + 'input' or 'signingCredentials' is null. + + + + Produces a signature over the . + + String to be signed + The that contain crypto specs used to sign the token. + should the be cached. + The base 64 url encoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ). + or is null. + + + + Decompress JWT token bytes. + + + + + if is null. + if is null. + if the decompression is not supported. + if decompression using fails. + Decompressed JWT token + + + + Decrypts a Json Web Token. + + The Json Web Token, could be a JwtSecurityToken or JsonWebToken + The validation parameters containing cryptographic material. + The decryption parameters container. + The decrypted, and if the 'zip' claim is set, decompressed string representation of the token. + + + + Generates key bytes. + + + + + Gets all decryption keys. + + + + + Returns a to use when validating the signature of a token. + + The kid field of the token being validated + The x5t field of the token being validated + A required for validation. + The that will be used along with the to resolve the signing key + Returns a to use for signature validation. + Resolve the signing key using configuration then the validationParameters until a key is resolved. If key fails to resolve, then null is returned. + + + + Returns a to use when validating the signature of a token. + + The kid field of the token being validated + The x5t field of the token being validated + A collection of a signing key to be resolved from. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Counts the number of Jwt Token segments. + + The Jwt Token. + The maximum number of segments to count up to. + The number of segments up to . + + + + Log messages and codes + + + + diff --git a/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/microsoft.identitymodel.jsonwebtokens.7.2.0.nupkg b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/microsoft.identitymodel.jsonwebtokens.7.2.0.nupkg new file mode 100644 index 000000000..3bd65ff33 Binary files /dev/null and b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/microsoft.identitymodel.jsonwebtokens.7.2.0.nupkg differ diff --git a/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/microsoft.identitymodel.jsonwebtokens.7.2.0.nupkg.sha512 b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/microsoft.identitymodel.jsonwebtokens.7.2.0.nupkg.sha512 new file mode 100644 index 000000000..3f3543a99 --- /dev/null +++ b/local-nuget/microsoft.identitymodel.jsonwebtokens/7.2.0/microsoft.identitymodel.jsonwebtokens.7.2.0.nupkg.sha512 @@ -0,0 +1 @@ +FvH4+9VneVu1ezHRz1eh5CV2xPwaJuv/xzz5vpKAcf55SxrdoX4uaKwPZadpMvK7kTPA+gdZbDxG1z5ePxMX/w== \ No newline at end of file diff --git a/local-nuget/mongo2go/3.1.3/.nupkg.metadata b/local-nuget/mongo2go/3.1.3/.nupkg.metadata new file mode 100644 index 000000000..35cb446ed --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "89SY5GkVVIj+wo7BcPfJQyeAU8CsQ5om0lZb4WjCQZsAxEUwW+j8SMl2gRFx2XdGeq8R3bEf4truM1WI8FkWRQ==", + "source": "/mnt/e/dev/git.stella-ops.org/local-nuget" +} \ No newline at end of file diff --git a/local-nuget/mongo2go/3.1.3/.signature.p7s b/local-nuget/mongo2go/3.1.3/.signature.p7s new file mode 100644 index 000000000..724e523b1 Binary files /dev/null and b/local-nuget/mongo2go/3.1.3/.signature.p7s differ diff --git a/local-nuget/mongo2go/3.1.3/Mongo2Go.nuspec b/local-nuget/mongo2go/3.1.3/Mongo2Go.nuspec new file mode 100644 index 000000000..2ea6c17c7 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/Mongo2Go.nuspec @@ -0,0 +1,32 @@ + + + + Mongo2Go + 3.1.3 + Johannes Hoppe and many contributors + false + MIT + https://licenses.nuget.org/MIT + icon.png + https://github.com/Mongo2Go/Mongo2Go + Mongo2Go is a managed wrapper around the latest MongoDB binaries. It targets .NET Standard 2.0. +This Nuget package contains the executables of mongod, mongoimport and mongoexport v4.4.4 for Windows, Linux and macOS. + + +Mongo2Go has two use cases: + +1. Providing multiple, temporary and isolated MongoDB databases for unit tests (or to be precise: integration tests) +2. Providing a quick to set up MongoDB database for a local developer environment + https://github.com/Mongo2Go/Mongo2Go/releases + Copyright © 2012-2021 Johannes Hoppe + MongoDB Mongo unit test integration runner + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/mongo2go/3.1.3/icon.png b/local-nuget/mongo2go/3.1.3/icon.png new file mode 100644 index 000000000..23750b60b Binary files /dev/null and b/local-nuget/mongo2go/3.1.3/icon.png differ diff --git a/local-nuget/mongo2go/3.1.3/lib/netstandard2.0/Mongo2Go.xml b/local-nuget/mongo2go/3.1.3/lib/netstandard2.0/Mongo2Go.xml new file mode 100644 index 000000000..c28cd9d5c --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/lib/netstandard2.0/Mongo2Go.xml @@ -0,0 +1,185 @@ + + + + Mongo2Go + + + + + Absolute path stays unchanged, relative path will be relative to current executing directory (usually the /bin folder) + + + + + Returns and reserves a new port + + + + + Returns the if it is verified that it does not contain any mongod argument already defined by Mongo2Go. + + mongod arguments defined by Mongo2Go + Additional mongod arguments + contains at least one mongod argument already defined by Mongo2Go + A string with the additional mongod arguments + + + + Starts a new process. Process can be killed + + + + + Starts a new process. + + + + + Input File: Absolute path stays unchanged, relative path will be relative to current executing directory (usually the /bin folder) + + + + + Output File: Absolute path stays unchanged, relative path will be relative to current executing directory (usually the /bin folder) + + + + + Structure of a log generated by mongod. Used to deserialize the logs + and pass them to an ILogger. + See: https://docs.mongodb.com/manual/reference/log-messages/#json-log-output-format + Note: "truncated" and "size" are not parsed as we're unsure how to + properly parse and use them. + + + + + Severity of the logs as defined by MongoDB. Mapped to LogLevel + as defined by Microsoft. + D1-D2 mapped to Debug level. D3-D5 mapped Trace level. + + + + + Returns a value indicating whether a specified string occurs within this , using the specified comparison rules. + + The string to operate on. + The string to seek. + One of the enumeration values that specifies the rules to use in the comparison. + if the parameter occurs within this string, or if is the empty string (""); otherwise, . + is + + + + Intention: port numbers won't be assigned twice to avoid connection problems with integration tests + + + + + Returns and reserves a new port + + + + + Reads from Output stream to determine if process is ready + + + + + Send the mongod process logs to .NET's console and debug outputs. + + + + + + Parses and redirects mongod logs to ILogger. + + + + + + + saves about 40 keystrokes + + + + + Populates the template using the provided arguments and the invariant culture + + + + + Populates the template using the provided arguments using the provided formatter + + + + + Mongo2Go main entry point + + + + + State of the current MongoDB instance + + + + + Connections string that should be used to establish a connection the MongoDB instance + + + + + Starts Multiple MongoDB instances with each call + On dispose: kills them and deletes their data directory + + (Optional) If null, mongod logs are wired to .NET's Console and Debug output (provided you haven't added the --quiet additional argument). + If not null, mongod logs are parsed and wired to the provided logger. + Should be used for integration tests + + + + !!! + This method is only used for an internal unit test. Use MongoDbRunner.Start() instead. + But if you find it to be useful (eg. to change every aspect on your own) feel free to implement the interfaces on your own! + + see https://github.com/Mongo2Go/Mongo2Go/issues/41 + + + + Only starts one single MongoDB instance (even on multiple calls), does not kill it, does not delete data + + + Should be used for local debugging only + WARNING: one single instance on one single machine is not a suitable setup for productive environments!!! + + + + + !!! + This method is only used for an internal unit test. Use MongoDbRunner.StartForDebugging() instead. + But if you find it to be useful (eg. to change every aspect on your own) feel free to implement the interfaces on your own! + + see https://github.com/Mongo2Go/Mongo2Go/issues/41 + + + + Executes Mongoimport on the associated MongoDB Instace + + + + + Executes Mongoexport on the associated MongoDB Instace + + + + + usage: local debugging + + + + + usage: integration tests + + + + diff --git a/local-nuget/mongo2go/3.1.3/skxk2hzy.if0 b/local-nuget/mongo2go/3.1.3/mongo2go.3.1.3.nupkg similarity index 100% rename from local-nuget/mongo2go/3.1.3/skxk2hzy.if0 rename to local-nuget/mongo2go/3.1.3/mongo2go.3.1.3.nupkg diff --git a/local-nuget/mongo2go/3.1.3/mongo2go.3.1.3.nupkg.sha512 b/local-nuget/mongo2go/3.1.3/mongo2go.3.1.3.nupkg.sha512 new file mode 100644 index 000000000..a48493807 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/mongo2go.3.1.3.nupkg.sha512 @@ -0,0 +1 @@ +7jhcgPm8tUYvSHrZMcf4pFddOtNAlJmvq0btX4efBEqJbYKKJImtZT/XIw7k1VtQIEsVGcQyzMJBQ6q8/IpKuA== \ No newline at end of file diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt new file mode 100644 index 000000000..4e1383df1 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt @@ -0,0 +1,557 @@ + Server Side Public License + VERSION 1, OCTOBER 16, 2018 + + Copyright © 2018 MongoDB, Inc. + + Everyone is permitted to copy and distribute verbatim copies of this + license document, but changing it is not allowed. + + TERMS AND CONDITIONS + + 0. Definitions. + + “This License” refers to Server Side Public License. + + “Copyright” also means copyright-like laws that apply to other kinds of + works, such as semiconductor masks. + + “The Program” refers to any copyrightable work licensed under this + License. Each licensee is addressed as “you”. “Licensees” and + “recipients” may be individuals or organizations. + + To “modify” a work means to copy from or adapt all or part of the work in + a fashion requiring copyright permission, other than the making of an + exact copy. The resulting work is called a “modified version” of the + earlier work or a work “based on” the earlier work. + + A “covered work” means either the unmodified Program or a work based on + the Program. + + To “propagate” a work means to do anything with it that, without + permission, would make you directly or secondarily liable for + infringement under applicable copyright law, except executing it on a + computer or modifying a private copy. Propagation includes copying, + distribution (with or without modification), making available to the + public, and in some countries other activities as well. + + To “convey” a work means any kind of propagation that enables other + parties to make or receive copies. Mere interaction with a user through a + computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays “Appropriate Legal Notices” to the + extent that it includes a convenient and prominently visible feature that + (1) displays an appropriate copyright notice, and (2) tells the user that + there is no warranty for the work (except to the extent that warranties + are provided), that licensees may convey the work under this License, and + how to view a copy of this License. If the interface presents a list of + user commands or options, such as a menu, a prominent item in the list + meets this criterion. + + 1. Source Code. + + The “source code” for a work means the preferred form of the work for + making modifications to it. “Object code” means any non-source form of a + work. + + A “Standard Interface” means an interface that either is an official + standard defined by a recognized standards body, or, in the case of + interfaces specified for a particular programming language, one that is + widely used among developers working in that language. The “System + Libraries” of an executable work include anything, other than the work as + a whole, that (a) is included in the normal form of packaging a Major + Component, but which is not part of that Major Component, and (b) serves + only to enable use of the work with that Major Component, or to implement + a Standard Interface for which an implementation is available to the + public in source code form. A “Major Component”, in this context, means a + major essential component (kernel, window system, and so on) of the + specific operating system (if any) on which the executable work runs, or + a compiler used to produce the work, or an object code interpreter used + to run it. + + The “Corresponding Source” for a work in object code form means all the + source code needed to generate, install, and (for an executable work) run + the object code and to modify the work, including scripts to control + those activities. However, it does not include the work's System + Libraries, or general-purpose tools or generally available free programs + which are used unmodified in performing those activities but which are + not part of the work. For example, Corresponding Source includes + interface definition files associated with source files for the work, and + the source code for shared libraries and dynamically linked subprograms + that the work is specifically designed to require, such as by intimate + data communication or control flow between those subprograms and other + parts of the work. + + The Corresponding Source need not include anything that users can + regenerate automatically from other parts of the Corresponding Source. + + The Corresponding Source for a work in source code form is that same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of + copyright on the Program, and are irrevocable provided the stated + conditions are met. This License explicitly affirms your unlimited + permission to run the unmodified Program, subject to section 13. The + output from running a covered work is covered by this License only if the + output, given its content, constitutes a covered work. This License + acknowledges your rights of fair use or other equivalent, as provided by + copyright law. Subject to section 13, you may make, run and propagate + covered works that you do not convey, without conditions so long as your + license otherwise remains in force. You may convey covered works to + others for the sole purpose of having them make modifications exclusively + for you, or provide you with facilities for running those works, provided + that you comply with the terms of this License in conveying all + material for which you do not control copyright. Those thus making or + running the covered works for you must do so exclusively on your + behalf, under your direction and control, on terms that prohibit them + from making any copies of your copyrighted material outside their + relationship with you. + + Conveying under any other circumstances is permitted solely under the + conditions stated below. Sublicensing is not allowed; section 10 makes it + unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological + measure under any applicable law fulfilling obligations under article 11 + of the WIPO copyright treaty adopted on 20 December 1996, or similar laws + prohibiting or restricting circumvention of such measures. + + When you convey a covered work, you waive any legal power to forbid + circumvention of technological measures to the extent such circumvention is + effected by exercising rights under this License with respect to the + covered work, and you disclaim any intention to limit operation or + modification of the work as a means of enforcing, against the work's users, + your or third parties' legal rights to forbid circumvention of + technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you + receive it, in any medium, provided that you conspicuously and + appropriately publish on each copy an appropriate copyright notice; keep + intact all notices stating that this License and any non-permissive terms + added in accord with section 7 apply to the code; keep intact all notices + of the absence of any warranty; and give all recipients a copy of this + License along with the Program. You may charge any price or no price for + each copy that you convey, and you may offer support or warranty + protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to + produce it from the Program, in the form of source code under the terms + of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified it, + and giving a relevant date. + + b) The work must carry prominent notices stating that it is released + under this License and any conditions added under section 7. This + requirement modifies the requirement in section 4 to “keep intact all + notices”. + + c) You must license the entire work, as a whole, under this License to + anyone who comes into possession of a copy. This License will therefore + apply, along with any applicable section 7 additional terms, to the + whole of the work, and all its parts, regardless of how they are + packaged. This License gives no permission to license the work in any + other way, but it does not invalidate such permission if you have + separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your work + need not make them do so. + + A compilation of a covered work with other separate and independent + works, which are not by their nature extensions of the covered work, and + which are not combined with it such as to form a larger program, in or on + a volume of a storage or distribution medium, is called an “aggregate” if + the compilation and its resulting copyright are not used to limit the + access or legal rights of the compilation's users beyond what the + individual works permit. Inclusion of a covered work in an aggregate does + not cause this License to apply to the other parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms of + sections 4 and 5, provided that you also convey the machine-readable + Corresponding Source under the terms of this License, in one of these + ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium customarily + used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a written + offer, valid for at least three years and valid for as long as you + offer spare parts or customer support for that product model, to give + anyone who possesses the object code either (1) a copy of the + Corresponding Source for all the software in the product that is + covered by this License, on a durable physical medium customarily used + for software interchange, for a price no more than your reasonable cost + of physically performing this conveying of source, or (2) access to + copy the Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This alternative is + allowed only occasionally and noncommercially, and only if you received + the object code with such an offer, in accord with subsection 6b. + + d) Convey the object code by offering access from a designated place + (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to copy + the object code is a network server, the Corresponding Source may be on + a different server (operated by you or a third party) that supports + equivalent copying facilities, provided you maintain clear directions + next to the object code saying where to find the Corresponding Source. + Regardless of what server hosts the Corresponding Source, you remain + obligated to ensure that it is available for as long as needed to + satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided you + inform other peers where the object code and Corresponding Source of + the work are being offered to the general public at no charge under + subsection 6d. + + A separable portion of the object code, whose source code is excluded + from the Corresponding Source as a System Library, need not be included + in conveying the object code work. + + A “User Product” is either (1) a “consumer product”, which means any + tangible personal property which is normally used for personal, family, + or household purposes, or (2) anything designed or sold for incorporation + into a dwelling. In determining whether a product is a consumer product, + doubtful cases shall be resolved in favor of coverage. For a particular + product received by a particular user, “normally used” refers to a + typical or common use of that class of product, regardless of the status + of the particular user or of the way in which the particular user + actually uses, or expects or is expected to use, the product. A product + is a consumer product regardless of whether the product has substantial + commercial, industrial or non-consumer uses, unless such uses represent + the only significant mode of use of the product. + + “Installation Information” for a User Product means any methods, + procedures, authorization keys, or other information required to install + and execute modified versions of a covered work in that User Product from + a modified version of its Corresponding Source. The information must + suffice to ensure that the continued functioning of the modified object + code is in no case prevented or interfered with solely because + modification has been made. + + If you convey an object code work under this section in, or with, or + specifically for use in, a User Product, and the conveying occurs as part + of a transaction in which the right of possession and use of the User + Product is transferred to the recipient in perpetuity or for a fixed term + (regardless of how the transaction is characterized), the Corresponding + Source conveyed under this section must be accompanied by the + Installation Information. But this requirement does not apply if neither + you nor any third party retains the ability to install modified object + code on the User Product (for example, the work has been installed in + ROM). + + The requirement to provide Installation Information does not include a + requirement to continue to provide support service, warranty, or updates + for a work that has been modified or installed by the recipient, or for + the User Product in which it has been modified or installed. Access + to a network may be denied when the modification itself materially + and adversely affects the operation of the network or violates the + rules and protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, in + accord with this section must be in a format that is publicly documented + (and with an implementation available to the public in source code form), + and must require no special password or key for unpacking, reading or + copying. + + 7. Additional Terms. + + “Additional permissions” are terms that supplement the terms of this + License by making exceptions from one or more of its conditions. + Additional permissions that are applicable to the entire Program shall be + treated as though they were included in this License, to the extent that + they are valid under applicable law. If additional permissions apply only + to part of the Program, that part may be used separately under those + permissions, but the entire Program remains governed by this License + without regard to the additional permissions. When you convey a copy of + a covered work, you may at your option remove any additional permissions + from that copy, or from any part of it. (Additional permissions may be + written to require their own removal in certain cases when you modify the + work.) You may place additional permissions on material, added by you to + a covered work, for which you have or can give appropriate copyright + permission. + + Notwithstanding any other provision of this License, for material you add + to a covered work, you may (if authorized by the copyright holders of + that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some trade + names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that material + by anyone who conveys the material (or modified versions of it) with + contractual assumptions of liability to the recipient, for any + liability that these contractual assumptions directly impose on those + licensors and authors. + + All other non-permissive additional terms are considered “further + restrictions” within the meaning of section 10. If the Program as you + received it, or any part of it, contains a notice stating that it is + governed by this License along with a term that is a further restriction, + you may remove that term. If a license document contains a further + restriction but permits relicensing or conveying under this License, you + may add to a covered work material governed by the terms of that license + document, provided that the further restriction does not survive such + relicensing or conveying. + + If you add terms to a covered work in accord with this section, you must + place, in the relevant source files, a statement of the additional terms + that apply to those files, or a notice indicating where to find the + applicable terms. Additional terms, permissive or non-permissive, may be + stated in the form of a separately written license, or stated as + exceptions; the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly + provided under this License. Any attempt otherwise to propagate or modify + it is void, and will automatically terminate your rights under this + License (including any patent licenses granted under the third paragraph + of section 11). + + However, if you cease all violation of this License, then your license + from a particular copyright holder is reinstated (a) provisionally, + unless and until the copyright holder explicitly and finally terminates + your license, and (b) permanently, if the copyright holder fails to + notify you of the violation by some reasonable means prior to 60 days + after the cessation. + + Moreover, your license from a particular copyright holder is reinstated + permanently if the copyright holder notifies you of the violation by some + reasonable means, this is the first time you have received notice of + violation of this License (for any work) from that copyright holder, and + you cure the violation prior to 30 days after your receipt of the notice. + + Termination of your rights under this section does not terminate the + licenses of parties who have received copies or rights from you under + this License. If your rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses for the same + material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or run a + copy of the Program. Ancillary propagation of a covered work occurring + solely as a consequence of using peer-to-peer transmission to receive a + copy likewise does not require acceptance. However, nothing other than + this License grants you permission to propagate or modify any covered + work. These actions infringe copyright if you do not accept this License. + Therefore, by modifying or propagating a covered work, you indicate your + acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically receives + a license from the original licensors, to run, modify and propagate that + work, subject to this License. You are not responsible for enforcing + compliance by third parties with this License. + + An “entity transaction” is a transaction transferring control of an + organization, or substantially all assets of one, or subdividing an + organization, or merging organizations. If propagation of a covered work + results from an entity transaction, each party to that transaction who + receives a copy of the work also receives whatever licenses to the work + the party's predecessor in interest had or could give under the previous + paragraph, plus a right to possession of the Corresponding Source of the + work from the predecessor in interest, if the predecessor has it or can + get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the rights + granted or affirmed under this License. For example, you may not impose a + license fee, royalty, or other charge for exercise of rights granted + under this License, and you may not initiate litigation (including a + cross-claim or counterclaim in a lawsuit) alleging that any patent claim + is infringed by making, using, selling, offering for sale, or importing + the Program or any portion of it. + + 11. Patents. + + A “contributor” is a copyright holder who authorizes use under this + License of the Program or a work on which the Program is based. The work + thus licensed is called the contributor's “contributor version”. + + A contributor's “essential patent claims” are all patent claims owned or + controlled by the contributor, whether already acquired or hereafter + acquired, that would be infringed by some manner, permitted by this + License, of making, using, or selling its contributor version, but do not + include claims that would be infringed only as a consequence of further + modification of the contributor version. For purposes of this definition, + “control” includes the right to grant patent sublicenses in a manner + consistent with the requirements of this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free + patent license under the contributor's essential patent claims, to make, + use, sell, offer for sale, import and otherwise run, modify and propagate + the contents of its contributor version. + + In the following three paragraphs, a “patent license” is any express + agreement or commitment, however denominated, not to enforce a patent + (such as an express permission to practice a patent or covenant not to + sue for patent infringement). To “grant” such a patent license to a party + means to make such an agreement or commitment not to enforce a patent + against the party. + + If you convey a covered work, knowingly relying on a patent license, and + the Corresponding Source of the work is not available for anyone to copy, + free of charge and under the terms of this License, through a publicly + available network server or other readily accessible means, then you must + either (1) cause the Corresponding Source to be so available, or (2) + arrange to deprive yourself of the benefit of the patent license for this + particular work, or (3) arrange, in a manner consistent with the + requirements of this License, to extend the patent license to downstream + recipients. “Knowingly relying” means you have actual knowledge that, but + for the patent license, your conveying the covered work in a country, or + your recipient's use of the covered work in a country, would infringe + one or more identifiable patents in that country that you have reason + to believe are valid. + + If, pursuant to or in connection with a single transaction or + arrangement, you convey, or propagate by procuring conveyance of, a + covered work, and grant a patent license to some of the parties receiving + the covered work authorizing them to use, propagate, modify or convey a + specific copy of the covered work, then the patent license you grant is + automatically extended to all recipients of the covered work and works + based on it. + + A patent license is “discriminatory” if it does not include within the + scope of its coverage, prohibits the exercise of, or is conditioned on + the non-exercise of one or more of the rights that are specifically + granted under this License. You may not convey a covered work if you are + a party to an arrangement with a third party that is in the business of + distributing software, under which you make payment to the third party + based on the extent of your activity of conveying the work, and under + which the third party grants, to any of the parties who would receive the + covered work from you, a discriminatory patent license (a) in connection + with copies of the covered work conveyed by you (or copies made from + those copies), or (b) primarily for and in connection with specific + products or compilations that contain the covered work, unless you + entered into that arrangement, or that patent license was granted, prior + to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting any + implied license or other defenses to infringement that may otherwise be + available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot use, + propagate or convey a covered work so as to satisfy simultaneously your + obligations under this License and any other pertinent obligations, then + as a consequence you may not use, propagate or convey it at all. For + example, if you agree to terms that obligate you to collect a royalty for + further conveying from those to whom you convey the Program, the only way + you could satisfy both those terms and this License would be to refrain + entirely from conveying the Program. + + 13. Offering the Program as a Service. + + If you make the functionality of the Program or a modified version + available to third parties as a service, you must make the Service Source + Code available via network download to everyone at no charge, under the + terms of this License. Making the functionality of the Program or + modified version available to third parties as a service includes, + without limitation, enabling third parties to interact with the + functionality of the Program or modified version remotely through a + computer network, offering a service the value of which entirely or + primarily derives from the value of the Program or modified version, or + offering a service that accomplishes for users the primary purpose of the + Program or modified version. + + “Service Source Code” means the Corresponding Source for the Program or + the modified version, and the Corresponding Source for all programs that + you use to make the Program or modified version available as a service, + including, without limitation, management software, user interfaces, + application program interfaces, automation software, monitoring software, + backup software, storage software and hosting software, all such that a + user could run an instance of the service using the Service Source Code + you make available. + + 14. Revised Versions of this License. + + MongoDB, Inc. may publish revised and/or new versions of the Server Side + Public License from time to time. Such new versions will be similar in + spirit to the present version, but may differ in detail to address new + problems or concerns. + + Each version is given a distinguishing version number. If the Program + specifies that a certain numbered version of the Server Side Public + License “or any later version” applies to it, you have the option of + following the terms and conditions either of that numbered version or of + any later version published by MongoDB, Inc. If the Program does not + specify a version number of the Server Side Public License, you may + choose any version ever published by MongoDB, Inc. + + If the Program specifies that a proxy can decide which future versions of + the Server Side Public License can be used, that proxy's public statement + of acceptance of a version permanently authorizes you to choose that + version for the Program. + + Later license versions may give you additional or different permissions. + However, no additional obligations are imposed on any author or copyright + holder as a result of your choosing to follow a later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY + APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY + OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM + IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF + ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS + THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING + ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF + THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO + LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU + OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER + PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided above + cannot be given local legal effect according to their terms, reviewing + courts shall apply local law that most closely approximates an absolute + waiver of all civil liability in connection with the Program, unless a + warranty or assumption of liability accompanies a copy of the Program in + return for a fee. + + END OF TERMS AND CONDITIONS diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/MPL-2 b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/MPL-2 new file mode 100644 index 000000000..14e2f777f --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/MPL-2 @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/README b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/README new file mode 100644 index 000000000..fe759d193 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/README @@ -0,0 +1,87 @@ +MongoDB README + +Welcome to MongoDB! + +COMPONENTS + + mongod - The database server. + mongos - Sharding router. + mongo - The database shell (uses interactive javascript). + +UTILITIES + + install_compass - Installs MongoDB Compass for your platform. + +BUILDING + + See docs/building.md. + +RUNNING + + For command line options invoke: + + $ ./mongod --help + + To run a single server database: + + $ sudo mkdir -p /data/db + $ ./mongod + $ + $ # The mongo javascript shell connects to localhost and test database by default: + $ ./mongo + > help + +INSTALLING COMPASS + + You can install compass using the install_compass script packaged with MongoDB: + + $ ./install_compass + + This will download the appropriate MongoDB Compass package for your platform + and install it. + +DRIVERS + + Client drivers for most programming languages are available at + https://docs.mongodb.com/manual/applications/drivers/. Use the shell + ("mongo") for administrative tasks. + +BUG REPORTS + + See https://github.com/mongodb/mongo/wiki/Submit-Bug-Reports. + +PACKAGING + + Packages are created dynamically by the package.py script located in the + buildscripts directory. This will generate RPM and Debian packages. + +DOCUMENTATION + + https://docs.mongodb.com/manual/ + +CLOUD HOSTED MONGODB + + https://www.mongodb.com/cloud/atlas + +FORUMS + + https://community.mongodb.com + + A forum for technical questions about using MongoDB. + + https://community.mongodb.com/c/server-dev + + A forum for technical questions about building and developing MongoDB. + +LEARN MONGODB + + https://university.mongodb.com/ + +LICENSE + + MongoDB is free and open-source. Versions released prior to October 16, + 2018 are published under the AGPL. All versions released after October + 16, 2018, including patch fixes for prior versions, are published under + the Server Side Public License (SSPL) v1. See individual files for + details. + diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES new file mode 100644 index 000000000..34fb82302 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES @@ -0,0 +1,1568 @@ +MongoDB uses third-party libraries or other resources that may +be distributed under licenses different than the MongoDB software. + +In the event that we accidentally failed to list a required notice, +please bring it to our attention through any of the ways detailed here : + + mongodb-dev@googlegroups.com + +The attached notices are provided for information only. + +For any licenses that require disclosure of source, sources are available at +https://github.com/mongodb/mongo. + + +1) License Notice for Boost +--------------------------- + +http://www.boost.org/LICENSE_1_0.txt + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +3) License Notice for PCRE +-------------------------- + +http://www.pcre.org/licence.txt + +PCRE LICENCE +------------ + +PCRE is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + +Release 7 of PCRE is distributed under the terms of the "BSD" licence, as +specified below. The documentation for PCRE, supplied in the "doc" +directory, is distributed under the same terms as the software itself. + +The basic library functions are written in C and are freestanding. Also +included in the distribution is a set of C++ wrapper functions. + + +THE BASIC LIBRARY FUNCTIONS +--------------------------- + +Written by: Philip Hazel +Email local part: ph10 +Email domain: cam.ac.uk + +University of Cambridge Computing Service, +Cambridge, England. + +Copyright (c) 1997-2008 University of Cambridge +All rights reserved. + + +THE C++ WRAPPER FUNCTIONS +------------------------- + +Contributed by: Google Inc. + +Copyright (c) 2007-2008, Google Inc. +All rights reserved. + + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +4) License notice for Aladdin MD5 +--------------------------------- + +Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +L. Peter Deutsch +ghost@aladdin.com + +5) License notice for Snappy - http://code.google.com/p/snappy/ +--------------------------------- + Copyright 2005 and onwards Google Inc. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A light-weight compression algorithm. It is designed for speed of + compression and decompression, rather than for the utmost in space + savings. + + For getting better compression ratios when you are compressing data + with long repeated sequences or compressing data that is similar to + other data, while still compressing fast, you might look at first + using BMDiff and then compressing the output of BMDiff with + Snappy. + +6) License notice for Google Perftools (TCMalloc utility) +--------------------------------- +New BSD License + +Copyright (c) 1998-2006, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the following +conditions are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +7) License notice for Linenoise +------------------------------- + + Copyright (c) 2010, Salvatore Sanfilippo + Copyright (c) 2010, Pieter Noordhuis + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Redis nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +8) License notice for S2 Geometry Library +----------------------------------------- + Copyright 2005 Google Inc. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +9) License notice for MurmurHash +-------------------------------- + + Copyright (c) 2010-2012 Austin Appleby + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +10) License notice for Snowball + Copyright (c) 2001, Dr Martin Porter + All rights reserved. + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +11) License notice for yaml-cpp +------------------------------- + +Copyright (c) 2008 Jesse Beder. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +12) License notice for zlib +--------------------------- + +http://www.zlib.net/zlib_license.html + +zlib.h -- interface of the 'zlib' general purpose compression library +version 1.2.8, April 28th, 2013 + +Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Jean-loup Gailly Mark Adler +jloup@gzip.org madler@alumni.caltech.edu + + +13) License notice for 3rd party software included in the WiredTiger library +---------------------------------------------------------------------------- + +http://source.wiredtiger.com/license.html + +WiredTiger Distribution Files | Copyright Holder | License +----------------------------- | ----------------------------------- | ---------------------- +src/include/bitstring.i | University of California, Berkeley | BSD-3-Clause License +src/include/queue.h | University of California, Berkeley | BSD-3-Clause License +src/os_posix/os_getopt.c | University of California, Berkeley | BSD-3-Clause License +src/support/hash_city.c | Google, Inc. | The MIT License +src/support/hash_fnv.c | Authors | Public Domain + + +Other optional 3rd party software included in the WiredTiger distribution is removed by MongoDB. + + +BSD-3-CLAUSE LICENSE +-------------------- + +http://www.opensource.org/licenses/BSD-3-Clause + +Copyright (c) 1987, 1989, 1991, 1993, 1994 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +THE MIT LICENSE +--------------- + +http://www.opensource.org/licenses/MIT + +Copyright (c) 2011 Google, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +14) License Notice for SpiderMonkey +----------------------------------- + +|------------------------------------------------|------------------|---------------| +| SpiderMonkey Distribution Files | Copyright Holder | License | +|------------------------------------------------|------------------|---------------| +| js/src/jit/shared/AssemblerBuffer-x86-shared.h | Apple, Inc | BSD-2-Clause | +| js/src/jit/shared/BaseAssembler-x86-shared.h | | | +|------------------------------------------------|------------------|---------------| +| js/src/builtin/ | Google, Inc | BSD-3-Clause | +| js/src/irregexp/ | | | +| js/src/jit/arm/ | | | +| js/src/jit/mips/ | | | +| mfbt/double-conversion/ | | | +|------------------------------------------------|------------------|---------------| +| intl/icu/source/common/unicode/ | IBM, Inc | ICU | +|------------------------------------------------|------------------|---------------| +| js/src/asmjs/ | Mozilla, Inc | Apache2 | +|------------------------------------------------|------------------|---------------| +| js/public/ | Mozilla, Inc | MPL2 | +| js/src/ | | | +| mfbt | | | +|------------------------------------------------|------------------|---------------| +| js/src/vm/Unicode.cpp | None | Public Domain | +|------------------------------------------------|------------------|---------------| +| mfbt/lz4.c | Yann Collet | BSD-2-Clause | +| mfbt/lz4.h | | | +|------------------------------------------------|------------------|---------------| + +Other optional 3rd party software included in the SpiderMonkey distribution is removed by MongoDB. + + +Apple, Inc: BSD-2-Clause +------------------------ + +Copyright (C) 2008 Apple Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Google, Inc: BSD-3-Clause +------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +ICU License - ICU 1.8.1 and later +--------------------------------- + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2012 International Business Machines Corporation and +others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, provided that the above copyright notice(s) and this +permission notice appear in all copies of the Software and that both the +above copyright notice(s) and this permission notice appear in supporting +documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization of the +copyright holder. + +All trademarks and registered trademarks mentioned herein are the property +of their respective owners. + + +Mozilla, Inc: Apache 2 +---------------------- + +Copyright 2014 Mozilla Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +Mozilla, Inc: MPL 2 +------------------- + +Copyright 2014 Mozilla Foundation + +This Source Code Form is subject to the terms of the Mozilla Public +License, v. 2.0. If a copy of the MPL was not distributed with this +file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +Public Domain +------------- + +Any copyright is dedicated to the Public Domain. +http://creativecommons.org/licenses/publicdomain/ + + +LZ4: BSD-2-Clause +----------------- + +Copyright (C) 2011-2014, Yann Collet. +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at : +- LZ4 source repository : http://code.google.com/p/lz4/ +- LZ4 public forum : https://groups.google.com/forum/#!forum/lz4c + +15) License Notice for Intel DFP Math Library +--------------------------------------------- + +Copyright (c) 2011, Intel Corp. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + his list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +16) License Notice for Unicode Data +----------------------------------- + +Copyright © 1991-2015 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, +(b) this copyright and permission notice appear in associated +documentation, and +(c) there is clear notice in each modified Data File or in the Software +as well as in the documentation associated with the Data File(s) or +Software that the data or software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +17 ) License Notice for Valgrind.h +---------------------------------- + +---------------------------------------------------------------- + +Notice that the following BSD-style license applies to this one +file (valgrind.h) only. The rest of Valgrind is licensed under the +terms of the GNU General Public License, version 2, unless +otherwise indicated. See the COPYING file in the source +distribution for details. + +---------------------------------------------------------------- + +This file is part of Valgrind, a dynamic binary instrumentation +framework. + +Copyright (C) 2000-2015 Julian Seward. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + +3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------- + +Notice that the above BSD-style license applies to this one file +(valgrind.h) only. The entire rest of Valgrind is licensed under +the terms of the GNU General Public License, version 2. See the +COPYING file in the source distribution for details. + +---------------------------------------------------------------- + +18) License notice for ICU4C +---------------------------- + +ICU License - ICU 1.8.1 and later + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2016 International Business Machines Corporation and others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + + +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. + +--------------------- + +Third-Party Software Licenses + +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. + +1. Unicode Data Files and Software + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 1991-2016 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, +(b) this copyright and permission notice appear in associated +documentation, and +(c) there is clear notice in each modified Data File or in the Software +as well as in the documentation associated with the Data File(s) or +Software that the data or software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + + # The Google Chrome software developed by Google is licensed under + # the BSD license. Other software included in this distribution is + # provided under other licenses, as set forth below. + # + # The BSD License + # http://opensource.org/licenses/bsd-license.php + # Copyright (C) 2006-2008, Google Inc. + # + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, + # this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided with + # the distribution. + # Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # + # The word list in cjdict.txt are generated by combining three word lists + # listed below with further processing for compound word breaking. The + # frequency is generated with an iterative training against Google web + # corpora. + # + # * Libtabe (Chinese) + # - https://sourceforge.net/project/?group_id=1519 + # - Its license terms and conditions are shown below. + # + # * IPADIC (Japanese) + # - http://chasen.aist-nara.ac.jp/chasen/distribution.html + # - Its license terms and conditions are shown below. + # + # ---------COPYING.libtabe ---- BEGIN-------------------- + # + # /* + # * Copyrighy (c) 1999 TaBE Project. + # * Copyright (c) 1999 Pai-Hsiang Hsiao. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the TaBE Project nor the names of its + # * contributors may be used to endorse or promote products derived + # * from this software without specific prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # /* + # * Copyright (c) 1999 Computer Systems and Communication Lab, + # * Institute of Information Science, Academia + # * Sinica. All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the Computer Systems and Communication Lab + # * nor the names of its contributors may be used to endorse or + # * promote products derived from this software without specific + # * prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + # University of Illinois + # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + # + # ---------------COPYING.libtabe-----END-------------------------------- + # + # + # ---------------COPYING.ipadic-----BEGIN------------------------------- + # + # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science + # and Technology. All Rights Reserved. + # + # Use, reproduction, and distribution of this software is permitted. + # Any copy of this software, whether in its original form or modified, + # must include both the above copyright notice and the following + # paragraphs. + # + # Nara Institute of Science and Technology (NAIST), + # the copyright holders, disclaims all warranties with regard to this + # software, including all implied warranties of merchantability and + # fitness, in no event shall NAIST be liable for + # any special, indirect or consequential damages or any damages + # whatsoever resulting from loss of use, data or profits, whether in an + # action of contract, negligence or other tortuous action, arising out + # of or in connection with the use or performance of this software. + # + # A large portion of the dictionary entries + # originate from ICOT Free Software. The following conditions for ICOT + # Free Software applies to the current dictionary as well. + # + # Each User may also freely distribute the Program, whether in its + # original form or modified, to any third party or parties, PROVIDED + # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear + # on, or be attached to, the Program, which is distributed substantially + # in the same form as set out herein and that such intended + # distribution, if actually made, will neither violate or otherwise + # contravene any of the laws and regulations of the countries having + # jurisdiction over the User or the intended distribution itself. + # + # NO WARRANTY + # + # The program was produced on an experimental basis in the course of the + # research and development conducted during the project and is provided + # to users as so produced on an experimental basis. Accordingly, the + # program is provided without any warranty whatsoever, whether express, + # implied, statutory or otherwise. The term "warranty" used herein + # includes, but is not limited to, any warranty of the quality, + # performance, merchantability and fitness for a particular purpose of + # the program and the nonexistence of any infringement or violation of + # any right of any third party. + # + # Each user of the program will agree and understand, and be deemed to + # have agreed and understood, that there is no warranty whatsoever for + # the program and, accordingly, the entire risk arising from or + # otherwise connected with the program is assumed by the user. + # + # Therefore, neither ICOT, the copyright holder, or any other + # organization that participated in or was otherwise related to the + # development of the program and their respective officials, directors, + # officers and other employees shall be held liable for any and all + # damages, including, without limitation, general, special, incidental + # and consequential damages, arising out of or otherwise in connection + # with the use or inability to use the program or any product, material + # or result produced or otherwise obtained by using the program, + # regardless of whether they have been advised of, or otherwise had + # knowledge of, the possibility of such damages at any time during the + # project or thereafter. Each user will be deemed to have agreed to the + # foregoing by his or her commencement of use of the program. The term + # "use" as used herein includes, but is not limited to, the use, + # modification, copying and distribution of the program and the + # production of secondary products from the program. + # + # In the case where the program, whether in its original form or + # modified, was distributed or delivered to or received by a user from + # any person, organization or entity other than ICOT, unless it makes or + # grants independently of ICOT any specific warranty to the user in + # writing, such person, organization or entity, will also be exempted + # from and not be held liable to the user for any such damages as noted + # above as far as the program is concerned. + # + # ---------------COPYING.ipadic-----END---------------------------------- + +3. Lao Word Break Dictionary Data (laodict.txt) + + # Copyright (c) 2013 International Business Machines Corporation + # and others. All Rights Reserved. + # + # Project: http://code.google.com/p/lao-dictionary/ + # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt + # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt + # (copied below) + # + # This file is derived from the above dictionary, with slight + # modifications. + # ---------------------------------------------------------------------- + # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, + # are permitted provided that the following conditions are met: + # + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. Redistributions in + # binary form must reproduce the above copyright notice, this list of + # conditions and the following disclaimer in the documentation and/or + # other materials provided with the distribution. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------- + +4. Burmese Word Break Dictionary Data (burmesedict.txt) + + # Copyright (c) 2014 International Business Machines Corporation + # and others. All Rights Reserved. + # + # This list is part of a project hosted at: + # github.com/kanyawtech/myanmar-karen-word-lists + # + # -------------------------------------------------------------------------- + # Copyright (c) 2013, LeRoy Benjamin Sharon + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: Redistributions of source code must retain the above + # copyright notice, this list of conditions and the following + # disclaimer. Redistributions in binary form must reproduce the + # above copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # + # Neither the name Myanmar Karen Word Lists, nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS + # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # -------------------------------------------------------------------------- + +5. Time Zone Database + + ICU uses the public domain data and code derived from Time Zone +Database for its time zone support. The ownership of the TZ database +is explained in BCP 175: Procedure for Maintaining the Time Zone +Database section 7. + + # 7. Database Ownership + # + # The TZ database itself is not an IETF Contribution or an IETF + # document. Rather it is a pre-existing and regularly updated work + # that is in the public domain, and is intended to remain in the + # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do + # not apply to the TZ Database or contributions that individuals make + # to it. Should any claims be made and substantiated against the TZ + # Database, the organization that is providing the IANA + # Considerations defined in this RFC, under the memorandum of + # understanding with the IETF, currently ICANN, may act in accordance + # with all competent court orders. No ownership claims will be made + # by ICANN or the IETF Trust on the database or the code. Any person + # making a contribution to the database or code waives all rights to + # future claims in that contribution or in the TZ Database. + +19) License notice for timelib +------------------------------ + +The MIT License (MIT) + +Copyright (c) 2015-2017 Derick Rethans +Copyright (c) 2017 MongoDB, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +20) License notice for windows dirent implementation +---------------------------------------------------- + + * Dirent interface for Microsoft Visual Studio + * Version 1.21 + * + * Copyright (C) 2006-2012 Toni Ronkko + * This file is part of dirent. Dirent may be freely distributed + * under the MIT license. For all details and documentation, see + * https://github.com/tronkko/dirent + + + 21) License notice for abseil-cpp +---------------------------- + + Copyright (c) Google Inc. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + 22) License notice for Zstandard +---------------------------- + + BSD License + + For Zstandard software + + Copyright (c) 2016-present, Facebook, Inc. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 23) License notice for ASIO +---------------------------- +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + 24) License notice for MPark.Variant +------------------------------------- +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + 25) License notice for fmt +--------------------------- + +Copyright (c) 2012 - present, Victor Zverovich +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 26) License notice for SafeInt +--------------------------- + +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the MIT License. + +MIT License + +Copyright (c) 2018 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + 27) License Notice for Raft TLA+ Specification +----------------------------------------------- + +https://github.com/ongardie/dissertation/blob/master/LICENSE + +Copyright 2014 Diego Ongaro. + +Some of our TLA+ specifications are based on the Raft TLA+ specification by Diego Ongaro. + +End diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md new file mode 100644 index 000000000..01b6a37e4 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md @@ -0,0 +1,13 @@ +Copyright 2014 MongoDB, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/README.md b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/README.md new file mode 100644 index 000000000..20f3ffe82 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/README.md @@ -0,0 +1,72 @@ +MongoDB Tools +=================================== + + - **bsondump** - _display BSON files in a human-readable format_ + - **mongoimport** - _Convert data from JSON, TSV or CSV and insert them into a collection_ + - **mongoexport** - _Write an existing collection to CSV or JSON format_ + - **mongodump/mongorestore** - _Dump MongoDB backups to disk in .BSON format, or restore them to a live database_ + - **mongostat** - _Monitor live MongoDB servers, replica sets, or sharded clusters_ + - **mongofiles** - _Read, write, delete, or update files in [GridFS](http://docs.mongodb.org/manual/core/gridfs/)_ + - **mongotop** - _Monitor read/write activity on a mongo server_ + + +Report any bugs, improvements, or new feature requests at https://jira.mongodb.org/browse/TOOLS + +Building Tools +--------------- + +We currently build the tools with Go version 1.15. Other Go versions may work but they are untested. + +Using `go get` to directly build the tools will not work. To build them, it's recommended to first clone this repository: + +``` +git clone https://github.com/mongodb/mongo-tools +cd mongo-tools +``` + +Then run `./make build` to build all the tools, placing them in the `bin` directory inside the repository. + +You can also build a subset of the tools using the `-tools` option. For example, `./make build -tools=mongodump,mongorestore` builds only `mongodump` and `mongorestore`. + +To use the build/test scripts in this repository, you **_must_** set GOROOT to your Go root directory. This may depend on how you installed Go. + +``` +export GOROOT=/usr/local/go +``` + +Updating Dependencies +--------------- +Starting with version 100.3.1, the tools use `go mod` to manage dependencies. All dependencies are listed in the `go.mod` file and are directly vendored in the `vendor` directory. + +In order to make changes to dependencies, you first need to change the `go.mod` file. You can manually edit that file to add/update/remove entries, or you can run the following in the repository directory: + +``` +go mod edit -require=@ # for adding or updating a dependency +go mod edit -droprequire= # for removing a dependency +``` + +Then run `go mod vendor -v` to reconstruct the `vendor` directory to match the changed `go.mod` file. + +Optionally, run `go mod tidy -v` to ensure that the `go.mod` file matches the `mongo-tools` source code. + +Contributing +--------------- +See our [Contributor's Guide](CONTRIBUTING.md). + +Documentation +--------------- +See the MongoDB packages [documentation](https://docs.mongodb.org/database-tools/). + +For documentation on older versions of the MongoDB, reference that version of the [MongoDB Server Manual](docs.mongodb.com/manual): + +- [MongoDB 4.2 Tools](https://docs.mongodb.org/v4.2/reference/program) +- [MongoDB 4.0 Tools](https://docs.mongodb.org/v4.0/reference/program) +- [MongoDB 3.6 Tools](https://docs.mongodb.org/v3.6/reference/program) + +Adding New Platforms Support +--------------- +See our [Adding New Platform Support Guide](PLATFORMSUPPORT.md). + +Vendoring the Change into Server Repo +--------------- +See our [Vendor the Change into Server Repo](SERVERVENDORING.md). diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES new file mode 100644 index 000000000..c747d0b8b --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES @@ -0,0 +1,3319 @@ +--------------------------------------------------------------------- +License notice for hashicorp/go-rootcerts +--------------------------------------------------------------------- + +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. "Contributor" + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. "Contributor Version" + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the terms of + a Secondary License. + +1.6. "Executable Form" + + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + + means a work that combines Covered Software with other material, in a + separate file or files, that is not Covered Software. + +1.8. "License" + + means this document. + +1.9. "Licensable" + + means having the right to grant, to the maximum extent possible, whether + at the time of the initial grant or subsequently, any and all of the + rights conveyed by this License. + +1.10. "Modifications" + + means any of the following: + + a. any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. "Patent Claims" of a Contributor + + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the License, + by the making, using, selling, offering for sale, having made, import, + or transfer of either its Contributions or its Contributor Version. + +1.12. "Secondary License" + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. "Source Code Form" + + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of + its Contributions. + + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights to + grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter the + recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, or + limitations of liability) contained within the Source Code Form of the + Covered Software, except that You may alter any license notices to the + extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, + judicial order, or regulation then You must: (a) comply with the terms of + this License to the maximum extent possible; and (b) describe the + limitations and the code they affect. Such description must be placed in a + text file included with all distributions of the Covered Software under + this License. Except to the extent prohibited by statute or regulation, + such description must be sufficiently detailed for a recipient of ordinary + skill to be able to understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing + basis, if such Contributor fails to notify You of the non-compliance by + some reasonable means prior to 60 days after You have come back into + compliance. Moreover, Your grants from a particular Contributor are + reinstated on an ongoing basis if such Contributor notifies You of the + non-compliance by some reasonable means, this is the first time You have + received notice of non-compliance with this License from such + Contributor, and You become compliant prior to 30 days after Your receipt + of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an "as is" basis, + without warranty of any kind, either expressed, implied, or statutory, + including, without limitation, warranties that the Covered Software is free + of defects, merchantable, fit for a particular purpose or non-infringing. + The entire risk as to the quality and performance of the Covered Software + is with You. Should any Covered Software prove defective in any respect, + You (not any Contributor) assume the cost of any necessary servicing, + repair, or correction. This disclaimer of warranty constitutes an essential + part of this License. No use of any Covered Software is authorized under + this License except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from + such party's negligence to the extent applicable law prohibits such + limitation. Some jurisdictions do not allow the exclusion or limitation of + incidental or consequential damages, so this exclusion and limitation may + not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts + of a jurisdiction where the defendant maintains its principal place of + business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. Nothing + in this Section shall prevent a party's ability to bring cross-claims or + counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides that + the language of a contract shall be construed against the drafter shall not + be used to construe this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses If You choose to distribute Source Code Form that is + Incompatible With Secondary Licenses under the terms of this version of + the License, the notice described in Exhibit B of this License must be + attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, +then You may include the notice in a location (such as a LICENSE file in a +relevant directory) where a recipient would be likely to look for such a +notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice + + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. + +--------------------------------------------------------------------- +License notice for JSON and CSV code from github.com/golang/go +--------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/10gen/escaper +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2016 Lucas Morales + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/10gen/llmgo +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/10gen/llmgo/bson +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/10gen/openssl +---------------------------------------------------------------------- + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/3rf/mongo-lint +---------------------------------------------------------------------- + +Copyright (c) 2013 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/go-stack/stack +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2014 Chris Hines + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/golang/snappy +---------------------------------------------------------------------- + +Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/google/gopacket +---------------------------------------------------------------------- + +Copyright (c) 2012 Google, Inc. All rights reserved. +Copyright (c) 2009-2011 Andreas Krennmair. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Andreas Krennmair, Google, nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/gopherjs/gopherjs +---------------------------------------------------------------------- + +Copyright (c) 2013 Richard Musiol. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/howeyc/gopass +---------------------------------------------------------------------- + +Copyright (c) 2012 Chris Howey + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/jessevdk/go-flags +---------------------------------------------------------------------- + +Copyright (c) 2012 Jesse van den Kieboom. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/jtolds/gls +---------------------------------------------------------------------- + +Copyright (c) 2013, Space Monkey, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/mattn/go-runewidth +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2016 Yasuhiro Matsumoto + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/mongodb/mongo-go-driver +---------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/nsf/termbox-go +---------------------------------------------------------------------- + +Copyright (C) 2012 termbox-go authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/patrickmn/go-cache +---------------------------------------------------------------------- + +Copyright (c) 2012-2015 Patrick Mylund Nielsen and the go-cache contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions +---------------------------------------------------------------------- + +Copyright (c) 2015 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/go-render +---------------------------------------------------------------------- + +// Copyright (c) 2015 The Chromium Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/oglematchers +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/oglemock +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/ogletest +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/reqtrace +---------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/goconvey +---------------------------------------------------------------------- + +Copyright (c) 2014 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/goconvey/web/client/resources/fonts/Open_Sans +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/spacemonkeygo/spacelog +---------------------------------------------------------------------- + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/xdg/scram +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/xdg/stringprep +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/youmark/pkcs8 +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2014 youmark + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for golang.org/x/crypto +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for golang.org/x/sync +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for golang.org/x/text +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for gopkg.in/tomb.v2 +---------------------------------------------------------------------- + +tomb - support for clean goroutine termination in Go. + +Copyright (c) 2010-2011 - Gustavo Niemeyer + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt new file mode 100644 index 000000000..4e1383df1 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt @@ -0,0 +1,557 @@ + Server Side Public License + VERSION 1, OCTOBER 16, 2018 + + Copyright © 2018 MongoDB, Inc. + + Everyone is permitted to copy and distribute verbatim copies of this + license document, but changing it is not allowed. + + TERMS AND CONDITIONS + + 0. Definitions. + + “This License” refers to Server Side Public License. + + “Copyright” also means copyright-like laws that apply to other kinds of + works, such as semiconductor masks. + + “The Program” refers to any copyrightable work licensed under this + License. Each licensee is addressed as “you”. “Licensees” and + “recipients” may be individuals or organizations. + + To “modify” a work means to copy from or adapt all or part of the work in + a fashion requiring copyright permission, other than the making of an + exact copy. The resulting work is called a “modified version” of the + earlier work or a work “based on” the earlier work. + + A “covered work” means either the unmodified Program or a work based on + the Program. + + To “propagate” a work means to do anything with it that, without + permission, would make you directly or secondarily liable for + infringement under applicable copyright law, except executing it on a + computer or modifying a private copy. Propagation includes copying, + distribution (with or without modification), making available to the + public, and in some countries other activities as well. + + To “convey” a work means any kind of propagation that enables other + parties to make or receive copies. Mere interaction with a user through a + computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays “Appropriate Legal Notices” to the + extent that it includes a convenient and prominently visible feature that + (1) displays an appropriate copyright notice, and (2) tells the user that + there is no warranty for the work (except to the extent that warranties + are provided), that licensees may convey the work under this License, and + how to view a copy of this License. If the interface presents a list of + user commands or options, such as a menu, a prominent item in the list + meets this criterion. + + 1. Source Code. + + The “source code” for a work means the preferred form of the work for + making modifications to it. “Object code” means any non-source form of a + work. + + A “Standard Interface” means an interface that either is an official + standard defined by a recognized standards body, or, in the case of + interfaces specified for a particular programming language, one that is + widely used among developers working in that language. The “System + Libraries” of an executable work include anything, other than the work as + a whole, that (a) is included in the normal form of packaging a Major + Component, but which is not part of that Major Component, and (b) serves + only to enable use of the work with that Major Component, or to implement + a Standard Interface for which an implementation is available to the + public in source code form. A “Major Component”, in this context, means a + major essential component (kernel, window system, and so on) of the + specific operating system (if any) on which the executable work runs, or + a compiler used to produce the work, or an object code interpreter used + to run it. + + The “Corresponding Source” for a work in object code form means all the + source code needed to generate, install, and (for an executable work) run + the object code and to modify the work, including scripts to control + those activities. However, it does not include the work's System + Libraries, or general-purpose tools or generally available free programs + which are used unmodified in performing those activities but which are + not part of the work. For example, Corresponding Source includes + interface definition files associated with source files for the work, and + the source code for shared libraries and dynamically linked subprograms + that the work is specifically designed to require, such as by intimate + data communication or control flow between those subprograms and other + parts of the work. + + The Corresponding Source need not include anything that users can + regenerate automatically from other parts of the Corresponding Source. + + The Corresponding Source for a work in source code form is that same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of + copyright on the Program, and are irrevocable provided the stated + conditions are met. This License explicitly affirms your unlimited + permission to run the unmodified Program, subject to section 13. The + output from running a covered work is covered by this License only if the + output, given its content, constitutes a covered work. This License + acknowledges your rights of fair use or other equivalent, as provided by + copyright law. Subject to section 13, you may make, run and propagate + covered works that you do not convey, without conditions so long as your + license otherwise remains in force. You may convey covered works to + others for the sole purpose of having them make modifications exclusively + for you, or provide you with facilities for running those works, provided + that you comply with the terms of this License in conveying all + material for which you do not control copyright. Those thus making or + running the covered works for you must do so exclusively on your + behalf, under your direction and control, on terms that prohibit them + from making any copies of your copyrighted material outside their + relationship with you. + + Conveying under any other circumstances is permitted solely under the + conditions stated below. Sublicensing is not allowed; section 10 makes it + unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological + measure under any applicable law fulfilling obligations under article 11 + of the WIPO copyright treaty adopted on 20 December 1996, or similar laws + prohibiting or restricting circumvention of such measures. + + When you convey a covered work, you waive any legal power to forbid + circumvention of technological measures to the extent such circumvention is + effected by exercising rights under this License with respect to the + covered work, and you disclaim any intention to limit operation or + modification of the work as a means of enforcing, against the work's users, + your or third parties' legal rights to forbid circumvention of + technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you + receive it, in any medium, provided that you conspicuously and + appropriately publish on each copy an appropriate copyright notice; keep + intact all notices stating that this License and any non-permissive terms + added in accord with section 7 apply to the code; keep intact all notices + of the absence of any warranty; and give all recipients a copy of this + License along with the Program. You may charge any price or no price for + each copy that you convey, and you may offer support or warranty + protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to + produce it from the Program, in the form of source code under the terms + of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified it, + and giving a relevant date. + + b) The work must carry prominent notices stating that it is released + under this License and any conditions added under section 7. This + requirement modifies the requirement in section 4 to “keep intact all + notices”. + + c) You must license the entire work, as a whole, under this License to + anyone who comes into possession of a copy. This License will therefore + apply, along with any applicable section 7 additional terms, to the + whole of the work, and all its parts, regardless of how they are + packaged. This License gives no permission to license the work in any + other way, but it does not invalidate such permission if you have + separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your work + need not make them do so. + + A compilation of a covered work with other separate and independent + works, which are not by their nature extensions of the covered work, and + which are not combined with it such as to form a larger program, in or on + a volume of a storage or distribution medium, is called an “aggregate” if + the compilation and its resulting copyright are not used to limit the + access or legal rights of the compilation's users beyond what the + individual works permit. Inclusion of a covered work in an aggregate does + not cause this License to apply to the other parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms of + sections 4 and 5, provided that you also convey the machine-readable + Corresponding Source under the terms of this License, in one of these + ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium customarily + used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a written + offer, valid for at least three years and valid for as long as you + offer spare parts or customer support for that product model, to give + anyone who possesses the object code either (1) a copy of the + Corresponding Source for all the software in the product that is + covered by this License, on a durable physical medium customarily used + for software interchange, for a price no more than your reasonable cost + of physically performing this conveying of source, or (2) access to + copy the Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This alternative is + allowed only occasionally and noncommercially, and only if you received + the object code with such an offer, in accord with subsection 6b. + + d) Convey the object code by offering access from a designated place + (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to copy + the object code is a network server, the Corresponding Source may be on + a different server (operated by you or a third party) that supports + equivalent copying facilities, provided you maintain clear directions + next to the object code saying where to find the Corresponding Source. + Regardless of what server hosts the Corresponding Source, you remain + obligated to ensure that it is available for as long as needed to + satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided you + inform other peers where the object code and Corresponding Source of + the work are being offered to the general public at no charge under + subsection 6d. + + A separable portion of the object code, whose source code is excluded + from the Corresponding Source as a System Library, need not be included + in conveying the object code work. + + A “User Product” is either (1) a “consumer product”, which means any + tangible personal property which is normally used for personal, family, + or household purposes, or (2) anything designed or sold for incorporation + into a dwelling. In determining whether a product is a consumer product, + doubtful cases shall be resolved in favor of coverage. For a particular + product received by a particular user, “normally used” refers to a + typical or common use of that class of product, regardless of the status + of the particular user or of the way in which the particular user + actually uses, or expects or is expected to use, the product. A product + is a consumer product regardless of whether the product has substantial + commercial, industrial or non-consumer uses, unless such uses represent + the only significant mode of use of the product. + + “Installation Information” for a User Product means any methods, + procedures, authorization keys, or other information required to install + and execute modified versions of a covered work in that User Product from + a modified version of its Corresponding Source. The information must + suffice to ensure that the continued functioning of the modified object + code is in no case prevented or interfered with solely because + modification has been made. + + If you convey an object code work under this section in, or with, or + specifically for use in, a User Product, and the conveying occurs as part + of a transaction in which the right of possession and use of the User + Product is transferred to the recipient in perpetuity or for a fixed term + (regardless of how the transaction is characterized), the Corresponding + Source conveyed under this section must be accompanied by the + Installation Information. But this requirement does not apply if neither + you nor any third party retains the ability to install modified object + code on the User Product (for example, the work has been installed in + ROM). + + The requirement to provide Installation Information does not include a + requirement to continue to provide support service, warranty, or updates + for a work that has been modified or installed by the recipient, or for + the User Product in which it has been modified or installed. Access + to a network may be denied when the modification itself materially + and adversely affects the operation of the network or violates the + rules and protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, in + accord with this section must be in a format that is publicly documented + (and with an implementation available to the public in source code form), + and must require no special password or key for unpacking, reading or + copying. + + 7. Additional Terms. + + “Additional permissions” are terms that supplement the terms of this + License by making exceptions from one or more of its conditions. + Additional permissions that are applicable to the entire Program shall be + treated as though they were included in this License, to the extent that + they are valid under applicable law. If additional permissions apply only + to part of the Program, that part may be used separately under those + permissions, but the entire Program remains governed by this License + without regard to the additional permissions. When you convey a copy of + a covered work, you may at your option remove any additional permissions + from that copy, or from any part of it. (Additional permissions may be + written to require their own removal in certain cases when you modify the + work.) You may place additional permissions on material, added by you to + a covered work, for which you have or can give appropriate copyright + permission. + + Notwithstanding any other provision of this License, for material you add + to a covered work, you may (if authorized by the copyright holders of + that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some trade + names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that material + by anyone who conveys the material (or modified versions of it) with + contractual assumptions of liability to the recipient, for any + liability that these contractual assumptions directly impose on those + licensors and authors. + + All other non-permissive additional terms are considered “further + restrictions” within the meaning of section 10. If the Program as you + received it, or any part of it, contains a notice stating that it is + governed by this License along with a term that is a further restriction, + you may remove that term. If a license document contains a further + restriction but permits relicensing or conveying under this License, you + may add to a covered work material governed by the terms of that license + document, provided that the further restriction does not survive such + relicensing or conveying. + + If you add terms to a covered work in accord with this section, you must + place, in the relevant source files, a statement of the additional terms + that apply to those files, or a notice indicating where to find the + applicable terms. Additional terms, permissive or non-permissive, may be + stated in the form of a separately written license, or stated as + exceptions; the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly + provided under this License. Any attempt otherwise to propagate or modify + it is void, and will automatically terminate your rights under this + License (including any patent licenses granted under the third paragraph + of section 11). + + However, if you cease all violation of this License, then your license + from a particular copyright holder is reinstated (a) provisionally, + unless and until the copyright holder explicitly and finally terminates + your license, and (b) permanently, if the copyright holder fails to + notify you of the violation by some reasonable means prior to 60 days + after the cessation. + + Moreover, your license from a particular copyright holder is reinstated + permanently if the copyright holder notifies you of the violation by some + reasonable means, this is the first time you have received notice of + violation of this License (for any work) from that copyright holder, and + you cure the violation prior to 30 days after your receipt of the notice. + + Termination of your rights under this section does not terminate the + licenses of parties who have received copies or rights from you under + this License. If your rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses for the same + material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or run a + copy of the Program. Ancillary propagation of a covered work occurring + solely as a consequence of using peer-to-peer transmission to receive a + copy likewise does not require acceptance. However, nothing other than + this License grants you permission to propagate or modify any covered + work. These actions infringe copyright if you do not accept this License. + Therefore, by modifying or propagating a covered work, you indicate your + acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically receives + a license from the original licensors, to run, modify and propagate that + work, subject to this License. You are not responsible for enforcing + compliance by third parties with this License. + + An “entity transaction” is a transaction transferring control of an + organization, or substantially all assets of one, or subdividing an + organization, or merging organizations. If propagation of a covered work + results from an entity transaction, each party to that transaction who + receives a copy of the work also receives whatever licenses to the work + the party's predecessor in interest had or could give under the previous + paragraph, plus a right to possession of the Corresponding Source of the + work from the predecessor in interest, if the predecessor has it or can + get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the rights + granted or affirmed under this License. For example, you may not impose a + license fee, royalty, or other charge for exercise of rights granted + under this License, and you may not initiate litigation (including a + cross-claim or counterclaim in a lawsuit) alleging that any patent claim + is infringed by making, using, selling, offering for sale, or importing + the Program or any portion of it. + + 11. Patents. + + A “contributor” is a copyright holder who authorizes use under this + License of the Program or a work on which the Program is based. The work + thus licensed is called the contributor's “contributor version”. + + A contributor's “essential patent claims” are all patent claims owned or + controlled by the contributor, whether already acquired or hereafter + acquired, that would be infringed by some manner, permitted by this + License, of making, using, or selling its contributor version, but do not + include claims that would be infringed only as a consequence of further + modification of the contributor version. For purposes of this definition, + “control” includes the right to grant patent sublicenses in a manner + consistent with the requirements of this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free + patent license under the contributor's essential patent claims, to make, + use, sell, offer for sale, import and otherwise run, modify and propagate + the contents of its contributor version. + + In the following three paragraphs, a “patent license” is any express + agreement or commitment, however denominated, not to enforce a patent + (such as an express permission to practice a patent or covenant not to + sue for patent infringement). To “grant” such a patent license to a party + means to make such an agreement or commitment not to enforce a patent + against the party. + + If you convey a covered work, knowingly relying on a patent license, and + the Corresponding Source of the work is not available for anyone to copy, + free of charge and under the terms of this License, through a publicly + available network server or other readily accessible means, then you must + either (1) cause the Corresponding Source to be so available, or (2) + arrange to deprive yourself of the benefit of the patent license for this + particular work, or (3) arrange, in a manner consistent with the + requirements of this License, to extend the patent license to downstream + recipients. “Knowingly relying” means you have actual knowledge that, but + for the patent license, your conveying the covered work in a country, or + your recipient's use of the covered work in a country, would infringe + one or more identifiable patents in that country that you have reason + to believe are valid. + + If, pursuant to or in connection with a single transaction or + arrangement, you convey, or propagate by procuring conveyance of, a + covered work, and grant a patent license to some of the parties receiving + the covered work authorizing them to use, propagate, modify or convey a + specific copy of the covered work, then the patent license you grant is + automatically extended to all recipients of the covered work and works + based on it. + + A patent license is “discriminatory” if it does not include within the + scope of its coverage, prohibits the exercise of, or is conditioned on + the non-exercise of one or more of the rights that are specifically + granted under this License. You may not convey a covered work if you are + a party to an arrangement with a third party that is in the business of + distributing software, under which you make payment to the third party + based on the extent of your activity of conveying the work, and under + which the third party grants, to any of the parties who would receive the + covered work from you, a discriminatory patent license (a) in connection + with copies of the covered work conveyed by you (or copies made from + those copies), or (b) primarily for and in connection with specific + products or compilations that contain the covered work, unless you + entered into that arrangement, or that patent license was granted, prior + to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting any + implied license or other defenses to infringement that may otherwise be + available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot use, + propagate or convey a covered work so as to satisfy simultaneously your + obligations under this License and any other pertinent obligations, then + as a consequence you may not use, propagate or convey it at all. For + example, if you agree to terms that obligate you to collect a royalty for + further conveying from those to whom you convey the Program, the only way + you could satisfy both those terms and this License would be to refrain + entirely from conveying the Program. + + 13. Offering the Program as a Service. + + If you make the functionality of the Program or a modified version + available to third parties as a service, you must make the Service Source + Code available via network download to everyone at no charge, under the + terms of this License. Making the functionality of the Program or + modified version available to third parties as a service includes, + without limitation, enabling third parties to interact with the + functionality of the Program or modified version remotely through a + computer network, offering a service the value of which entirely or + primarily derives from the value of the Program or modified version, or + offering a service that accomplishes for users the primary purpose of the + Program or modified version. + + “Service Source Code” means the Corresponding Source for the Program or + the modified version, and the Corresponding Source for all programs that + you use to make the Program or modified version available as a service, + including, without limitation, management software, user interfaces, + application program interfaces, automation software, monitoring software, + backup software, storage software and hosting software, all such that a + user could run an instance of the service using the Service Source Code + you make available. + + 14. Revised Versions of this License. + + MongoDB, Inc. may publish revised and/or new versions of the Server Side + Public License from time to time. Such new versions will be similar in + spirit to the present version, but may differ in detail to address new + problems or concerns. + + Each version is given a distinguishing version number. If the Program + specifies that a certain numbered version of the Server Side Public + License “or any later version” applies to it, you have the option of + following the terms and conditions either of that numbered version or of + any later version published by MongoDB, Inc. If the Program does not + specify a version number of the Server Side Public License, you may + choose any version ever published by MongoDB, Inc. + + If the Program specifies that a proxy can decide which future versions of + the Server Side Public License can be used, that proxy's public statement + of acceptance of a version permanently authorizes you to choose that + version for the Program. + + Later license versions may give you additional or different permissions. + However, no additional obligations are imposed on any author or copyright + holder as a result of your choosing to follow a later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY + APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY + OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM + IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF + ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS + THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING + ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF + THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO + LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU + OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER + PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided above + cannot be given local legal effect according to their terms, reviewing + courts shall apply local law that most closely approximates an absolute + waiver of all civil liability in connection with the Program, unless a + warranty or assumption of liability accompanies a copy of the Program in + return for a fee. + + END OF TERMS AND CONDITIONS diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/MPL-2 b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/MPL-2 new file mode 100644 index 000000000..14e2f777f --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/MPL-2 @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/README b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/README new file mode 100644 index 000000000..fe759d193 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/README @@ -0,0 +1,87 @@ +MongoDB README + +Welcome to MongoDB! + +COMPONENTS + + mongod - The database server. + mongos - Sharding router. + mongo - The database shell (uses interactive javascript). + +UTILITIES + + install_compass - Installs MongoDB Compass for your platform. + +BUILDING + + See docs/building.md. + +RUNNING + + For command line options invoke: + + $ ./mongod --help + + To run a single server database: + + $ sudo mkdir -p /data/db + $ ./mongod + $ + $ # The mongo javascript shell connects to localhost and test database by default: + $ ./mongo + > help + +INSTALLING COMPASS + + You can install compass using the install_compass script packaged with MongoDB: + + $ ./install_compass + + This will download the appropriate MongoDB Compass package for your platform + and install it. + +DRIVERS + + Client drivers for most programming languages are available at + https://docs.mongodb.com/manual/applications/drivers/. Use the shell + ("mongo") for administrative tasks. + +BUG REPORTS + + See https://github.com/mongodb/mongo/wiki/Submit-Bug-Reports. + +PACKAGING + + Packages are created dynamically by the package.py script located in the + buildscripts directory. This will generate RPM and Debian packages. + +DOCUMENTATION + + https://docs.mongodb.com/manual/ + +CLOUD HOSTED MONGODB + + https://www.mongodb.com/cloud/atlas + +FORUMS + + https://community.mongodb.com + + A forum for technical questions about using MongoDB. + + https://community.mongodb.com/c/server-dev + + A forum for technical questions about building and developing MongoDB. + +LEARN MONGODB + + https://university.mongodb.com/ + +LICENSE + + MongoDB is free and open-source. Versions released prior to October 16, + 2018 are published under the AGPL. All versions released after October + 16, 2018, including patch fixes for prior versions, are published under + the Server Side Public License (SSPL) v1. See individual files for + details. + diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES new file mode 100644 index 000000000..34fb82302 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES @@ -0,0 +1,1568 @@ +MongoDB uses third-party libraries or other resources that may +be distributed under licenses different than the MongoDB software. + +In the event that we accidentally failed to list a required notice, +please bring it to our attention through any of the ways detailed here : + + mongodb-dev@googlegroups.com + +The attached notices are provided for information only. + +For any licenses that require disclosure of source, sources are available at +https://github.com/mongodb/mongo. + + +1) License Notice for Boost +--------------------------- + +http://www.boost.org/LICENSE_1_0.txt + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +3) License Notice for PCRE +-------------------------- + +http://www.pcre.org/licence.txt + +PCRE LICENCE +------------ + +PCRE is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + +Release 7 of PCRE is distributed under the terms of the "BSD" licence, as +specified below. The documentation for PCRE, supplied in the "doc" +directory, is distributed under the same terms as the software itself. + +The basic library functions are written in C and are freestanding. Also +included in the distribution is a set of C++ wrapper functions. + + +THE BASIC LIBRARY FUNCTIONS +--------------------------- + +Written by: Philip Hazel +Email local part: ph10 +Email domain: cam.ac.uk + +University of Cambridge Computing Service, +Cambridge, England. + +Copyright (c) 1997-2008 University of Cambridge +All rights reserved. + + +THE C++ WRAPPER FUNCTIONS +------------------------- + +Contributed by: Google Inc. + +Copyright (c) 2007-2008, Google Inc. +All rights reserved. + + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +4) License notice for Aladdin MD5 +--------------------------------- + +Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +L. Peter Deutsch +ghost@aladdin.com + +5) License notice for Snappy - http://code.google.com/p/snappy/ +--------------------------------- + Copyright 2005 and onwards Google Inc. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A light-weight compression algorithm. It is designed for speed of + compression and decompression, rather than for the utmost in space + savings. + + For getting better compression ratios when you are compressing data + with long repeated sequences or compressing data that is similar to + other data, while still compressing fast, you might look at first + using BMDiff and then compressing the output of BMDiff with + Snappy. + +6) License notice for Google Perftools (TCMalloc utility) +--------------------------------- +New BSD License + +Copyright (c) 1998-2006, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the following +conditions are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +7) License notice for Linenoise +------------------------------- + + Copyright (c) 2010, Salvatore Sanfilippo + Copyright (c) 2010, Pieter Noordhuis + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Redis nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +8) License notice for S2 Geometry Library +----------------------------------------- + Copyright 2005 Google Inc. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +9) License notice for MurmurHash +-------------------------------- + + Copyright (c) 2010-2012 Austin Appleby + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +10) License notice for Snowball + Copyright (c) 2001, Dr Martin Porter + All rights reserved. + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +11) License notice for yaml-cpp +------------------------------- + +Copyright (c) 2008 Jesse Beder. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +12) License notice for zlib +--------------------------- + +http://www.zlib.net/zlib_license.html + +zlib.h -- interface of the 'zlib' general purpose compression library +version 1.2.8, April 28th, 2013 + +Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Jean-loup Gailly Mark Adler +jloup@gzip.org madler@alumni.caltech.edu + + +13) License notice for 3rd party software included in the WiredTiger library +---------------------------------------------------------------------------- + +http://source.wiredtiger.com/license.html + +WiredTiger Distribution Files | Copyright Holder | License +----------------------------- | ----------------------------------- | ---------------------- +src/include/bitstring.i | University of California, Berkeley | BSD-3-Clause License +src/include/queue.h | University of California, Berkeley | BSD-3-Clause License +src/os_posix/os_getopt.c | University of California, Berkeley | BSD-3-Clause License +src/support/hash_city.c | Google, Inc. | The MIT License +src/support/hash_fnv.c | Authors | Public Domain + + +Other optional 3rd party software included in the WiredTiger distribution is removed by MongoDB. + + +BSD-3-CLAUSE LICENSE +-------------------- + +http://www.opensource.org/licenses/BSD-3-Clause + +Copyright (c) 1987, 1989, 1991, 1993, 1994 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +THE MIT LICENSE +--------------- + +http://www.opensource.org/licenses/MIT + +Copyright (c) 2011 Google, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +14) License Notice for SpiderMonkey +----------------------------------- + +|------------------------------------------------|------------------|---------------| +| SpiderMonkey Distribution Files | Copyright Holder | License | +|------------------------------------------------|------------------|---------------| +| js/src/jit/shared/AssemblerBuffer-x86-shared.h | Apple, Inc | BSD-2-Clause | +| js/src/jit/shared/BaseAssembler-x86-shared.h | | | +|------------------------------------------------|------------------|---------------| +| js/src/builtin/ | Google, Inc | BSD-3-Clause | +| js/src/irregexp/ | | | +| js/src/jit/arm/ | | | +| js/src/jit/mips/ | | | +| mfbt/double-conversion/ | | | +|------------------------------------------------|------------------|---------------| +| intl/icu/source/common/unicode/ | IBM, Inc | ICU | +|------------------------------------------------|------------------|---------------| +| js/src/asmjs/ | Mozilla, Inc | Apache2 | +|------------------------------------------------|------------------|---------------| +| js/public/ | Mozilla, Inc | MPL2 | +| js/src/ | | | +| mfbt | | | +|------------------------------------------------|------------------|---------------| +| js/src/vm/Unicode.cpp | None | Public Domain | +|------------------------------------------------|------------------|---------------| +| mfbt/lz4.c | Yann Collet | BSD-2-Clause | +| mfbt/lz4.h | | | +|------------------------------------------------|------------------|---------------| + +Other optional 3rd party software included in the SpiderMonkey distribution is removed by MongoDB. + + +Apple, Inc: BSD-2-Clause +------------------------ + +Copyright (C) 2008 Apple Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Google, Inc: BSD-3-Clause +------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +ICU License - ICU 1.8.1 and later +--------------------------------- + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2012 International Business Machines Corporation and +others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, provided that the above copyright notice(s) and this +permission notice appear in all copies of the Software and that both the +above copyright notice(s) and this permission notice appear in supporting +documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization of the +copyright holder. + +All trademarks and registered trademarks mentioned herein are the property +of their respective owners. + + +Mozilla, Inc: Apache 2 +---------------------- + +Copyright 2014 Mozilla Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +Mozilla, Inc: MPL 2 +------------------- + +Copyright 2014 Mozilla Foundation + +This Source Code Form is subject to the terms of the Mozilla Public +License, v. 2.0. If a copy of the MPL was not distributed with this +file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +Public Domain +------------- + +Any copyright is dedicated to the Public Domain. +http://creativecommons.org/licenses/publicdomain/ + + +LZ4: BSD-2-Clause +----------------- + +Copyright (C) 2011-2014, Yann Collet. +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at : +- LZ4 source repository : http://code.google.com/p/lz4/ +- LZ4 public forum : https://groups.google.com/forum/#!forum/lz4c + +15) License Notice for Intel DFP Math Library +--------------------------------------------- + +Copyright (c) 2011, Intel Corp. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + his list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +16) License Notice for Unicode Data +----------------------------------- + +Copyright © 1991-2015 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, +(b) this copyright and permission notice appear in associated +documentation, and +(c) there is clear notice in each modified Data File or in the Software +as well as in the documentation associated with the Data File(s) or +Software that the data or software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +17 ) License Notice for Valgrind.h +---------------------------------- + +---------------------------------------------------------------- + +Notice that the following BSD-style license applies to this one +file (valgrind.h) only. The rest of Valgrind is licensed under the +terms of the GNU General Public License, version 2, unless +otherwise indicated. See the COPYING file in the source +distribution for details. + +---------------------------------------------------------------- + +This file is part of Valgrind, a dynamic binary instrumentation +framework. + +Copyright (C) 2000-2015 Julian Seward. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + +3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------- + +Notice that the above BSD-style license applies to this one file +(valgrind.h) only. The entire rest of Valgrind is licensed under +the terms of the GNU General Public License, version 2. See the +COPYING file in the source distribution for details. + +---------------------------------------------------------------- + +18) License notice for ICU4C +---------------------------- + +ICU License - ICU 1.8.1 and later + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2016 International Business Machines Corporation and others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + + +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. + +--------------------- + +Third-Party Software Licenses + +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. + +1. Unicode Data Files and Software + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 1991-2016 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, +(b) this copyright and permission notice appear in associated +documentation, and +(c) there is clear notice in each modified Data File or in the Software +as well as in the documentation associated with the Data File(s) or +Software that the data or software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + + # The Google Chrome software developed by Google is licensed under + # the BSD license. Other software included in this distribution is + # provided under other licenses, as set forth below. + # + # The BSD License + # http://opensource.org/licenses/bsd-license.php + # Copyright (C) 2006-2008, Google Inc. + # + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, + # this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided with + # the distribution. + # Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # + # The word list in cjdict.txt are generated by combining three word lists + # listed below with further processing for compound word breaking. The + # frequency is generated with an iterative training against Google web + # corpora. + # + # * Libtabe (Chinese) + # - https://sourceforge.net/project/?group_id=1519 + # - Its license terms and conditions are shown below. + # + # * IPADIC (Japanese) + # - http://chasen.aist-nara.ac.jp/chasen/distribution.html + # - Its license terms and conditions are shown below. + # + # ---------COPYING.libtabe ---- BEGIN-------------------- + # + # /* + # * Copyrighy (c) 1999 TaBE Project. + # * Copyright (c) 1999 Pai-Hsiang Hsiao. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the TaBE Project nor the names of its + # * contributors may be used to endorse or promote products derived + # * from this software without specific prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # /* + # * Copyright (c) 1999 Computer Systems and Communication Lab, + # * Institute of Information Science, Academia + # * Sinica. All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the Computer Systems and Communication Lab + # * nor the names of its contributors may be used to endorse or + # * promote products derived from this software without specific + # * prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + # University of Illinois + # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + # + # ---------------COPYING.libtabe-----END-------------------------------- + # + # + # ---------------COPYING.ipadic-----BEGIN------------------------------- + # + # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science + # and Technology. All Rights Reserved. + # + # Use, reproduction, and distribution of this software is permitted. + # Any copy of this software, whether in its original form or modified, + # must include both the above copyright notice and the following + # paragraphs. + # + # Nara Institute of Science and Technology (NAIST), + # the copyright holders, disclaims all warranties with regard to this + # software, including all implied warranties of merchantability and + # fitness, in no event shall NAIST be liable for + # any special, indirect or consequential damages or any damages + # whatsoever resulting from loss of use, data or profits, whether in an + # action of contract, negligence or other tortuous action, arising out + # of or in connection with the use or performance of this software. + # + # A large portion of the dictionary entries + # originate from ICOT Free Software. The following conditions for ICOT + # Free Software applies to the current dictionary as well. + # + # Each User may also freely distribute the Program, whether in its + # original form or modified, to any third party or parties, PROVIDED + # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear + # on, or be attached to, the Program, which is distributed substantially + # in the same form as set out herein and that such intended + # distribution, if actually made, will neither violate or otherwise + # contravene any of the laws and regulations of the countries having + # jurisdiction over the User or the intended distribution itself. + # + # NO WARRANTY + # + # The program was produced on an experimental basis in the course of the + # research and development conducted during the project and is provided + # to users as so produced on an experimental basis. Accordingly, the + # program is provided without any warranty whatsoever, whether express, + # implied, statutory or otherwise. The term "warranty" used herein + # includes, but is not limited to, any warranty of the quality, + # performance, merchantability and fitness for a particular purpose of + # the program and the nonexistence of any infringement or violation of + # any right of any third party. + # + # Each user of the program will agree and understand, and be deemed to + # have agreed and understood, that there is no warranty whatsoever for + # the program and, accordingly, the entire risk arising from or + # otherwise connected with the program is assumed by the user. + # + # Therefore, neither ICOT, the copyright holder, or any other + # organization that participated in or was otherwise related to the + # development of the program and their respective officials, directors, + # officers and other employees shall be held liable for any and all + # damages, including, without limitation, general, special, incidental + # and consequential damages, arising out of or otherwise in connection + # with the use or inability to use the program or any product, material + # or result produced or otherwise obtained by using the program, + # regardless of whether they have been advised of, or otherwise had + # knowledge of, the possibility of such damages at any time during the + # project or thereafter. Each user will be deemed to have agreed to the + # foregoing by his or her commencement of use of the program. The term + # "use" as used herein includes, but is not limited to, the use, + # modification, copying and distribution of the program and the + # production of secondary products from the program. + # + # In the case where the program, whether in its original form or + # modified, was distributed or delivered to or received by a user from + # any person, organization or entity other than ICOT, unless it makes or + # grants independently of ICOT any specific warranty to the user in + # writing, such person, organization or entity, will also be exempted + # from and not be held liable to the user for any such damages as noted + # above as far as the program is concerned. + # + # ---------------COPYING.ipadic-----END---------------------------------- + +3. Lao Word Break Dictionary Data (laodict.txt) + + # Copyright (c) 2013 International Business Machines Corporation + # and others. All Rights Reserved. + # + # Project: http://code.google.com/p/lao-dictionary/ + # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt + # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt + # (copied below) + # + # This file is derived from the above dictionary, with slight + # modifications. + # ---------------------------------------------------------------------- + # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, + # are permitted provided that the following conditions are met: + # + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. Redistributions in + # binary form must reproduce the above copyright notice, this list of + # conditions and the following disclaimer in the documentation and/or + # other materials provided with the distribution. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------- + +4. Burmese Word Break Dictionary Data (burmesedict.txt) + + # Copyright (c) 2014 International Business Machines Corporation + # and others. All Rights Reserved. + # + # This list is part of a project hosted at: + # github.com/kanyawtech/myanmar-karen-word-lists + # + # -------------------------------------------------------------------------- + # Copyright (c) 2013, LeRoy Benjamin Sharon + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: Redistributions of source code must retain the above + # copyright notice, this list of conditions and the following + # disclaimer. Redistributions in binary form must reproduce the + # above copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # + # Neither the name Myanmar Karen Word Lists, nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS + # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # -------------------------------------------------------------------------- + +5. Time Zone Database + + ICU uses the public domain data and code derived from Time Zone +Database for its time zone support. The ownership of the TZ database +is explained in BCP 175: Procedure for Maintaining the Time Zone +Database section 7. + + # 7. Database Ownership + # + # The TZ database itself is not an IETF Contribution or an IETF + # document. Rather it is a pre-existing and regularly updated work + # that is in the public domain, and is intended to remain in the + # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do + # not apply to the TZ Database or contributions that individuals make + # to it. Should any claims be made and substantiated against the TZ + # Database, the organization that is providing the IANA + # Considerations defined in this RFC, under the memorandum of + # understanding with the IETF, currently ICANN, may act in accordance + # with all competent court orders. No ownership claims will be made + # by ICANN or the IETF Trust on the database or the code. Any person + # making a contribution to the database or code waives all rights to + # future claims in that contribution or in the TZ Database. + +19) License notice for timelib +------------------------------ + +The MIT License (MIT) + +Copyright (c) 2015-2017 Derick Rethans +Copyright (c) 2017 MongoDB, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +20) License notice for windows dirent implementation +---------------------------------------------------- + + * Dirent interface for Microsoft Visual Studio + * Version 1.21 + * + * Copyright (C) 2006-2012 Toni Ronkko + * This file is part of dirent. Dirent may be freely distributed + * under the MIT license. For all details and documentation, see + * https://github.com/tronkko/dirent + + + 21) License notice for abseil-cpp +---------------------------- + + Copyright (c) Google Inc. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + 22) License notice for Zstandard +---------------------------- + + BSD License + + For Zstandard software + + Copyright (c) 2016-present, Facebook, Inc. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 23) License notice for ASIO +---------------------------- +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + 24) License notice for MPark.Variant +------------------------------------- +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + 25) License notice for fmt +--------------------------- + +Copyright (c) 2012 - present, Victor Zverovich +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 26) License notice for SafeInt +--------------------------- + +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the MIT License. + +MIT License + +Copyright (c) 2018 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + 27) License Notice for Raft TLA+ Specification +----------------------------------------------- + +https://github.com/ongardie/dissertation/blob/master/LICENSE + +Copyright 2014 Diego Ongaro. + +Some of our TLA+ specifications are based on the Raft TLA+ specification by Diego Ongaro. + +End diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md new file mode 100644 index 000000000..01b6a37e4 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md @@ -0,0 +1,13 @@ +Copyright 2014 MongoDB, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/README.md b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/README.md new file mode 100644 index 000000000..20f3ffe82 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/README.md @@ -0,0 +1,72 @@ +MongoDB Tools +=================================== + + - **bsondump** - _display BSON files in a human-readable format_ + - **mongoimport** - _Convert data from JSON, TSV or CSV and insert them into a collection_ + - **mongoexport** - _Write an existing collection to CSV or JSON format_ + - **mongodump/mongorestore** - _Dump MongoDB backups to disk in .BSON format, or restore them to a live database_ + - **mongostat** - _Monitor live MongoDB servers, replica sets, or sharded clusters_ + - **mongofiles** - _Read, write, delete, or update files in [GridFS](http://docs.mongodb.org/manual/core/gridfs/)_ + - **mongotop** - _Monitor read/write activity on a mongo server_ + + +Report any bugs, improvements, or new feature requests at https://jira.mongodb.org/browse/TOOLS + +Building Tools +--------------- + +We currently build the tools with Go version 1.15. Other Go versions may work but they are untested. + +Using `go get` to directly build the tools will not work. To build them, it's recommended to first clone this repository: + +``` +git clone https://github.com/mongodb/mongo-tools +cd mongo-tools +``` + +Then run `./make build` to build all the tools, placing them in the `bin` directory inside the repository. + +You can also build a subset of the tools using the `-tools` option. For example, `./make build -tools=mongodump,mongorestore` builds only `mongodump` and `mongorestore`. + +To use the build/test scripts in this repository, you **_must_** set GOROOT to your Go root directory. This may depend on how you installed Go. + +``` +export GOROOT=/usr/local/go +``` + +Updating Dependencies +--------------- +Starting with version 100.3.1, the tools use `go mod` to manage dependencies. All dependencies are listed in the `go.mod` file and are directly vendored in the `vendor` directory. + +In order to make changes to dependencies, you first need to change the `go.mod` file. You can manually edit that file to add/update/remove entries, or you can run the following in the repository directory: + +``` +go mod edit -require=@ # for adding or updating a dependency +go mod edit -droprequire= # for removing a dependency +``` + +Then run `go mod vendor -v` to reconstruct the `vendor` directory to match the changed `go.mod` file. + +Optionally, run `go mod tidy -v` to ensure that the `go.mod` file matches the `mongo-tools` source code. + +Contributing +--------------- +See our [Contributor's Guide](CONTRIBUTING.md). + +Documentation +--------------- +See the MongoDB packages [documentation](https://docs.mongodb.org/database-tools/). + +For documentation on older versions of the MongoDB, reference that version of the [MongoDB Server Manual](docs.mongodb.com/manual): + +- [MongoDB 4.2 Tools](https://docs.mongodb.org/v4.2/reference/program) +- [MongoDB 4.0 Tools](https://docs.mongodb.org/v4.0/reference/program) +- [MongoDB 3.6 Tools](https://docs.mongodb.org/v3.6/reference/program) + +Adding New Platforms Support +--------------- +See our [Adding New Platform Support Guide](PLATFORMSUPPORT.md). + +Vendoring the Change into Server Repo +--------------- +See our [Vendor the Change into Server Repo](SERVERVENDORING.md). diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES new file mode 100644 index 000000000..c747d0b8b --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES @@ -0,0 +1,3319 @@ +--------------------------------------------------------------------- +License notice for hashicorp/go-rootcerts +--------------------------------------------------------------------- + +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. "Contributor" + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. "Contributor Version" + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the terms of + a Secondary License. + +1.6. "Executable Form" + + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + + means a work that combines Covered Software with other material, in a + separate file or files, that is not Covered Software. + +1.8. "License" + + means this document. + +1.9. "Licensable" + + means having the right to grant, to the maximum extent possible, whether + at the time of the initial grant or subsequently, any and all of the + rights conveyed by this License. + +1.10. "Modifications" + + means any of the following: + + a. any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. "Patent Claims" of a Contributor + + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the License, + by the making, using, selling, offering for sale, having made, import, + or transfer of either its Contributions or its Contributor Version. + +1.12. "Secondary License" + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. "Source Code Form" + + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of + its Contributions. + + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights to + grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter the + recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, or + limitations of liability) contained within the Source Code Form of the + Covered Software, except that You may alter any license notices to the + extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, + judicial order, or regulation then You must: (a) comply with the terms of + this License to the maximum extent possible; and (b) describe the + limitations and the code they affect. Such description must be placed in a + text file included with all distributions of the Covered Software under + this License. Except to the extent prohibited by statute or regulation, + such description must be sufficiently detailed for a recipient of ordinary + skill to be able to understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing + basis, if such Contributor fails to notify You of the non-compliance by + some reasonable means prior to 60 days after You have come back into + compliance. Moreover, Your grants from a particular Contributor are + reinstated on an ongoing basis if such Contributor notifies You of the + non-compliance by some reasonable means, this is the first time You have + received notice of non-compliance with this License from such + Contributor, and You become compliant prior to 30 days after Your receipt + of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an "as is" basis, + without warranty of any kind, either expressed, implied, or statutory, + including, without limitation, warranties that the Covered Software is free + of defects, merchantable, fit for a particular purpose or non-infringing. + The entire risk as to the quality and performance of the Covered Software + is with You. Should any Covered Software prove defective in any respect, + You (not any Contributor) assume the cost of any necessary servicing, + repair, or correction. This disclaimer of warranty constitutes an essential + part of this License. No use of any Covered Software is authorized under + this License except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from + such party's negligence to the extent applicable law prohibits such + limitation. Some jurisdictions do not allow the exclusion or limitation of + incidental or consequential damages, so this exclusion and limitation may + not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts + of a jurisdiction where the defendant maintains its principal place of + business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. Nothing + in this Section shall prevent a party's ability to bring cross-claims or + counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides that + the language of a contract shall be construed against the drafter shall not + be used to construe this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses If You choose to distribute Source Code Form that is + Incompatible With Secondary Licenses under the terms of this version of + the License, the notice described in Exhibit B of this License must be + attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, +then You may include the notice in a location (such as a LICENSE file in a +relevant directory) where a recipient would be likely to look for such a +notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice + + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. + +--------------------------------------------------------------------- +License notice for JSON and CSV code from github.com/golang/go +--------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/10gen/escaper +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2016 Lucas Morales + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/10gen/llmgo +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/10gen/llmgo/bson +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/10gen/openssl +---------------------------------------------------------------------- + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/3rf/mongo-lint +---------------------------------------------------------------------- + +Copyright (c) 2013 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/go-stack/stack +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2014 Chris Hines + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/golang/snappy +---------------------------------------------------------------------- + +Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/google/gopacket +---------------------------------------------------------------------- + +Copyright (c) 2012 Google, Inc. All rights reserved. +Copyright (c) 2009-2011 Andreas Krennmair. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Andreas Krennmair, Google, nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/gopherjs/gopherjs +---------------------------------------------------------------------- + +Copyright (c) 2013 Richard Musiol. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/howeyc/gopass +---------------------------------------------------------------------- + +Copyright (c) 2012 Chris Howey + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/jessevdk/go-flags +---------------------------------------------------------------------- + +Copyright (c) 2012 Jesse van den Kieboom. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/jtolds/gls +---------------------------------------------------------------------- + +Copyright (c) 2013, Space Monkey, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/mattn/go-runewidth +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2016 Yasuhiro Matsumoto + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/mongodb/mongo-go-driver +---------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/nsf/termbox-go +---------------------------------------------------------------------- + +Copyright (C) 2012 termbox-go authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/patrickmn/go-cache +---------------------------------------------------------------------- + +Copyright (c) 2012-2015 Patrick Mylund Nielsen and the go-cache contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions +---------------------------------------------------------------------- + +Copyright (c) 2015 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/go-render +---------------------------------------------------------------------- + +// Copyright (c) 2015 The Chromium Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/oglematchers +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/oglemock +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/ogletest +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/reqtrace +---------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/goconvey +---------------------------------------------------------------------- + +Copyright (c) 2014 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/goconvey/web/client/resources/fonts/Open_Sans +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/spacemonkeygo/spacelog +---------------------------------------------------------------------- + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/xdg/scram +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/xdg/stringprep +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/youmark/pkcs8 +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2014 youmark + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for golang.org/x/crypto +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for golang.org/x/sync +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for golang.org/x/text +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for gopkg.in/tomb.v2 +---------------------------------------------------------------------- + +tomb - support for clean goroutine termination in Go. + +Copyright (c) 2010-2011 - Gustavo Niemeyer + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt new file mode 100644 index 000000000..4e1383df1 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt @@ -0,0 +1,557 @@ + Server Side Public License + VERSION 1, OCTOBER 16, 2018 + + Copyright © 2018 MongoDB, Inc. + + Everyone is permitted to copy and distribute verbatim copies of this + license document, but changing it is not allowed. + + TERMS AND CONDITIONS + + 0. Definitions. + + “This License” refers to Server Side Public License. + + “Copyright” also means copyright-like laws that apply to other kinds of + works, such as semiconductor masks. + + “The Program” refers to any copyrightable work licensed under this + License. Each licensee is addressed as “you”. “Licensees” and + “recipients” may be individuals or organizations. + + To “modify” a work means to copy from or adapt all or part of the work in + a fashion requiring copyright permission, other than the making of an + exact copy. The resulting work is called a “modified version” of the + earlier work or a work “based on” the earlier work. + + A “covered work” means either the unmodified Program or a work based on + the Program. + + To “propagate” a work means to do anything with it that, without + permission, would make you directly or secondarily liable for + infringement under applicable copyright law, except executing it on a + computer or modifying a private copy. Propagation includes copying, + distribution (with or without modification), making available to the + public, and in some countries other activities as well. + + To “convey” a work means any kind of propagation that enables other + parties to make or receive copies. Mere interaction with a user through a + computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays “Appropriate Legal Notices” to the + extent that it includes a convenient and prominently visible feature that + (1) displays an appropriate copyright notice, and (2) tells the user that + there is no warranty for the work (except to the extent that warranties + are provided), that licensees may convey the work under this License, and + how to view a copy of this License. If the interface presents a list of + user commands or options, such as a menu, a prominent item in the list + meets this criterion. + + 1. Source Code. + + The “source code” for a work means the preferred form of the work for + making modifications to it. “Object code” means any non-source form of a + work. + + A “Standard Interface” means an interface that either is an official + standard defined by a recognized standards body, or, in the case of + interfaces specified for a particular programming language, one that is + widely used among developers working in that language. The “System + Libraries” of an executable work include anything, other than the work as + a whole, that (a) is included in the normal form of packaging a Major + Component, but which is not part of that Major Component, and (b) serves + only to enable use of the work with that Major Component, or to implement + a Standard Interface for which an implementation is available to the + public in source code form. A “Major Component”, in this context, means a + major essential component (kernel, window system, and so on) of the + specific operating system (if any) on which the executable work runs, or + a compiler used to produce the work, or an object code interpreter used + to run it. + + The “Corresponding Source” for a work in object code form means all the + source code needed to generate, install, and (for an executable work) run + the object code and to modify the work, including scripts to control + those activities. However, it does not include the work's System + Libraries, or general-purpose tools or generally available free programs + which are used unmodified in performing those activities but which are + not part of the work. For example, Corresponding Source includes + interface definition files associated with source files for the work, and + the source code for shared libraries and dynamically linked subprograms + that the work is specifically designed to require, such as by intimate + data communication or control flow between those subprograms and other + parts of the work. + + The Corresponding Source need not include anything that users can + regenerate automatically from other parts of the Corresponding Source. + + The Corresponding Source for a work in source code form is that same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of + copyright on the Program, and are irrevocable provided the stated + conditions are met. This License explicitly affirms your unlimited + permission to run the unmodified Program, subject to section 13. The + output from running a covered work is covered by this License only if the + output, given its content, constitutes a covered work. This License + acknowledges your rights of fair use or other equivalent, as provided by + copyright law. Subject to section 13, you may make, run and propagate + covered works that you do not convey, without conditions so long as your + license otherwise remains in force. You may convey covered works to + others for the sole purpose of having them make modifications exclusively + for you, or provide you with facilities for running those works, provided + that you comply with the terms of this License in conveying all + material for which you do not control copyright. Those thus making or + running the covered works for you must do so exclusively on your + behalf, under your direction and control, on terms that prohibit them + from making any copies of your copyrighted material outside their + relationship with you. + + Conveying under any other circumstances is permitted solely under the + conditions stated below. Sublicensing is not allowed; section 10 makes it + unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological + measure under any applicable law fulfilling obligations under article 11 + of the WIPO copyright treaty adopted on 20 December 1996, or similar laws + prohibiting or restricting circumvention of such measures. + + When you convey a covered work, you waive any legal power to forbid + circumvention of technological measures to the extent such circumvention is + effected by exercising rights under this License with respect to the + covered work, and you disclaim any intention to limit operation or + modification of the work as a means of enforcing, against the work's users, + your or third parties' legal rights to forbid circumvention of + technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you + receive it, in any medium, provided that you conspicuously and + appropriately publish on each copy an appropriate copyright notice; keep + intact all notices stating that this License and any non-permissive terms + added in accord with section 7 apply to the code; keep intact all notices + of the absence of any warranty; and give all recipients a copy of this + License along with the Program. You may charge any price or no price for + each copy that you convey, and you may offer support or warranty + protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to + produce it from the Program, in the form of source code under the terms + of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified it, + and giving a relevant date. + + b) The work must carry prominent notices stating that it is released + under this License and any conditions added under section 7. This + requirement modifies the requirement in section 4 to “keep intact all + notices”. + + c) You must license the entire work, as a whole, under this License to + anyone who comes into possession of a copy. This License will therefore + apply, along with any applicable section 7 additional terms, to the + whole of the work, and all its parts, regardless of how they are + packaged. This License gives no permission to license the work in any + other way, but it does not invalidate such permission if you have + separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your work + need not make them do so. + + A compilation of a covered work with other separate and independent + works, which are not by their nature extensions of the covered work, and + which are not combined with it such as to form a larger program, in or on + a volume of a storage or distribution medium, is called an “aggregate” if + the compilation and its resulting copyright are not used to limit the + access or legal rights of the compilation's users beyond what the + individual works permit. Inclusion of a covered work in an aggregate does + not cause this License to apply to the other parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms of + sections 4 and 5, provided that you also convey the machine-readable + Corresponding Source under the terms of this License, in one of these + ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium customarily + used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a written + offer, valid for at least three years and valid for as long as you + offer spare parts or customer support for that product model, to give + anyone who possesses the object code either (1) a copy of the + Corresponding Source for all the software in the product that is + covered by this License, on a durable physical medium customarily used + for software interchange, for a price no more than your reasonable cost + of physically performing this conveying of source, or (2) access to + copy the Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This alternative is + allowed only occasionally and noncommercially, and only if you received + the object code with such an offer, in accord with subsection 6b. + + d) Convey the object code by offering access from a designated place + (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to copy + the object code is a network server, the Corresponding Source may be on + a different server (operated by you or a third party) that supports + equivalent copying facilities, provided you maintain clear directions + next to the object code saying where to find the Corresponding Source. + Regardless of what server hosts the Corresponding Source, you remain + obligated to ensure that it is available for as long as needed to + satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided you + inform other peers where the object code and Corresponding Source of + the work are being offered to the general public at no charge under + subsection 6d. + + A separable portion of the object code, whose source code is excluded + from the Corresponding Source as a System Library, need not be included + in conveying the object code work. + + A “User Product” is either (1) a “consumer product”, which means any + tangible personal property which is normally used for personal, family, + or household purposes, or (2) anything designed or sold for incorporation + into a dwelling. In determining whether a product is a consumer product, + doubtful cases shall be resolved in favor of coverage. For a particular + product received by a particular user, “normally used” refers to a + typical or common use of that class of product, regardless of the status + of the particular user or of the way in which the particular user + actually uses, or expects or is expected to use, the product. A product + is a consumer product regardless of whether the product has substantial + commercial, industrial or non-consumer uses, unless such uses represent + the only significant mode of use of the product. + + “Installation Information” for a User Product means any methods, + procedures, authorization keys, or other information required to install + and execute modified versions of a covered work in that User Product from + a modified version of its Corresponding Source. The information must + suffice to ensure that the continued functioning of the modified object + code is in no case prevented or interfered with solely because + modification has been made. + + If you convey an object code work under this section in, or with, or + specifically for use in, a User Product, and the conveying occurs as part + of a transaction in which the right of possession and use of the User + Product is transferred to the recipient in perpetuity or for a fixed term + (regardless of how the transaction is characterized), the Corresponding + Source conveyed under this section must be accompanied by the + Installation Information. But this requirement does not apply if neither + you nor any third party retains the ability to install modified object + code on the User Product (for example, the work has been installed in + ROM). + + The requirement to provide Installation Information does not include a + requirement to continue to provide support service, warranty, or updates + for a work that has been modified or installed by the recipient, or for + the User Product in which it has been modified or installed. Access + to a network may be denied when the modification itself materially + and adversely affects the operation of the network or violates the + rules and protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, in + accord with this section must be in a format that is publicly documented + (and with an implementation available to the public in source code form), + and must require no special password or key for unpacking, reading or + copying. + + 7. Additional Terms. + + “Additional permissions” are terms that supplement the terms of this + License by making exceptions from one or more of its conditions. + Additional permissions that are applicable to the entire Program shall be + treated as though they were included in this License, to the extent that + they are valid under applicable law. If additional permissions apply only + to part of the Program, that part may be used separately under those + permissions, but the entire Program remains governed by this License + without regard to the additional permissions. When you convey a copy of + a covered work, you may at your option remove any additional permissions + from that copy, or from any part of it. (Additional permissions may be + written to require their own removal in certain cases when you modify the + work.) You may place additional permissions on material, added by you to + a covered work, for which you have or can give appropriate copyright + permission. + + Notwithstanding any other provision of this License, for material you add + to a covered work, you may (if authorized by the copyright holders of + that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some trade + names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that material + by anyone who conveys the material (or modified versions of it) with + contractual assumptions of liability to the recipient, for any + liability that these contractual assumptions directly impose on those + licensors and authors. + + All other non-permissive additional terms are considered “further + restrictions” within the meaning of section 10. If the Program as you + received it, or any part of it, contains a notice stating that it is + governed by this License along with a term that is a further restriction, + you may remove that term. If a license document contains a further + restriction but permits relicensing or conveying under this License, you + may add to a covered work material governed by the terms of that license + document, provided that the further restriction does not survive such + relicensing or conveying. + + If you add terms to a covered work in accord with this section, you must + place, in the relevant source files, a statement of the additional terms + that apply to those files, or a notice indicating where to find the + applicable terms. Additional terms, permissive or non-permissive, may be + stated in the form of a separately written license, or stated as + exceptions; the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly + provided under this License. Any attempt otherwise to propagate or modify + it is void, and will automatically terminate your rights under this + License (including any patent licenses granted under the third paragraph + of section 11). + + However, if you cease all violation of this License, then your license + from a particular copyright holder is reinstated (a) provisionally, + unless and until the copyright holder explicitly and finally terminates + your license, and (b) permanently, if the copyright holder fails to + notify you of the violation by some reasonable means prior to 60 days + after the cessation. + + Moreover, your license from a particular copyright holder is reinstated + permanently if the copyright holder notifies you of the violation by some + reasonable means, this is the first time you have received notice of + violation of this License (for any work) from that copyright holder, and + you cure the violation prior to 30 days after your receipt of the notice. + + Termination of your rights under this section does not terminate the + licenses of parties who have received copies or rights from you under + this License. If your rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses for the same + material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or run a + copy of the Program. Ancillary propagation of a covered work occurring + solely as a consequence of using peer-to-peer transmission to receive a + copy likewise does not require acceptance. However, nothing other than + this License grants you permission to propagate or modify any covered + work. These actions infringe copyright if you do not accept this License. + Therefore, by modifying or propagating a covered work, you indicate your + acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically receives + a license from the original licensors, to run, modify and propagate that + work, subject to this License. You are not responsible for enforcing + compliance by third parties with this License. + + An “entity transaction” is a transaction transferring control of an + organization, or substantially all assets of one, or subdividing an + organization, or merging organizations. If propagation of a covered work + results from an entity transaction, each party to that transaction who + receives a copy of the work also receives whatever licenses to the work + the party's predecessor in interest had or could give under the previous + paragraph, plus a right to possession of the Corresponding Source of the + work from the predecessor in interest, if the predecessor has it or can + get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the rights + granted or affirmed under this License. For example, you may not impose a + license fee, royalty, or other charge for exercise of rights granted + under this License, and you may not initiate litigation (including a + cross-claim or counterclaim in a lawsuit) alleging that any patent claim + is infringed by making, using, selling, offering for sale, or importing + the Program or any portion of it. + + 11. Patents. + + A “contributor” is a copyright holder who authorizes use under this + License of the Program or a work on which the Program is based. The work + thus licensed is called the contributor's “contributor version”. + + A contributor's “essential patent claims” are all patent claims owned or + controlled by the contributor, whether already acquired or hereafter + acquired, that would be infringed by some manner, permitted by this + License, of making, using, or selling its contributor version, but do not + include claims that would be infringed only as a consequence of further + modification of the contributor version. For purposes of this definition, + “control” includes the right to grant patent sublicenses in a manner + consistent with the requirements of this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free + patent license under the contributor's essential patent claims, to make, + use, sell, offer for sale, import and otherwise run, modify and propagate + the contents of its contributor version. + + In the following three paragraphs, a “patent license” is any express + agreement or commitment, however denominated, not to enforce a patent + (such as an express permission to practice a patent or covenant not to + sue for patent infringement). To “grant” such a patent license to a party + means to make such an agreement or commitment not to enforce a patent + against the party. + + If you convey a covered work, knowingly relying on a patent license, and + the Corresponding Source of the work is not available for anyone to copy, + free of charge and under the terms of this License, through a publicly + available network server or other readily accessible means, then you must + either (1) cause the Corresponding Source to be so available, or (2) + arrange to deprive yourself of the benefit of the patent license for this + particular work, or (3) arrange, in a manner consistent with the + requirements of this License, to extend the patent license to downstream + recipients. “Knowingly relying” means you have actual knowledge that, but + for the patent license, your conveying the covered work in a country, or + your recipient's use of the covered work in a country, would infringe + one or more identifiable patents in that country that you have reason + to believe are valid. + + If, pursuant to or in connection with a single transaction or + arrangement, you convey, or propagate by procuring conveyance of, a + covered work, and grant a patent license to some of the parties receiving + the covered work authorizing them to use, propagate, modify or convey a + specific copy of the covered work, then the patent license you grant is + automatically extended to all recipients of the covered work and works + based on it. + + A patent license is “discriminatory” if it does not include within the + scope of its coverage, prohibits the exercise of, or is conditioned on + the non-exercise of one or more of the rights that are specifically + granted under this License. You may not convey a covered work if you are + a party to an arrangement with a third party that is in the business of + distributing software, under which you make payment to the third party + based on the extent of your activity of conveying the work, and under + which the third party grants, to any of the parties who would receive the + covered work from you, a discriminatory patent license (a) in connection + with copies of the covered work conveyed by you (or copies made from + those copies), or (b) primarily for and in connection with specific + products or compilations that contain the covered work, unless you + entered into that arrangement, or that patent license was granted, prior + to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting any + implied license or other defenses to infringement that may otherwise be + available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot use, + propagate or convey a covered work so as to satisfy simultaneously your + obligations under this License and any other pertinent obligations, then + as a consequence you may not use, propagate or convey it at all. For + example, if you agree to terms that obligate you to collect a royalty for + further conveying from those to whom you convey the Program, the only way + you could satisfy both those terms and this License would be to refrain + entirely from conveying the Program. + + 13. Offering the Program as a Service. + + If you make the functionality of the Program or a modified version + available to third parties as a service, you must make the Service Source + Code available via network download to everyone at no charge, under the + terms of this License. Making the functionality of the Program or + modified version available to third parties as a service includes, + without limitation, enabling third parties to interact with the + functionality of the Program or modified version remotely through a + computer network, offering a service the value of which entirely or + primarily derives from the value of the Program or modified version, or + offering a service that accomplishes for users the primary purpose of the + Program or modified version. + + “Service Source Code” means the Corresponding Source for the Program or + the modified version, and the Corresponding Source for all programs that + you use to make the Program or modified version available as a service, + including, without limitation, management software, user interfaces, + application program interfaces, automation software, monitoring software, + backup software, storage software and hosting software, all such that a + user could run an instance of the service using the Service Source Code + you make available. + + 14. Revised Versions of this License. + + MongoDB, Inc. may publish revised and/or new versions of the Server Side + Public License from time to time. Such new versions will be similar in + spirit to the present version, but may differ in detail to address new + problems or concerns. + + Each version is given a distinguishing version number. If the Program + specifies that a certain numbered version of the Server Side Public + License “or any later version” applies to it, you have the option of + following the terms and conditions either of that numbered version or of + any later version published by MongoDB, Inc. If the Program does not + specify a version number of the Server Side Public License, you may + choose any version ever published by MongoDB, Inc. + + If the Program specifies that a proxy can decide which future versions of + the Server Side Public License can be used, that proxy's public statement + of acceptance of a version permanently authorizes you to choose that + version for the Program. + + Later license versions may give you additional or different permissions. + However, no additional obligations are imposed on any author or copyright + holder as a result of your choosing to follow a later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY + APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY + OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM + IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF + ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS + THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING + ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF + THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO + LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU + OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER + PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided above + cannot be given local legal effect according to their terms, reviewing + courts shall apply local law that most closely approximates an absolute + waiver of all civil liability in connection with the Program, unless a + warranty or assumption of liability accompanies a copy of the Program in + return for a fee. + + END OF TERMS AND CONDITIONS diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/MPL-2 b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/MPL-2 new file mode 100644 index 000000000..14e2f777f --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/MPL-2 @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/README b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/README new file mode 100644 index 000000000..fe759d193 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/README @@ -0,0 +1,87 @@ +MongoDB README + +Welcome to MongoDB! + +COMPONENTS + + mongod - The database server. + mongos - Sharding router. + mongo - The database shell (uses interactive javascript). + +UTILITIES + + install_compass - Installs MongoDB Compass for your platform. + +BUILDING + + See docs/building.md. + +RUNNING + + For command line options invoke: + + $ ./mongod --help + + To run a single server database: + + $ sudo mkdir -p /data/db + $ ./mongod + $ + $ # The mongo javascript shell connects to localhost and test database by default: + $ ./mongo + > help + +INSTALLING COMPASS + + You can install compass using the install_compass script packaged with MongoDB: + + $ ./install_compass + + This will download the appropriate MongoDB Compass package for your platform + and install it. + +DRIVERS + + Client drivers for most programming languages are available at + https://docs.mongodb.com/manual/applications/drivers/. Use the shell + ("mongo") for administrative tasks. + +BUG REPORTS + + See https://github.com/mongodb/mongo/wiki/Submit-Bug-Reports. + +PACKAGING + + Packages are created dynamically by the package.py script located in the + buildscripts directory. This will generate RPM and Debian packages. + +DOCUMENTATION + + https://docs.mongodb.com/manual/ + +CLOUD HOSTED MONGODB + + https://www.mongodb.com/cloud/atlas + +FORUMS + + https://community.mongodb.com + + A forum for technical questions about using MongoDB. + + https://community.mongodb.com/c/server-dev + + A forum for technical questions about building and developing MongoDB. + +LEARN MONGODB + + https://university.mongodb.com/ + +LICENSE + + MongoDB is free and open-source. Versions released prior to October 16, + 2018 are published under the AGPL. All versions released after October + 16, 2018, including patch fixes for prior versions, are published under + the Server Side Public License (SSPL) v1. See individual files for + details. + diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES new file mode 100644 index 000000000..34fb82302 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES @@ -0,0 +1,1568 @@ +MongoDB uses third-party libraries or other resources that may +be distributed under licenses different than the MongoDB software. + +In the event that we accidentally failed to list a required notice, +please bring it to our attention through any of the ways detailed here : + + mongodb-dev@googlegroups.com + +The attached notices are provided for information only. + +For any licenses that require disclosure of source, sources are available at +https://github.com/mongodb/mongo. + + +1) License Notice for Boost +--------------------------- + +http://www.boost.org/LICENSE_1_0.txt + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +3) License Notice for PCRE +-------------------------- + +http://www.pcre.org/licence.txt + +PCRE LICENCE +------------ + +PCRE is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + +Release 7 of PCRE is distributed under the terms of the "BSD" licence, as +specified below. The documentation for PCRE, supplied in the "doc" +directory, is distributed under the same terms as the software itself. + +The basic library functions are written in C and are freestanding. Also +included in the distribution is a set of C++ wrapper functions. + + +THE BASIC LIBRARY FUNCTIONS +--------------------------- + +Written by: Philip Hazel +Email local part: ph10 +Email domain: cam.ac.uk + +University of Cambridge Computing Service, +Cambridge, England. + +Copyright (c) 1997-2008 University of Cambridge +All rights reserved. + + +THE C++ WRAPPER FUNCTIONS +------------------------- + +Contributed by: Google Inc. + +Copyright (c) 2007-2008, Google Inc. +All rights reserved. + + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +4) License notice for Aladdin MD5 +--------------------------------- + +Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +L. Peter Deutsch +ghost@aladdin.com + +5) License notice for Snappy - http://code.google.com/p/snappy/ +--------------------------------- + Copyright 2005 and onwards Google Inc. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A light-weight compression algorithm. It is designed for speed of + compression and decompression, rather than for the utmost in space + savings. + + For getting better compression ratios when you are compressing data + with long repeated sequences or compressing data that is similar to + other data, while still compressing fast, you might look at first + using BMDiff and then compressing the output of BMDiff with + Snappy. + +6) License notice for Google Perftools (TCMalloc utility) +--------------------------------- +New BSD License + +Copyright (c) 1998-2006, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the following +conditions are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +7) License notice for Linenoise +------------------------------- + + Copyright (c) 2010, Salvatore Sanfilippo + Copyright (c) 2010, Pieter Noordhuis + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Redis nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +8) License notice for S2 Geometry Library +----------------------------------------- + Copyright 2005 Google Inc. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +9) License notice for MurmurHash +-------------------------------- + + Copyright (c) 2010-2012 Austin Appleby + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +10) License notice for Snowball + Copyright (c) 2001, Dr Martin Porter + All rights reserved. + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +11) License notice for yaml-cpp +------------------------------- + +Copyright (c) 2008 Jesse Beder. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +12) License notice for zlib +--------------------------- + +http://www.zlib.net/zlib_license.html + +zlib.h -- interface of the 'zlib' general purpose compression library +version 1.2.8, April 28th, 2013 + +Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Jean-loup Gailly Mark Adler +jloup@gzip.org madler@alumni.caltech.edu + + +13) License notice for 3rd party software included in the WiredTiger library +---------------------------------------------------------------------------- + +http://source.wiredtiger.com/license.html + +WiredTiger Distribution Files | Copyright Holder | License +----------------------------- | ----------------------------------- | ---------------------- +src/include/bitstring.i | University of California, Berkeley | BSD-3-Clause License +src/include/queue.h | University of California, Berkeley | BSD-3-Clause License +src/os_posix/os_getopt.c | University of California, Berkeley | BSD-3-Clause License +src/support/hash_city.c | Google, Inc. | The MIT License +src/support/hash_fnv.c | Authors | Public Domain + + +Other optional 3rd party software included in the WiredTiger distribution is removed by MongoDB. + + +BSD-3-CLAUSE LICENSE +-------------------- + +http://www.opensource.org/licenses/BSD-3-Clause + +Copyright (c) 1987, 1989, 1991, 1993, 1994 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +THE MIT LICENSE +--------------- + +http://www.opensource.org/licenses/MIT + +Copyright (c) 2011 Google, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +14) License Notice for SpiderMonkey +----------------------------------- + +|------------------------------------------------|------------------|---------------| +| SpiderMonkey Distribution Files | Copyright Holder | License | +|------------------------------------------------|------------------|---------------| +| js/src/jit/shared/AssemblerBuffer-x86-shared.h | Apple, Inc | BSD-2-Clause | +| js/src/jit/shared/BaseAssembler-x86-shared.h | | | +|------------------------------------------------|------------------|---------------| +| js/src/builtin/ | Google, Inc | BSD-3-Clause | +| js/src/irregexp/ | | | +| js/src/jit/arm/ | | | +| js/src/jit/mips/ | | | +| mfbt/double-conversion/ | | | +|------------------------------------------------|------------------|---------------| +| intl/icu/source/common/unicode/ | IBM, Inc | ICU | +|------------------------------------------------|------------------|---------------| +| js/src/asmjs/ | Mozilla, Inc | Apache2 | +|------------------------------------------------|------------------|---------------| +| js/public/ | Mozilla, Inc | MPL2 | +| js/src/ | | | +| mfbt | | | +|------------------------------------------------|------------------|---------------| +| js/src/vm/Unicode.cpp | None | Public Domain | +|------------------------------------------------|------------------|---------------| +| mfbt/lz4.c | Yann Collet | BSD-2-Clause | +| mfbt/lz4.h | | | +|------------------------------------------------|------------------|---------------| + +Other optional 3rd party software included in the SpiderMonkey distribution is removed by MongoDB. + + +Apple, Inc: BSD-2-Clause +------------------------ + +Copyright (C) 2008 Apple Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Google, Inc: BSD-3-Clause +------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +ICU License - ICU 1.8.1 and later +--------------------------------- + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2012 International Business Machines Corporation and +others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, provided that the above copyright notice(s) and this +permission notice appear in all copies of the Software and that both the +above copyright notice(s) and this permission notice appear in supporting +documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization of the +copyright holder. + +All trademarks and registered trademarks mentioned herein are the property +of their respective owners. + + +Mozilla, Inc: Apache 2 +---------------------- + +Copyright 2014 Mozilla Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +Mozilla, Inc: MPL 2 +------------------- + +Copyright 2014 Mozilla Foundation + +This Source Code Form is subject to the terms of the Mozilla Public +License, v. 2.0. If a copy of the MPL was not distributed with this +file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +Public Domain +------------- + +Any copyright is dedicated to the Public Domain. +http://creativecommons.org/licenses/publicdomain/ + + +LZ4: BSD-2-Clause +----------------- + +Copyright (C) 2011-2014, Yann Collet. +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at : +- LZ4 source repository : http://code.google.com/p/lz4/ +- LZ4 public forum : https://groups.google.com/forum/#!forum/lz4c + +15) License Notice for Intel DFP Math Library +--------------------------------------------- + +Copyright (c) 2011, Intel Corp. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + his list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +16) License Notice for Unicode Data +----------------------------------- + +Copyright © 1991-2015 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, +(b) this copyright and permission notice appear in associated +documentation, and +(c) there is clear notice in each modified Data File or in the Software +as well as in the documentation associated with the Data File(s) or +Software that the data or software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +17 ) License Notice for Valgrind.h +---------------------------------- + +---------------------------------------------------------------- + +Notice that the following BSD-style license applies to this one +file (valgrind.h) only. The rest of Valgrind is licensed under the +terms of the GNU General Public License, version 2, unless +otherwise indicated. See the COPYING file in the source +distribution for details. + +---------------------------------------------------------------- + +This file is part of Valgrind, a dynamic binary instrumentation +framework. + +Copyright (C) 2000-2015 Julian Seward. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + +3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------- + +Notice that the above BSD-style license applies to this one file +(valgrind.h) only. The entire rest of Valgrind is licensed under +the terms of the GNU General Public License, version 2. See the +COPYING file in the source distribution for details. + +---------------------------------------------------------------- + +18) License notice for ICU4C +---------------------------- + +ICU License - ICU 1.8.1 and later + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2016 International Business Machines Corporation and others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + + +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. + +--------------------- + +Third-Party Software Licenses + +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. + +1. Unicode Data Files and Software + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 1991-2016 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, +(b) this copyright and permission notice appear in associated +documentation, and +(c) there is clear notice in each modified Data File or in the Software +as well as in the documentation associated with the Data File(s) or +Software that the data or software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + + # The Google Chrome software developed by Google is licensed under + # the BSD license. Other software included in this distribution is + # provided under other licenses, as set forth below. + # + # The BSD License + # http://opensource.org/licenses/bsd-license.php + # Copyright (C) 2006-2008, Google Inc. + # + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, + # this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided with + # the distribution. + # Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # + # The word list in cjdict.txt are generated by combining three word lists + # listed below with further processing for compound word breaking. The + # frequency is generated with an iterative training against Google web + # corpora. + # + # * Libtabe (Chinese) + # - https://sourceforge.net/project/?group_id=1519 + # - Its license terms and conditions are shown below. + # + # * IPADIC (Japanese) + # - http://chasen.aist-nara.ac.jp/chasen/distribution.html + # - Its license terms and conditions are shown below. + # + # ---------COPYING.libtabe ---- BEGIN-------------------- + # + # /* + # * Copyrighy (c) 1999 TaBE Project. + # * Copyright (c) 1999 Pai-Hsiang Hsiao. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the TaBE Project nor the names of its + # * contributors may be used to endorse or promote products derived + # * from this software without specific prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # /* + # * Copyright (c) 1999 Computer Systems and Communication Lab, + # * Institute of Information Science, Academia + # * Sinica. All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the Computer Systems and Communication Lab + # * nor the names of its contributors may be used to endorse or + # * promote products derived from this software without specific + # * prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + # University of Illinois + # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + # + # ---------------COPYING.libtabe-----END-------------------------------- + # + # + # ---------------COPYING.ipadic-----BEGIN------------------------------- + # + # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science + # and Technology. All Rights Reserved. + # + # Use, reproduction, and distribution of this software is permitted. + # Any copy of this software, whether in its original form or modified, + # must include both the above copyright notice and the following + # paragraphs. + # + # Nara Institute of Science and Technology (NAIST), + # the copyright holders, disclaims all warranties with regard to this + # software, including all implied warranties of merchantability and + # fitness, in no event shall NAIST be liable for + # any special, indirect or consequential damages or any damages + # whatsoever resulting from loss of use, data or profits, whether in an + # action of contract, negligence or other tortuous action, arising out + # of or in connection with the use or performance of this software. + # + # A large portion of the dictionary entries + # originate from ICOT Free Software. The following conditions for ICOT + # Free Software applies to the current dictionary as well. + # + # Each User may also freely distribute the Program, whether in its + # original form or modified, to any third party or parties, PROVIDED + # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear + # on, or be attached to, the Program, which is distributed substantially + # in the same form as set out herein and that such intended + # distribution, if actually made, will neither violate or otherwise + # contravene any of the laws and regulations of the countries having + # jurisdiction over the User or the intended distribution itself. + # + # NO WARRANTY + # + # The program was produced on an experimental basis in the course of the + # research and development conducted during the project and is provided + # to users as so produced on an experimental basis. Accordingly, the + # program is provided without any warranty whatsoever, whether express, + # implied, statutory or otherwise. The term "warranty" used herein + # includes, but is not limited to, any warranty of the quality, + # performance, merchantability and fitness for a particular purpose of + # the program and the nonexistence of any infringement or violation of + # any right of any third party. + # + # Each user of the program will agree and understand, and be deemed to + # have agreed and understood, that there is no warranty whatsoever for + # the program and, accordingly, the entire risk arising from or + # otherwise connected with the program is assumed by the user. + # + # Therefore, neither ICOT, the copyright holder, or any other + # organization that participated in or was otherwise related to the + # development of the program and their respective officials, directors, + # officers and other employees shall be held liable for any and all + # damages, including, without limitation, general, special, incidental + # and consequential damages, arising out of or otherwise in connection + # with the use or inability to use the program or any product, material + # or result produced or otherwise obtained by using the program, + # regardless of whether they have been advised of, or otherwise had + # knowledge of, the possibility of such damages at any time during the + # project or thereafter. Each user will be deemed to have agreed to the + # foregoing by his or her commencement of use of the program. The term + # "use" as used herein includes, but is not limited to, the use, + # modification, copying and distribution of the program and the + # production of secondary products from the program. + # + # In the case where the program, whether in its original form or + # modified, was distributed or delivered to or received by a user from + # any person, organization or entity other than ICOT, unless it makes or + # grants independently of ICOT any specific warranty to the user in + # writing, such person, organization or entity, will also be exempted + # from and not be held liable to the user for any such damages as noted + # above as far as the program is concerned. + # + # ---------------COPYING.ipadic-----END---------------------------------- + +3. Lao Word Break Dictionary Data (laodict.txt) + + # Copyright (c) 2013 International Business Machines Corporation + # and others. All Rights Reserved. + # + # Project: http://code.google.com/p/lao-dictionary/ + # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt + # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt + # (copied below) + # + # This file is derived from the above dictionary, with slight + # modifications. + # ---------------------------------------------------------------------- + # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, + # are permitted provided that the following conditions are met: + # + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. Redistributions in + # binary form must reproduce the above copyright notice, this list of + # conditions and the following disclaimer in the documentation and/or + # other materials provided with the distribution. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------- + +4. Burmese Word Break Dictionary Data (burmesedict.txt) + + # Copyright (c) 2014 International Business Machines Corporation + # and others. All Rights Reserved. + # + # This list is part of a project hosted at: + # github.com/kanyawtech/myanmar-karen-word-lists + # + # -------------------------------------------------------------------------- + # Copyright (c) 2013, LeRoy Benjamin Sharon + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: Redistributions of source code must retain the above + # copyright notice, this list of conditions and the following + # disclaimer. Redistributions in binary form must reproduce the + # above copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # + # Neither the name Myanmar Karen Word Lists, nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS + # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # -------------------------------------------------------------------------- + +5. Time Zone Database + + ICU uses the public domain data and code derived from Time Zone +Database for its time zone support. The ownership of the TZ database +is explained in BCP 175: Procedure for Maintaining the Time Zone +Database section 7. + + # 7. Database Ownership + # + # The TZ database itself is not an IETF Contribution or an IETF + # document. Rather it is a pre-existing and regularly updated work + # that is in the public domain, and is intended to remain in the + # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do + # not apply to the TZ Database or contributions that individuals make + # to it. Should any claims be made and substantiated against the TZ + # Database, the organization that is providing the IANA + # Considerations defined in this RFC, under the memorandum of + # understanding with the IETF, currently ICANN, may act in accordance + # with all competent court orders. No ownership claims will be made + # by ICANN or the IETF Trust on the database or the code. Any person + # making a contribution to the database or code waives all rights to + # future claims in that contribution or in the TZ Database. + +19) License notice for timelib +------------------------------ + +The MIT License (MIT) + +Copyright (c) 2015-2017 Derick Rethans +Copyright (c) 2017 MongoDB, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +20) License notice for windows dirent implementation +---------------------------------------------------- + + * Dirent interface for Microsoft Visual Studio + * Version 1.21 + * + * Copyright (C) 2006-2012 Toni Ronkko + * This file is part of dirent. Dirent may be freely distributed + * under the MIT license. For all details and documentation, see + * https://github.com/tronkko/dirent + + + 21) License notice for abseil-cpp +---------------------------- + + Copyright (c) Google Inc. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + 22) License notice for Zstandard +---------------------------- + + BSD License + + For Zstandard software + + Copyright (c) 2016-present, Facebook, Inc. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 23) License notice for ASIO +---------------------------- +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + 24) License notice for MPark.Variant +------------------------------------- +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + 25) License notice for fmt +--------------------------- + +Copyright (c) 2012 - present, Victor Zverovich +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 26) License notice for SafeInt +--------------------------- + +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the MIT License. + +MIT License + +Copyright (c) 2018 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + 27) License Notice for Raft TLA+ Specification +----------------------------------------------- + +https://github.com/ongardie/dissertation/blob/master/LICENSE + +Copyright 2014 Diego Ongaro. + +Some of our TLA+ specifications are based on the Raft TLA+ specification by Diego Ongaro. + +End diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md new file mode 100644 index 000000000..01b6a37e4 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md @@ -0,0 +1,13 @@ +Copyright 2014 MongoDB, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/README.md b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/README.md new file mode 100644 index 000000000..20f3ffe82 --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/README.md @@ -0,0 +1,72 @@ +MongoDB Tools +=================================== + + - **bsondump** - _display BSON files in a human-readable format_ + - **mongoimport** - _Convert data from JSON, TSV or CSV and insert them into a collection_ + - **mongoexport** - _Write an existing collection to CSV or JSON format_ + - **mongodump/mongorestore** - _Dump MongoDB backups to disk in .BSON format, or restore them to a live database_ + - **mongostat** - _Monitor live MongoDB servers, replica sets, or sharded clusters_ + - **mongofiles** - _Read, write, delete, or update files in [GridFS](http://docs.mongodb.org/manual/core/gridfs/)_ + - **mongotop** - _Monitor read/write activity on a mongo server_ + + +Report any bugs, improvements, or new feature requests at https://jira.mongodb.org/browse/TOOLS + +Building Tools +--------------- + +We currently build the tools with Go version 1.15. Other Go versions may work but they are untested. + +Using `go get` to directly build the tools will not work. To build them, it's recommended to first clone this repository: + +``` +git clone https://github.com/mongodb/mongo-tools +cd mongo-tools +``` + +Then run `./make build` to build all the tools, placing them in the `bin` directory inside the repository. + +You can also build a subset of the tools using the `-tools` option. For example, `./make build -tools=mongodump,mongorestore` builds only `mongodump` and `mongorestore`. + +To use the build/test scripts in this repository, you **_must_** set GOROOT to your Go root directory. This may depend on how you installed Go. + +``` +export GOROOT=/usr/local/go +``` + +Updating Dependencies +--------------- +Starting with version 100.3.1, the tools use `go mod` to manage dependencies. All dependencies are listed in the `go.mod` file and are directly vendored in the `vendor` directory. + +In order to make changes to dependencies, you first need to change the `go.mod` file. You can manually edit that file to add/update/remove entries, or you can run the following in the repository directory: + +``` +go mod edit -require=@ # for adding or updating a dependency +go mod edit -droprequire= # for removing a dependency +``` + +Then run `go mod vendor -v` to reconstruct the `vendor` directory to match the changed `go.mod` file. + +Optionally, run `go mod tidy -v` to ensure that the `go.mod` file matches the `mongo-tools` source code. + +Contributing +--------------- +See our [Contributor's Guide](CONTRIBUTING.md). + +Documentation +--------------- +See the MongoDB packages [documentation](https://docs.mongodb.org/database-tools/). + +For documentation on older versions of the MongoDB, reference that version of the [MongoDB Server Manual](docs.mongodb.com/manual): + +- [MongoDB 4.2 Tools](https://docs.mongodb.org/v4.2/reference/program) +- [MongoDB 4.0 Tools](https://docs.mongodb.org/v4.0/reference/program) +- [MongoDB 3.6 Tools](https://docs.mongodb.org/v3.6/reference/program) + +Adding New Platforms Support +--------------- +See our [Adding New Platform Support Guide](PLATFORMSUPPORT.md). + +Vendoring the Change into Server Repo +--------------- +See our [Vendor the Change into Server Repo](SERVERVENDORING.md). diff --git a/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES new file mode 100644 index 000000000..c747d0b8b --- /dev/null +++ b/local-nuget/mongo2go/3.1.3/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES @@ -0,0 +1,3319 @@ +--------------------------------------------------------------------- +License notice for hashicorp/go-rootcerts +--------------------------------------------------------------------- + +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. "Contributor" + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. "Contributor Version" + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the terms of + a Secondary License. + +1.6. "Executable Form" + + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + + means a work that combines Covered Software with other material, in a + separate file or files, that is not Covered Software. + +1.8. "License" + + means this document. + +1.9. "Licensable" + + means having the right to grant, to the maximum extent possible, whether + at the time of the initial grant or subsequently, any and all of the + rights conveyed by this License. + +1.10. "Modifications" + + means any of the following: + + a. any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. "Patent Claims" of a Contributor + + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the License, + by the making, using, selling, offering for sale, having made, import, + or transfer of either its Contributions or its Contributor Version. + +1.12. "Secondary License" + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. "Source Code Form" + + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of + its Contributions. + + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights to + grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter the + recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, or + limitations of liability) contained within the Source Code Form of the + Covered Software, except that You may alter any license notices to the + extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, + judicial order, or regulation then You must: (a) comply with the terms of + this License to the maximum extent possible; and (b) describe the + limitations and the code they affect. Such description must be placed in a + text file included with all distributions of the Covered Software under + this License. Except to the extent prohibited by statute or regulation, + such description must be sufficiently detailed for a recipient of ordinary + skill to be able to understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing + basis, if such Contributor fails to notify You of the non-compliance by + some reasonable means prior to 60 days after You have come back into + compliance. Moreover, Your grants from a particular Contributor are + reinstated on an ongoing basis if such Contributor notifies You of the + non-compliance by some reasonable means, this is the first time You have + received notice of non-compliance with this License from such + Contributor, and You become compliant prior to 30 days after Your receipt + of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an "as is" basis, + without warranty of any kind, either expressed, implied, or statutory, + including, without limitation, warranties that the Covered Software is free + of defects, merchantable, fit for a particular purpose or non-infringing. + The entire risk as to the quality and performance of the Covered Software + is with You. Should any Covered Software prove defective in any respect, + You (not any Contributor) assume the cost of any necessary servicing, + repair, or correction. This disclaimer of warranty constitutes an essential + part of this License. No use of any Covered Software is authorized under + this License except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from + such party's negligence to the extent applicable law prohibits such + limitation. Some jurisdictions do not allow the exclusion or limitation of + incidental or consequential damages, so this exclusion and limitation may + not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts + of a jurisdiction where the defendant maintains its principal place of + business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. Nothing + in this Section shall prevent a party's ability to bring cross-claims or + counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides that + the language of a contract shall be construed against the drafter shall not + be used to construe this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses If You choose to distribute Source Code Form that is + Incompatible With Secondary Licenses under the terms of this version of + the License, the notice described in Exhibit B of this License must be + attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, +then You may include the notice in a location (such as a LICENSE file in a +relevant directory) where a recipient would be likely to look for such a +notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice + + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. + +--------------------------------------------------------------------- +License notice for JSON and CSV code from github.com/golang/go +--------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/10gen/escaper +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2016 Lucas Morales + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/10gen/llmgo +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/10gen/llmgo/bson +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/10gen/openssl +---------------------------------------------------------------------- + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/3rf/mongo-lint +---------------------------------------------------------------------- + +Copyright (c) 2013 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/go-stack/stack +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2014 Chris Hines + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/golang/snappy +---------------------------------------------------------------------- + +Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/google/gopacket +---------------------------------------------------------------------- + +Copyright (c) 2012 Google, Inc. All rights reserved. +Copyright (c) 2009-2011 Andreas Krennmair. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Andreas Krennmair, Google, nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/gopherjs/gopherjs +---------------------------------------------------------------------- + +Copyright (c) 2013 Richard Musiol. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/howeyc/gopass +---------------------------------------------------------------------- + +Copyright (c) 2012 Chris Howey + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/jessevdk/go-flags +---------------------------------------------------------------------- + +Copyright (c) 2012 Jesse van den Kieboom. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/jtolds/gls +---------------------------------------------------------------------- + +Copyright (c) 2013, Space Monkey, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/mattn/go-runewidth +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2016 Yasuhiro Matsumoto + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/mongodb/mongo-go-driver +---------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/nsf/termbox-go +---------------------------------------------------------------------- + +Copyright (C) 2012 termbox-go authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/patrickmn/go-cache +---------------------------------------------------------------------- + +Copyright (c) 2012-2015 Patrick Mylund Nielsen and the go-cache contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions +---------------------------------------------------------------------- + +Copyright (c) 2015 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/go-render +---------------------------------------------------------------------- + +// Copyright (c) 2015 The Chromium Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/oglematchers +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/oglemock +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/ogletest +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/reqtrace +---------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/goconvey +---------------------------------------------------------------------- + +Copyright (c) 2014 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/goconvey/web/client/resources/fonts/Open_Sans +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/spacemonkeygo/spacelog +---------------------------------------------------------------------- + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/xdg/scram +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/xdg/stringprep +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/youmark/pkcs8 +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2014 youmark + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for golang.org/x/crypto +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for golang.org/x/sync +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for golang.org/x/text +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for gopkg.in/tomb.v2 +---------------------------------------------------------------------- + +tomb - support for clean goroutine termination in Go. + +Copyright (c) 2010-2011 - Gustavo Niemeyer + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/local-nuget/mongo2go/4.1.0/.nupkg.metadata b/local-nuget/mongo2go/4.1.0/.nupkg.metadata new file mode 100644 index 000000000..3d38129ce --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "cdLw6D8gv85T5uSpSWaOwtTxa15kEb8Kl6QVdyGB+N7pJC571PP9UcLP3AjHKooFMI5DiBr98zE3gZkGmNiTEQ==", + "source": "/mnt/e/dev/git.stella-ops.org/local-nuget" +} \ No newline at end of file diff --git a/local-nuget/mongo2go/4.1.0/.signature.p7s b/local-nuget/mongo2go/4.1.0/.signature.p7s new file mode 100644 index 000000000..395978090 Binary files /dev/null and b/local-nuget/mongo2go/4.1.0/.signature.p7s differ diff --git a/local-nuget/mongo2go/4.1.0/0g0owdnt.bbd b/local-nuget/mongo2go/4.1.0/0g0owdnt.bbd deleted file mode 100644 index b70b7cbf6..000000000 Binary files a/local-nuget/mongo2go/4.1.0/0g0owdnt.bbd and /dev/null differ diff --git a/local-nuget/mongo2go/4.1.0/Mongo2Go.nuspec b/local-nuget/mongo2go/4.1.0/Mongo2Go.nuspec new file mode 100644 index 000000000..eee10d3bd --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/Mongo2Go.nuspec @@ -0,0 +1,48 @@ + + + + Mongo2Go + 4.1.0 + Johannes Hoppe and many contributors + MIT + https://licenses.nuget.org/MIT + icon.png + https://github.com/Mongo2Go/Mongo2Go + Mongo2Go is a managed wrapper around MongoDB binaries. It targets .NET Framework 4.7.2 and .NET Standard 2.1. +This Nuget package contains the executables of mongod, mongoimport and mongoexport v4.4.4 for Windows, Linux and macOS. + + +Mongo2Go has two use cases: + +1. Providing multiple, temporary and isolated MongoDB databases for integration tests +2. Providing a quick to set up MongoDB database for a local developer environment + https://github.com/Mongo2Go/Mongo2Go/releases + Copyright © 2012-2025 Johannes Hoppe and many ❤️ contributors + MongoDB Mongo unit test integration runner + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/local-nuget/mongo2go/4.1.0/icon.png b/local-nuget/mongo2go/4.1.0/icon.png new file mode 100644 index 000000000..23750b60b Binary files /dev/null and b/local-nuget/mongo2go/4.1.0/icon.png differ diff --git a/local-nuget/mongo2go/4.1.0/lib/net472/Mongo2Go.xml b/local-nuget/mongo2go/4.1.0/lib/net472/Mongo2Go.xml new file mode 100644 index 000000000..9def389dc --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/lib/net472/Mongo2Go.xml @@ -0,0 +1,175 @@ + + + + Mongo2Go + + + + + Absolute path stays unchanged, relative path will be relative to current executing directory (usually the /bin folder) + + + + + Returns and reserves a new port + + + + + Returns the if it is verified that it does not contain any mongod argument already defined by Mongo2Go. + + mongod arguments defined by Mongo2Go + Additional mongod arguments + contains at least one mongod argument already defined by Mongo2Go + A string with the additional mongod arguments + + + + Starts a new process. Process can be killed + + + + + Starts a new process. + + + + + Input File: Absolute path stays unchanged, relative path will be relative to current executing directory (usually the /bin folder) + + + + + Output File: Absolute path stays unchanged, relative path will be relative to current executing directory (usually the /bin folder) + + + + + Structure of a log generated by mongod. Used to deserialize the logs + and pass them to an ILogger. + See: https://docs.mongodb.com/manual/reference/log-messages/#json-log-output-format + Note: "truncated" and "size" are not parsed as we're unsure how to + properly parse and use them. + + + + + Severity of the logs as defined by MongoDB. Mapped to LogLevel + as defined by Microsoft. + D1-D2 mapped to Debug level. D3-D5 mapped Trace level. + + + + + Intention: port numbers won't be assigned twice to avoid connection problems with integration tests + + + + + Returns and reserves a new port + + + + + Reads from Output stream to determine if process is ready + + + + + Send the mongod process logs to .NET's console and debug outputs. + + + + + + Parses and redirects mongod logs to ILogger. + + + + + + + saves about 40 keystrokes + + + + + Populates the template using the provided arguments and the invariant culture + + + + + Populates the template using the provided arguments using the provided formatter + + + + + Mongo2Go main entry point + + + + + State of the current MongoDB instance + + + + + Connections string that should be used to establish a connection the MongoDB instance + + + + + Starts Multiple MongoDB instances with each call + On dispose: kills them and deletes their data directory + + (Optional) If null, mongod logs are wired to .NET's Console and Debug output (provided you haven't added the --quiet additional argument). + If not null, mongod logs are parsed and wired to the provided logger. + Should be used for integration tests + + + + !!! + This method is only used for an internal unit test. Use MongoDbRunner.Start() instead. + But if you find it to be useful (eg. to change every aspect on your own) feel free to implement the interfaces on your own! + + see https://github.com/Mongo2Go/Mongo2Go/issues/41 + + + + Only starts one single MongoDB instance (even on multiple calls), does not kill it, does not delete data + + + Should be used for local debugging only + WARNING: one single instance on one single machine is not a suitable setup for productive environments!!! + + + + + !!! + This method is only used for an internal unit test. Use MongoDbRunner.StartForDebugging() instead. + But if you find it to be useful (eg. to change every aspect on your own) feel free to implement the interfaces on your own! + + see https://github.com/Mongo2Go/Mongo2Go/issues/41 + + + + Executes Mongoimport on the associated MongoDB Instace + + + + + Executes Mongoexport on the associated MongoDB Instace + + + + + usage: local debugging + + + + + usage: integration tests + + + + diff --git a/local-nuget/mongo2go/4.1.0/lib/netstandard2.1/Mongo2Go.xml b/local-nuget/mongo2go/4.1.0/lib/netstandard2.1/Mongo2Go.xml new file mode 100644 index 000000000..9def389dc --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/lib/netstandard2.1/Mongo2Go.xml @@ -0,0 +1,175 @@ + + + + Mongo2Go + + + + + Absolute path stays unchanged, relative path will be relative to current executing directory (usually the /bin folder) + + + + + Returns and reserves a new port + + + + + Returns the if it is verified that it does not contain any mongod argument already defined by Mongo2Go. + + mongod arguments defined by Mongo2Go + Additional mongod arguments + contains at least one mongod argument already defined by Mongo2Go + A string with the additional mongod arguments + + + + Starts a new process. Process can be killed + + + + + Starts a new process. + + + + + Input File: Absolute path stays unchanged, relative path will be relative to current executing directory (usually the /bin folder) + + + + + Output File: Absolute path stays unchanged, relative path will be relative to current executing directory (usually the /bin folder) + + + + + Structure of a log generated by mongod. Used to deserialize the logs + and pass them to an ILogger. + See: https://docs.mongodb.com/manual/reference/log-messages/#json-log-output-format + Note: "truncated" and "size" are not parsed as we're unsure how to + properly parse and use them. + + + + + Severity of the logs as defined by MongoDB. Mapped to LogLevel + as defined by Microsoft. + D1-D2 mapped to Debug level. D3-D5 mapped Trace level. + + + + + Intention: port numbers won't be assigned twice to avoid connection problems with integration tests + + + + + Returns and reserves a new port + + + + + Reads from Output stream to determine if process is ready + + + + + Send the mongod process logs to .NET's console and debug outputs. + + + + + + Parses and redirects mongod logs to ILogger. + + + + + + + saves about 40 keystrokes + + + + + Populates the template using the provided arguments and the invariant culture + + + + + Populates the template using the provided arguments using the provided formatter + + + + + Mongo2Go main entry point + + + + + State of the current MongoDB instance + + + + + Connections string that should be used to establish a connection the MongoDB instance + + + + + Starts Multiple MongoDB instances with each call + On dispose: kills them and deletes their data directory + + (Optional) If null, mongod logs are wired to .NET's Console and Debug output (provided you haven't added the --quiet additional argument). + If not null, mongod logs are parsed and wired to the provided logger. + Should be used for integration tests + + + + !!! + This method is only used for an internal unit test. Use MongoDbRunner.Start() instead. + But if you find it to be useful (eg. to change every aspect on your own) feel free to implement the interfaces on your own! + + see https://github.com/Mongo2Go/Mongo2Go/issues/41 + + + + Only starts one single MongoDB instance (even on multiple calls), does not kill it, does not delete data + + + Should be used for local debugging only + WARNING: one single instance on one single machine is not a suitable setup for productive environments!!! + + + + + !!! + This method is only used for an internal unit test. Use MongoDbRunner.StartForDebugging() instead. + But if you find it to be useful (eg. to change every aspect on your own) feel free to implement the interfaces on your own! + + see https://github.com/Mongo2Go/Mongo2Go/issues/41 + + + + Executes Mongoimport on the associated MongoDB Instace + + + + + Executes Mongoexport on the associated MongoDB Instace + + + + + usage: local debugging + + + + + usage: integration tests + + + + diff --git a/local-nuget/mongo2go/4.1.0/mongo2go.4.1.0.nupkg b/local-nuget/mongo2go/4.1.0/mongo2go.4.1.0.nupkg new file mode 100644 index 000000000..9ab6b1df8 Binary files /dev/null and b/local-nuget/mongo2go/4.1.0/mongo2go.4.1.0.nupkg differ diff --git a/local-nuget/mongo2go/4.1.0/mongo2go.4.1.0.nupkg.sha512 b/local-nuget/mongo2go/4.1.0/mongo2go.4.1.0.nupkg.sha512 new file mode 100644 index 000000000..906a79f31 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/mongo2go.4.1.0.nupkg.sha512 @@ -0,0 +1 @@ +QZRRho3Xix8f15TLBb9u1CGi7H3YigrKqKknNfPvjEoCDAGG465Gm4mRNfn03clzwQMx1X5d82lOJyFPwLE3+g== \ No newline at end of file diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt new file mode 100644 index 000000000..4e1383df1 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt @@ -0,0 +1,557 @@ + Server Side Public License + VERSION 1, OCTOBER 16, 2018 + + Copyright © 2018 MongoDB, Inc. + + Everyone is permitted to copy and distribute verbatim copies of this + license document, but changing it is not allowed. + + TERMS AND CONDITIONS + + 0. Definitions. + + “This License” refers to Server Side Public License. + + “Copyright” also means copyright-like laws that apply to other kinds of + works, such as semiconductor masks. + + “The Program” refers to any copyrightable work licensed under this + License. Each licensee is addressed as “you”. “Licensees” and + “recipients” may be individuals or organizations. + + To “modify” a work means to copy from or adapt all or part of the work in + a fashion requiring copyright permission, other than the making of an + exact copy. The resulting work is called a “modified version” of the + earlier work or a work “based on” the earlier work. + + A “covered work” means either the unmodified Program or a work based on + the Program. + + To “propagate” a work means to do anything with it that, without + permission, would make you directly or secondarily liable for + infringement under applicable copyright law, except executing it on a + computer or modifying a private copy. Propagation includes copying, + distribution (with or without modification), making available to the + public, and in some countries other activities as well. + + To “convey” a work means any kind of propagation that enables other + parties to make or receive copies. Mere interaction with a user through a + computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays “Appropriate Legal Notices” to the + extent that it includes a convenient and prominently visible feature that + (1) displays an appropriate copyright notice, and (2) tells the user that + there is no warranty for the work (except to the extent that warranties + are provided), that licensees may convey the work under this License, and + how to view a copy of this License. If the interface presents a list of + user commands or options, such as a menu, a prominent item in the list + meets this criterion. + + 1. Source Code. + + The “source code” for a work means the preferred form of the work for + making modifications to it. “Object code” means any non-source form of a + work. + + A “Standard Interface” means an interface that either is an official + standard defined by a recognized standards body, or, in the case of + interfaces specified for a particular programming language, one that is + widely used among developers working in that language. The “System + Libraries” of an executable work include anything, other than the work as + a whole, that (a) is included in the normal form of packaging a Major + Component, but which is not part of that Major Component, and (b) serves + only to enable use of the work with that Major Component, or to implement + a Standard Interface for which an implementation is available to the + public in source code form. A “Major Component”, in this context, means a + major essential component (kernel, window system, and so on) of the + specific operating system (if any) on which the executable work runs, or + a compiler used to produce the work, or an object code interpreter used + to run it. + + The “Corresponding Source” for a work in object code form means all the + source code needed to generate, install, and (for an executable work) run + the object code and to modify the work, including scripts to control + those activities. However, it does not include the work's System + Libraries, or general-purpose tools or generally available free programs + which are used unmodified in performing those activities but which are + not part of the work. For example, Corresponding Source includes + interface definition files associated with source files for the work, and + the source code for shared libraries and dynamically linked subprograms + that the work is specifically designed to require, such as by intimate + data communication or control flow between those subprograms and other + parts of the work. + + The Corresponding Source need not include anything that users can + regenerate automatically from other parts of the Corresponding Source. + + The Corresponding Source for a work in source code form is that same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of + copyright on the Program, and are irrevocable provided the stated + conditions are met. This License explicitly affirms your unlimited + permission to run the unmodified Program, subject to section 13. The + output from running a covered work is covered by this License only if the + output, given its content, constitutes a covered work. This License + acknowledges your rights of fair use or other equivalent, as provided by + copyright law. Subject to section 13, you may make, run and propagate + covered works that you do not convey, without conditions so long as your + license otherwise remains in force. You may convey covered works to + others for the sole purpose of having them make modifications exclusively + for you, or provide you with facilities for running those works, provided + that you comply with the terms of this License in conveying all + material for which you do not control copyright. Those thus making or + running the covered works for you must do so exclusively on your + behalf, under your direction and control, on terms that prohibit them + from making any copies of your copyrighted material outside their + relationship with you. + + Conveying under any other circumstances is permitted solely under the + conditions stated below. Sublicensing is not allowed; section 10 makes it + unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological + measure under any applicable law fulfilling obligations under article 11 + of the WIPO copyright treaty adopted on 20 December 1996, or similar laws + prohibiting or restricting circumvention of such measures. + + When you convey a covered work, you waive any legal power to forbid + circumvention of technological measures to the extent such circumvention is + effected by exercising rights under this License with respect to the + covered work, and you disclaim any intention to limit operation or + modification of the work as a means of enforcing, against the work's users, + your or third parties' legal rights to forbid circumvention of + technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you + receive it, in any medium, provided that you conspicuously and + appropriately publish on each copy an appropriate copyright notice; keep + intact all notices stating that this License and any non-permissive terms + added in accord with section 7 apply to the code; keep intact all notices + of the absence of any warranty; and give all recipients a copy of this + License along with the Program. You may charge any price or no price for + each copy that you convey, and you may offer support or warranty + protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to + produce it from the Program, in the form of source code under the terms + of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified it, + and giving a relevant date. + + b) The work must carry prominent notices stating that it is released + under this License and any conditions added under section 7. This + requirement modifies the requirement in section 4 to “keep intact all + notices”. + + c) You must license the entire work, as a whole, under this License to + anyone who comes into possession of a copy. This License will therefore + apply, along with any applicable section 7 additional terms, to the + whole of the work, and all its parts, regardless of how they are + packaged. This License gives no permission to license the work in any + other way, but it does not invalidate such permission if you have + separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your work + need not make them do so. + + A compilation of a covered work with other separate and independent + works, which are not by their nature extensions of the covered work, and + which are not combined with it such as to form a larger program, in or on + a volume of a storage or distribution medium, is called an “aggregate” if + the compilation and its resulting copyright are not used to limit the + access or legal rights of the compilation's users beyond what the + individual works permit. Inclusion of a covered work in an aggregate does + not cause this License to apply to the other parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms of + sections 4 and 5, provided that you also convey the machine-readable + Corresponding Source under the terms of this License, in one of these + ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium customarily + used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a written + offer, valid for at least three years and valid for as long as you + offer spare parts or customer support for that product model, to give + anyone who possesses the object code either (1) a copy of the + Corresponding Source for all the software in the product that is + covered by this License, on a durable physical medium customarily used + for software interchange, for a price no more than your reasonable cost + of physically performing this conveying of source, or (2) access to + copy the Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This alternative is + allowed only occasionally and noncommercially, and only if you received + the object code with such an offer, in accord with subsection 6b. + + d) Convey the object code by offering access from a designated place + (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to copy + the object code is a network server, the Corresponding Source may be on + a different server (operated by you or a third party) that supports + equivalent copying facilities, provided you maintain clear directions + next to the object code saying where to find the Corresponding Source. + Regardless of what server hosts the Corresponding Source, you remain + obligated to ensure that it is available for as long as needed to + satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided you + inform other peers where the object code and Corresponding Source of + the work are being offered to the general public at no charge under + subsection 6d. + + A separable portion of the object code, whose source code is excluded + from the Corresponding Source as a System Library, need not be included + in conveying the object code work. + + A “User Product” is either (1) a “consumer product”, which means any + tangible personal property which is normally used for personal, family, + or household purposes, or (2) anything designed or sold for incorporation + into a dwelling. In determining whether a product is a consumer product, + doubtful cases shall be resolved in favor of coverage. For a particular + product received by a particular user, “normally used” refers to a + typical or common use of that class of product, regardless of the status + of the particular user or of the way in which the particular user + actually uses, or expects or is expected to use, the product. A product + is a consumer product regardless of whether the product has substantial + commercial, industrial or non-consumer uses, unless such uses represent + the only significant mode of use of the product. + + “Installation Information” for a User Product means any methods, + procedures, authorization keys, or other information required to install + and execute modified versions of a covered work in that User Product from + a modified version of its Corresponding Source. The information must + suffice to ensure that the continued functioning of the modified object + code is in no case prevented or interfered with solely because + modification has been made. + + If you convey an object code work under this section in, or with, or + specifically for use in, a User Product, and the conveying occurs as part + of a transaction in which the right of possession and use of the User + Product is transferred to the recipient in perpetuity or for a fixed term + (regardless of how the transaction is characterized), the Corresponding + Source conveyed under this section must be accompanied by the + Installation Information. But this requirement does not apply if neither + you nor any third party retains the ability to install modified object + code on the User Product (for example, the work has been installed in + ROM). + + The requirement to provide Installation Information does not include a + requirement to continue to provide support service, warranty, or updates + for a work that has been modified or installed by the recipient, or for + the User Product in which it has been modified or installed. Access + to a network may be denied when the modification itself materially + and adversely affects the operation of the network or violates the + rules and protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, in + accord with this section must be in a format that is publicly documented + (and with an implementation available to the public in source code form), + and must require no special password or key for unpacking, reading or + copying. + + 7. Additional Terms. + + “Additional permissions” are terms that supplement the terms of this + License by making exceptions from one or more of its conditions. + Additional permissions that are applicable to the entire Program shall be + treated as though they were included in this License, to the extent that + they are valid under applicable law. If additional permissions apply only + to part of the Program, that part may be used separately under those + permissions, but the entire Program remains governed by this License + without regard to the additional permissions. When you convey a copy of + a covered work, you may at your option remove any additional permissions + from that copy, or from any part of it. (Additional permissions may be + written to require their own removal in certain cases when you modify the + work.) You may place additional permissions on material, added by you to + a covered work, for which you have or can give appropriate copyright + permission. + + Notwithstanding any other provision of this License, for material you add + to a covered work, you may (if authorized by the copyright holders of + that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some trade + names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that material + by anyone who conveys the material (or modified versions of it) with + contractual assumptions of liability to the recipient, for any + liability that these contractual assumptions directly impose on those + licensors and authors. + + All other non-permissive additional terms are considered “further + restrictions” within the meaning of section 10. If the Program as you + received it, or any part of it, contains a notice stating that it is + governed by this License along with a term that is a further restriction, + you may remove that term. If a license document contains a further + restriction but permits relicensing or conveying under this License, you + may add to a covered work material governed by the terms of that license + document, provided that the further restriction does not survive such + relicensing or conveying. + + If you add terms to a covered work in accord with this section, you must + place, in the relevant source files, a statement of the additional terms + that apply to those files, or a notice indicating where to find the + applicable terms. Additional terms, permissive or non-permissive, may be + stated in the form of a separately written license, or stated as + exceptions; the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly + provided under this License. Any attempt otherwise to propagate or modify + it is void, and will automatically terminate your rights under this + License (including any patent licenses granted under the third paragraph + of section 11). + + However, if you cease all violation of this License, then your license + from a particular copyright holder is reinstated (a) provisionally, + unless and until the copyright holder explicitly and finally terminates + your license, and (b) permanently, if the copyright holder fails to + notify you of the violation by some reasonable means prior to 60 days + after the cessation. + + Moreover, your license from a particular copyright holder is reinstated + permanently if the copyright holder notifies you of the violation by some + reasonable means, this is the first time you have received notice of + violation of this License (for any work) from that copyright holder, and + you cure the violation prior to 30 days after your receipt of the notice. + + Termination of your rights under this section does not terminate the + licenses of parties who have received copies or rights from you under + this License. If your rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses for the same + material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or run a + copy of the Program. Ancillary propagation of a covered work occurring + solely as a consequence of using peer-to-peer transmission to receive a + copy likewise does not require acceptance. However, nothing other than + this License grants you permission to propagate or modify any covered + work. These actions infringe copyright if you do not accept this License. + Therefore, by modifying or propagating a covered work, you indicate your + acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically receives + a license from the original licensors, to run, modify and propagate that + work, subject to this License. You are not responsible for enforcing + compliance by third parties with this License. + + An “entity transaction” is a transaction transferring control of an + organization, or substantially all assets of one, or subdividing an + organization, or merging organizations. If propagation of a covered work + results from an entity transaction, each party to that transaction who + receives a copy of the work also receives whatever licenses to the work + the party's predecessor in interest had or could give under the previous + paragraph, plus a right to possession of the Corresponding Source of the + work from the predecessor in interest, if the predecessor has it or can + get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the rights + granted or affirmed under this License. For example, you may not impose a + license fee, royalty, or other charge for exercise of rights granted + under this License, and you may not initiate litigation (including a + cross-claim or counterclaim in a lawsuit) alleging that any patent claim + is infringed by making, using, selling, offering for sale, or importing + the Program or any portion of it. + + 11. Patents. + + A “contributor” is a copyright holder who authorizes use under this + License of the Program or a work on which the Program is based. The work + thus licensed is called the contributor's “contributor version”. + + A contributor's “essential patent claims” are all patent claims owned or + controlled by the contributor, whether already acquired or hereafter + acquired, that would be infringed by some manner, permitted by this + License, of making, using, or selling its contributor version, but do not + include claims that would be infringed only as a consequence of further + modification of the contributor version. For purposes of this definition, + “control” includes the right to grant patent sublicenses in a manner + consistent with the requirements of this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free + patent license under the contributor's essential patent claims, to make, + use, sell, offer for sale, import and otherwise run, modify and propagate + the contents of its contributor version. + + In the following three paragraphs, a “patent license” is any express + agreement or commitment, however denominated, not to enforce a patent + (such as an express permission to practice a patent or covenant not to + sue for patent infringement). To “grant” such a patent license to a party + means to make such an agreement or commitment not to enforce a patent + against the party. + + If you convey a covered work, knowingly relying on a patent license, and + the Corresponding Source of the work is not available for anyone to copy, + free of charge and under the terms of this License, through a publicly + available network server or other readily accessible means, then you must + either (1) cause the Corresponding Source to be so available, or (2) + arrange to deprive yourself of the benefit of the patent license for this + particular work, or (3) arrange, in a manner consistent with the + requirements of this License, to extend the patent license to downstream + recipients. “Knowingly relying” means you have actual knowledge that, but + for the patent license, your conveying the covered work in a country, or + your recipient's use of the covered work in a country, would infringe + one or more identifiable patents in that country that you have reason + to believe are valid. + + If, pursuant to or in connection with a single transaction or + arrangement, you convey, or propagate by procuring conveyance of, a + covered work, and grant a patent license to some of the parties receiving + the covered work authorizing them to use, propagate, modify or convey a + specific copy of the covered work, then the patent license you grant is + automatically extended to all recipients of the covered work and works + based on it. + + A patent license is “discriminatory” if it does not include within the + scope of its coverage, prohibits the exercise of, or is conditioned on + the non-exercise of one or more of the rights that are specifically + granted under this License. You may not convey a covered work if you are + a party to an arrangement with a third party that is in the business of + distributing software, under which you make payment to the third party + based on the extent of your activity of conveying the work, and under + which the third party grants, to any of the parties who would receive the + covered work from you, a discriminatory patent license (a) in connection + with copies of the covered work conveyed by you (or copies made from + those copies), or (b) primarily for and in connection with specific + products or compilations that contain the covered work, unless you + entered into that arrangement, or that patent license was granted, prior + to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting any + implied license or other defenses to infringement that may otherwise be + available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot use, + propagate or convey a covered work so as to satisfy simultaneously your + obligations under this License and any other pertinent obligations, then + as a consequence you may not use, propagate or convey it at all. For + example, if you agree to terms that obligate you to collect a royalty for + further conveying from those to whom you convey the Program, the only way + you could satisfy both those terms and this License would be to refrain + entirely from conveying the Program. + + 13. Offering the Program as a Service. + + If you make the functionality of the Program or a modified version + available to third parties as a service, you must make the Service Source + Code available via network download to everyone at no charge, under the + terms of this License. Making the functionality of the Program or + modified version available to third parties as a service includes, + without limitation, enabling third parties to interact with the + functionality of the Program or modified version remotely through a + computer network, offering a service the value of which entirely or + primarily derives from the value of the Program or modified version, or + offering a service that accomplishes for users the primary purpose of the + Program or modified version. + + “Service Source Code” means the Corresponding Source for the Program or + the modified version, and the Corresponding Source for all programs that + you use to make the Program or modified version available as a service, + including, without limitation, management software, user interfaces, + application program interfaces, automation software, monitoring software, + backup software, storage software and hosting software, all such that a + user could run an instance of the service using the Service Source Code + you make available. + + 14. Revised Versions of this License. + + MongoDB, Inc. may publish revised and/or new versions of the Server Side + Public License from time to time. Such new versions will be similar in + spirit to the present version, but may differ in detail to address new + problems or concerns. + + Each version is given a distinguishing version number. If the Program + specifies that a certain numbered version of the Server Side Public + License “or any later version” applies to it, you have the option of + following the terms and conditions either of that numbered version or of + any later version published by MongoDB, Inc. If the Program does not + specify a version number of the Server Side Public License, you may + choose any version ever published by MongoDB, Inc. + + If the Program specifies that a proxy can decide which future versions of + the Server Side Public License can be used, that proxy's public statement + of acceptance of a version permanently authorizes you to choose that + version for the Program. + + Later license versions may give you additional or different permissions. + However, no additional obligations are imposed on any author or copyright + holder as a result of your choosing to follow a later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY + APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY + OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM + IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF + ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS + THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING + ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF + THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO + LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU + OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER + PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided above + cannot be given local legal effect according to their terms, reviewing + courts shall apply local law that most closely approximates an absolute + waiver of all civil liability in connection with the Program, unless a + warranty or assumption of liability accompanies a copy of the Program in + return for a fee. + + END OF TERMS AND CONDITIONS diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/MPL-2 b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/MPL-2 new file mode 100644 index 000000000..14e2f777f --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/MPL-2 @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/README b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/README new file mode 100644 index 000000000..fe759d193 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/README @@ -0,0 +1,87 @@ +MongoDB README + +Welcome to MongoDB! + +COMPONENTS + + mongod - The database server. + mongos - Sharding router. + mongo - The database shell (uses interactive javascript). + +UTILITIES + + install_compass - Installs MongoDB Compass for your platform. + +BUILDING + + See docs/building.md. + +RUNNING + + For command line options invoke: + + $ ./mongod --help + + To run a single server database: + + $ sudo mkdir -p /data/db + $ ./mongod + $ + $ # The mongo javascript shell connects to localhost and test database by default: + $ ./mongo + > help + +INSTALLING COMPASS + + You can install compass using the install_compass script packaged with MongoDB: + + $ ./install_compass + + This will download the appropriate MongoDB Compass package for your platform + and install it. + +DRIVERS + + Client drivers for most programming languages are available at + https://docs.mongodb.com/manual/applications/drivers/. Use the shell + ("mongo") for administrative tasks. + +BUG REPORTS + + See https://github.com/mongodb/mongo/wiki/Submit-Bug-Reports. + +PACKAGING + + Packages are created dynamically by the package.py script located in the + buildscripts directory. This will generate RPM and Debian packages. + +DOCUMENTATION + + https://docs.mongodb.com/manual/ + +CLOUD HOSTED MONGODB + + https://www.mongodb.com/cloud/atlas + +FORUMS + + https://community.mongodb.com + + A forum for technical questions about using MongoDB. + + https://community.mongodb.com/c/server-dev + + A forum for technical questions about building and developing MongoDB. + +LEARN MONGODB + + https://university.mongodb.com/ + +LICENSE + + MongoDB is free and open-source. Versions released prior to October 16, + 2018 are published under the AGPL. All versions released after October + 16, 2018, including patch fixes for prior versions, are published under + the Server Side Public License (SSPL) v1. See individual files for + details. + diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES new file mode 100644 index 000000000..34fb82302 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES @@ -0,0 +1,1568 @@ +MongoDB uses third-party libraries or other resources that may +be distributed under licenses different than the MongoDB software. + +In the event that we accidentally failed to list a required notice, +please bring it to our attention through any of the ways detailed here : + + mongodb-dev@googlegroups.com + +The attached notices are provided for information only. + +For any licenses that require disclosure of source, sources are available at +https://github.com/mongodb/mongo. + + +1) License Notice for Boost +--------------------------- + +http://www.boost.org/LICENSE_1_0.txt + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +3) License Notice for PCRE +-------------------------- + +http://www.pcre.org/licence.txt + +PCRE LICENCE +------------ + +PCRE is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + +Release 7 of PCRE is distributed under the terms of the "BSD" licence, as +specified below. The documentation for PCRE, supplied in the "doc" +directory, is distributed under the same terms as the software itself. + +The basic library functions are written in C and are freestanding. Also +included in the distribution is a set of C++ wrapper functions. + + +THE BASIC LIBRARY FUNCTIONS +--------------------------- + +Written by: Philip Hazel +Email local part: ph10 +Email domain: cam.ac.uk + +University of Cambridge Computing Service, +Cambridge, England. + +Copyright (c) 1997-2008 University of Cambridge +All rights reserved. + + +THE C++ WRAPPER FUNCTIONS +------------------------- + +Contributed by: Google Inc. + +Copyright (c) 2007-2008, Google Inc. +All rights reserved. + + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +4) License notice for Aladdin MD5 +--------------------------------- + +Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +L. Peter Deutsch +ghost@aladdin.com + +5) License notice for Snappy - http://code.google.com/p/snappy/ +--------------------------------- + Copyright 2005 and onwards Google Inc. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A light-weight compression algorithm. It is designed for speed of + compression and decompression, rather than for the utmost in space + savings. + + For getting better compression ratios when you are compressing data + with long repeated sequences or compressing data that is similar to + other data, while still compressing fast, you might look at first + using BMDiff and then compressing the output of BMDiff with + Snappy. + +6) License notice for Google Perftools (TCMalloc utility) +--------------------------------- +New BSD License + +Copyright (c) 1998-2006, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the following +conditions are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +7) License notice for Linenoise +------------------------------- + + Copyright (c) 2010, Salvatore Sanfilippo + Copyright (c) 2010, Pieter Noordhuis + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Redis nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +8) License notice for S2 Geometry Library +----------------------------------------- + Copyright 2005 Google Inc. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +9) License notice for MurmurHash +-------------------------------- + + Copyright (c) 2010-2012 Austin Appleby + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +10) License notice for Snowball + Copyright (c) 2001, Dr Martin Porter + All rights reserved. + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +11) License notice for yaml-cpp +------------------------------- + +Copyright (c) 2008 Jesse Beder. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +12) License notice for zlib +--------------------------- + +http://www.zlib.net/zlib_license.html + +zlib.h -- interface of the 'zlib' general purpose compression library +version 1.2.8, April 28th, 2013 + +Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Jean-loup Gailly Mark Adler +jloup@gzip.org madler@alumni.caltech.edu + + +13) License notice for 3rd party software included in the WiredTiger library +---------------------------------------------------------------------------- + +http://source.wiredtiger.com/license.html + +WiredTiger Distribution Files | Copyright Holder | License +----------------------------- | ----------------------------------- | ---------------------- +src/include/bitstring.i | University of California, Berkeley | BSD-3-Clause License +src/include/queue.h | University of California, Berkeley | BSD-3-Clause License +src/os_posix/os_getopt.c | University of California, Berkeley | BSD-3-Clause License +src/support/hash_city.c | Google, Inc. | The MIT License +src/support/hash_fnv.c | Authors | Public Domain + + +Other optional 3rd party software included in the WiredTiger distribution is removed by MongoDB. + + +BSD-3-CLAUSE LICENSE +-------------------- + +http://www.opensource.org/licenses/BSD-3-Clause + +Copyright (c) 1987, 1989, 1991, 1993, 1994 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +THE MIT LICENSE +--------------- + +http://www.opensource.org/licenses/MIT + +Copyright (c) 2011 Google, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +14) License Notice for SpiderMonkey +----------------------------------- + +|------------------------------------------------|------------------|---------------| +| SpiderMonkey Distribution Files | Copyright Holder | License | +|------------------------------------------------|------------------|---------------| +| js/src/jit/shared/AssemblerBuffer-x86-shared.h | Apple, Inc | BSD-2-Clause | +| js/src/jit/shared/BaseAssembler-x86-shared.h | | | +|------------------------------------------------|------------------|---------------| +| js/src/builtin/ | Google, Inc | BSD-3-Clause | +| js/src/irregexp/ | | | +| js/src/jit/arm/ | | | +| js/src/jit/mips/ | | | +| mfbt/double-conversion/ | | | +|------------------------------------------------|------------------|---------------| +| intl/icu/source/common/unicode/ | IBM, Inc | ICU | +|------------------------------------------------|------------------|---------------| +| js/src/asmjs/ | Mozilla, Inc | Apache2 | +|------------------------------------------------|------------------|---------------| +| js/public/ | Mozilla, Inc | MPL2 | +| js/src/ | | | +| mfbt | | | +|------------------------------------------------|------------------|---------------| +| js/src/vm/Unicode.cpp | None | Public Domain | +|------------------------------------------------|------------------|---------------| +| mfbt/lz4.c | Yann Collet | BSD-2-Clause | +| mfbt/lz4.h | | | +|------------------------------------------------|------------------|---------------| + +Other optional 3rd party software included in the SpiderMonkey distribution is removed by MongoDB. + + +Apple, Inc: BSD-2-Clause +------------------------ + +Copyright (C) 2008 Apple Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Google, Inc: BSD-3-Clause +------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +ICU License - ICU 1.8.1 and later +--------------------------------- + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2012 International Business Machines Corporation and +others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, provided that the above copyright notice(s) and this +permission notice appear in all copies of the Software and that both the +above copyright notice(s) and this permission notice appear in supporting +documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization of the +copyright holder. + +All trademarks and registered trademarks mentioned herein are the property +of their respective owners. + + +Mozilla, Inc: Apache 2 +---------------------- + +Copyright 2014 Mozilla Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +Mozilla, Inc: MPL 2 +------------------- + +Copyright 2014 Mozilla Foundation + +This Source Code Form is subject to the terms of the Mozilla Public +License, v. 2.0. If a copy of the MPL was not distributed with this +file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +Public Domain +------------- + +Any copyright is dedicated to the Public Domain. +http://creativecommons.org/licenses/publicdomain/ + + +LZ4: BSD-2-Clause +----------------- + +Copyright (C) 2011-2014, Yann Collet. +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at : +- LZ4 source repository : http://code.google.com/p/lz4/ +- LZ4 public forum : https://groups.google.com/forum/#!forum/lz4c + +15) License Notice for Intel DFP Math Library +--------------------------------------------- + +Copyright (c) 2011, Intel Corp. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + his list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +16) License Notice for Unicode Data +----------------------------------- + +Copyright © 1991-2015 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, +(b) this copyright and permission notice appear in associated +documentation, and +(c) there is clear notice in each modified Data File or in the Software +as well as in the documentation associated with the Data File(s) or +Software that the data or software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +17 ) License Notice for Valgrind.h +---------------------------------- + +---------------------------------------------------------------- + +Notice that the following BSD-style license applies to this one +file (valgrind.h) only. The rest of Valgrind is licensed under the +terms of the GNU General Public License, version 2, unless +otherwise indicated. See the COPYING file in the source +distribution for details. + +---------------------------------------------------------------- + +This file is part of Valgrind, a dynamic binary instrumentation +framework. + +Copyright (C) 2000-2015 Julian Seward. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + +3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------- + +Notice that the above BSD-style license applies to this one file +(valgrind.h) only. The entire rest of Valgrind is licensed under +the terms of the GNU General Public License, version 2. See the +COPYING file in the source distribution for details. + +---------------------------------------------------------------- + +18) License notice for ICU4C +---------------------------- + +ICU License - ICU 1.8.1 and later + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2016 International Business Machines Corporation and others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + + +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. + +--------------------- + +Third-Party Software Licenses + +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. + +1. Unicode Data Files and Software + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 1991-2016 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, +(b) this copyright and permission notice appear in associated +documentation, and +(c) there is clear notice in each modified Data File or in the Software +as well as in the documentation associated with the Data File(s) or +Software that the data or software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + + # The Google Chrome software developed by Google is licensed under + # the BSD license. Other software included in this distribution is + # provided under other licenses, as set forth below. + # + # The BSD License + # http://opensource.org/licenses/bsd-license.php + # Copyright (C) 2006-2008, Google Inc. + # + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, + # this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided with + # the distribution. + # Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # + # The word list in cjdict.txt are generated by combining three word lists + # listed below with further processing for compound word breaking. The + # frequency is generated with an iterative training against Google web + # corpora. + # + # * Libtabe (Chinese) + # - https://sourceforge.net/project/?group_id=1519 + # - Its license terms and conditions are shown below. + # + # * IPADIC (Japanese) + # - http://chasen.aist-nara.ac.jp/chasen/distribution.html + # - Its license terms and conditions are shown below. + # + # ---------COPYING.libtabe ---- BEGIN-------------------- + # + # /* + # * Copyrighy (c) 1999 TaBE Project. + # * Copyright (c) 1999 Pai-Hsiang Hsiao. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the TaBE Project nor the names of its + # * contributors may be used to endorse or promote products derived + # * from this software without specific prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # /* + # * Copyright (c) 1999 Computer Systems and Communication Lab, + # * Institute of Information Science, Academia + # * Sinica. All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the Computer Systems and Communication Lab + # * nor the names of its contributors may be used to endorse or + # * promote products derived from this software without specific + # * prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + # University of Illinois + # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + # + # ---------------COPYING.libtabe-----END-------------------------------- + # + # + # ---------------COPYING.ipadic-----BEGIN------------------------------- + # + # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science + # and Technology. All Rights Reserved. + # + # Use, reproduction, and distribution of this software is permitted. + # Any copy of this software, whether in its original form or modified, + # must include both the above copyright notice and the following + # paragraphs. + # + # Nara Institute of Science and Technology (NAIST), + # the copyright holders, disclaims all warranties with regard to this + # software, including all implied warranties of merchantability and + # fitness, in no event shall NAIST be liable for + # any special, indirect or consequential damages or any damages + # whatsoever resulting from loss of use, data or profits, whether in an + # action of contract, negligence or other tortuous action, arising out + # of or in connection with the use or performance of this software. + # + # A large portion of the dictionary entries + # originate from ICOT Free Software. The following conditions for ICOT + # Free Software applies to the current dictionary as well. + # + # Each User may also freely distribute the Program, whether in its + # original form or modified, to any third party or parties, PROVIDED + # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear + # on, or be attached to, the Program, which is distributed substantially + # in the same form as set out herein and that such intended + # distribution, if actually made, will neither violate or otherwise + # contravene any of the laws and regulations of the countries having + # jurisdiction over the User or the intended distribution itself. + # + # NO WARRANTY + # + # The program was produced on an experimental basis in the course of the + # research and development conducted during the project and is provided + # to users as so produced on an experimental basis. Accordingly, the + # program is provided without any warranty whatsoever, whether express, + # implied, statutory or otherwise. The term "warranty" used herein + # includes, but is not limited to, any warranty of the quality, + # performance, merchantability and fitness for a particular purpose of + # the program and the nonexistence of any infringement or violation of + # any right of any third party. + # + # Each user of the program will agree and understand, and be deemed to + # have agreed and understood, that there is no warranty whatsoever for + # the program and, accordingly, the entire risk arising from or + # otherwise connected with the program is assumed by the user. + # + # Therefore, neither ICOT, the copyright holder, or any other + # organization that participated in or was otherwise related to the + # development of the program and their respective officials, directors, + # officers and other employees shall be held liable for any and all + # damages, including, without limitation, general, special, incidental + # and consequential damages, arising out of or otherwise in connection + # with the use or inability to use the program or any product, material + # or result produced or otherwise obtained by using the program, + # regardless of whether they have been advised of, or otherwise had + # knowledge of, the possibility of such damages at any time during the + # project or thereafter. Each user will be deemed to have agreed to the + # foregoing by his or her commencement of use of the program. The term + # "use" as used herein includes, but is not limited to, the use, + # modification, copying and distribution of the program and the + # production of secondary products from the program. + # + # In the case where the program, whether in its original form or + # modified, was distributed or delivered to or received by a user from + # any person, organization or entity other than ICOT, unless it makes or + # grants independently of ICOT any specific warranty to the user in + # writing, such person, organization or entity, will also be exempted + # from and not be held liable to the user for any such damages as noted + # above as far as the program is concerned. + # + # ---------------COPYING.ipadic-----END---------------------------------- + +3. Lao Word Break Dictionary Data (laodict.txt) + + # Copyright (c) 2013 International Business Machines Corporation + # and others. All Rights Reserved. + # + # Project: http://code.google.com/p/lao-dictionary/ + # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt + # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt + # (copied below) + # + # This file is derived from the above dictionary, with slight + # modifications. + # ---------------------------------------------------------------------- + # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, + # are permitted provided that the following conditions are met: + # + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. Redistributions in + # binary form must reproduce the above copyright notice, this list of + # conditions and the following disclaimer in the documentation and/or + # other materials provided with the distribution. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------- + +4. Burmese Word Break Dictionary Data (burmesedict.txt) + + # Copyright (c) 2014 International Business Machines Corporation + # and others. All Rights Reserved. + # + # This list is part of a project hosted at: + # github.com/kanyawtech/myanmar-karen-word-lists + # + # -------------------------------------------------------------------------- + # Copyright (c) 2013, LeRoy Benjamin Sharon + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: Redistributions of source code must retain the above + # copyright notice, this list of conditions and the following + # disclaimer. Redistributions in binary form must reproduce the + # above copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # + # Neither the name Myanmar Karen Word Lists, nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS + # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # -------------------------------------------------------------------------- + +5. Time Zone Database + + ICU uses the public domain data and code derived from Time Zone +Database for its time zone support. The ownership of the TZ database +is explained in BCP 175: Procedure for Maintaining the Time Zone +Database section 7. + + # 7. Database Ownership + # + # The TZ database itself is not an IETF Contribution or an IETF + # document. Rather it is a pre-existing and regularly updated work + # that is in the public domain, and is intended to remain in the + # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do + # not apply to the TZ Database or contributions that individuals make + # to it. Should any claims be made and substantiated against the TZ + # Database, the organization that is providing the IANA + # Considerations defined in this RFC, under the memorandum of + # understanding with the IETF, currently ICANN, may act in accordance + # with all competent court orders. No ownership claims will be made + # by ICANN or the IETF Trust on the database or the code. Any person + # making a contribution to the database or code waives all rights to + # future claims in that contribution or in the TZ Database. + +19) License notice for timelib +------------------------------ + +The MIT License (MIT) + +Copyright (c) 2015-2017 Derick Rethans +Copyright (c) 2017 MongoDB, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +20) License notice for windows dirent implementation +---------------------------------------------------- + + * Dirent interface for Microsoft Visual Studio + * Version 1.21 + * + * Copyright (C) 2006-2012 Toni Ronkko + * This file is part of dirent. Dirent may be freely distributed + * under the MIT license. For all details and documentation, see + * https://github.com/tronkko/dirent + + + 21) License notice for abseil-cpp +---------------------------- + + Copyright (c) Google Inc. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + 22) License notice for Zstandard +---------------------------- + + BSD License + + For Zstandard software + + Copyright (c) 2016-present, Facebook, Inc. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 23) License notice for ASIO +---------------------------- +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + 24) License notice for MPark.Variant +------------------------------------- +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + 25) License notice for fmt +--------------------------- + +Copyright (c) 2012 - present, Victor Zverovich +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 26) License notice for SafeInt +--------------------------- + +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the MIT License. + +MIT License + +Copyright (c) 2018 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + 27) License Notice for Raft TLA+ Specification +----------------------------------------------- + +https://github.com/ongardie/dissertation/blob/master/LICENSE + +Copyright 2014 Diego Ongaro. + +Some of our TLA+ specifications are based on the Raft TLA+ specification by Diego Ongaro. + +End diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md new file mode 100644 index 000000000..01b6a37e4 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md @@ -0,0 +1,13 @@ +Copyright 2014 MongoDB, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/README.md b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/README.md new file mode 100644 index 000000000..20f3ffe82 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/README.md @@ -0,0 +1,72 @@ +MongoDB Tools +=================================== + + - **bsondump** - _display BSON files in a human-readable format_ + - **mongoimport** - _Convert data from JSON, TSV or CSV and insert them into a collection_ + - **mongoexport** - _Write an existing collection to CSV or JSON format_ + - **mongodump/mongorestore** - _Dump MongoDB backups to disk in .BSON format, or restore them to a live database_ + - **mongostat** - _Monitor live MongoDB servers, replica sets, or sharded clusters_ + - **mongofiles** - _Read, write, delete, or update files in [GridFS](http://docs.mongodb.org/manual/core/gridfs/)_ + - **mongotop** - _Monitor read/write activity on a mongo server_ + + +Report any bugs, improvements, or new feature requests at https://jira.mongodb.org/browse/TOOLS + +Building Tools +--------------- + +We currently build the tools with Go version 1.15. Other Go versions may work but they are untested. + +Using `go get` to directly build the tools will not work. To build them, it's recommended to first clone this repository: + +``` +git clone https://github.com/mongodb/mongo-tools +cd mongo-tools +``` + +Then run `./make build` to build all the tools, placing them in the `bin` directory inside the repository. + +You can also build a subset of the tools using the `-tools` option. For example, `./make build -tools=mongodump,mongorestore` builds only `mongodump` and `mongorestore`. + +To use the build/test scripts in this repository, you **_must_** set GOROOT to your Go root directory. This may depend on how you installed Go. + +``` +export GOROOT=/usr/local/go +``` + +Updating Dependencies +--------------- +Starting with version 100.3.1, the tools use `go mod` to manage dependencies. All dependencies are listed in the `go.mod` file and are directly vendored in the `vendor` directory. + +In order to make changes to dependencies, you first need to change the `go.mod` file. You can manually edit that file to add/update/remove entries, or you can run the following in the repository directory: + +``` +go mod edit -require=@ # for adding or updating a dependency +go mod edit -droprequire= # for removing a dependency +``` + +Then run `go mod vendor -v` to reconstruct the `vendor` directory to match the changed `go.mod` file. + +Optionally, run `go mod tidy -v` to ensure that the `go.mod` file matches the `mongo-tools` source code. + +Contributing +--------------- +See our [Contributor's Guide](CONTRIBUTING.md). + +Documentation +--------------- +See the MongoDB packages [documentation](https://docs.mongodb.org/database-tools/). + +For documentation on older versions of the MongoDB, reference that version of the [MongoDB Server Manual](docs.mongodb.com/manual): + +- [MongoDB 4.2 Tools](https://docs.mongodb.org/v4.2/reference/program) +- [MongoDB 4.0 Tools](https://docs.mongodb.org/v4.0/reference/program) +- [MongoDB 3.6 Tools](https://docs.mongodb.org/v3.6/reference/program) + +Adding New Platforms Support +--------------- +See our [Adding New Platform Support Guide](PLATFORMSUPPORT.md). + +Vendoring the Change into Server Repo +--------------- +See our [Vendor the Change into Server Repo](SERVERVENDORING.md). diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES new file mode 100644 index 000000000..c747d0b8b --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-linux-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES @@ -0,0 +1,3319 @@ +--------------------------------------------------------------------- +License notice for hashicorp/go-rootcerts +--------------------------------------------------------------------- + +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. "Contributor" + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. "Contributor Version" + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the terms of + a Secondary License. + +1.6. "Executable Form" + + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + + means a work that combines Covered Software with other material, in a + separate file or files, that is not Covered Software. + +1.8. "License" + + means this document. + +1.9. "Licensable" + + means having the right to grant, to the maximum extent possible, whether + at the time of the initial grant or subsequently, any and all of the + rights conveyed by this License. + +1.10. "Modifications" + + means any of the following: + + a. any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. "Patent Claims" of a Contributor + + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the License, + by the making, using, selling, offering for sale, having made, import, + or transfer of either its Contributions or its Contributor Version. + +1.12. "Secondary License" + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. "Source Code Form" + + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of + its Contributions. + + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights to + grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter the + recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, or + limitations of liability) contained within the Source Code Form of the + Covered Software, except that You may alter any license notices to the + extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, + judicial order, or regulation then You must: (a) comply with the terms of + this License to the maximum extent possible; and (b) describe the + limitations and the code they affect. Such description must be placed in a + text file included with all distributions of the Covered Software under + this License. Except to the extent prohibited by statute or regulation, + such description must be sufficiently detailed for a recipient of ordinary + skill to be able to understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing + basis, if such Contributor fails to notify You of the non-compliance by + some reasonable means prior to 60 days after You have come back into + compliance. Moreover, Your grants from a particular Contributor are + reinstated on an ongoing basis if such Contributor notifies You of the + non-compliance by some reasonable means, this is the first time You have + received notice of non-compliance with this License from such + Contributor, and You become compliant prior to 30 days after Your receipt + of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an "as is" basis, + without warranty of any kind, either expressed, implied, or statutory, + including, without limitation, warranties that the Covered Software is free + of defects, merchantable, fit for a particular purpose or non-infringing. + The entire risk as to the quality and performance of the Covered Software + is with You. Should any Covered Software prove defective in any respect, + You (not any Contributor) assume the cost of any necessary servicing, + repair, or correction. This disclaimer of warranty constitutes an essential + part of this License. No use of any Covered Software is authorized under + this License except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from + such party's negligence to the extent applicable law prohibits such + limitation. Some jurisdictions do not allow the exclusion or limitation of + incidental or consequential damages, so this exclusion and limitation may + not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts + of a jurisdiction where the defendant maintains its principal place of + business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. Nothing + in this Section shall prevent a party's ability to bring cross-claims or + counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides that + the language of a contract shall be construed against the drafter shall not + be used to construe this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses If You choose to distribute Source Code Form that is + Incompatible With Secondary Licenses under the terms of this version of + the License, the notice described in Exhibit B of this License must be + attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, +then You may include the notice in a location (such as a LICENSE file in a +relevant directory) where a recipient would be likely to look for such a +notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice + + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. + +--------------------------------------------------------------------- +License notice for JSON and CSV code from github.com/golang/go +--------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/10gen/escaper +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2016 Lucas Morales + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/10gen/llmgo +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/10gen/llmgo/bson +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/10gen/openssl +---------------------------------------------------------------------- + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/3rf/mongo-lint +---------------------------------------------------------------------- + +Copyright (c) 2013 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/go-stack/stack +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2014 Chris Hines + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/golang/snappy +---------------------------------------------------------------------- + +Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/google/gopacket +---------------------------------------------------------------------- + +Copyright (c) 2012 Google, Inc. All rights reserved. +Copyright (c) 2009-2011 Andreas Krennmair. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Andreas Krennmair, Google, nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/gopherjs/gopherjs +---------------------------------------------------------------------- + +Copyright (c) 2013 Richard Musiol. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/howeyc/gopass +---------------------------------------------------------------------- + +Copyright (c) 2012 Chris Howey + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/jessevdk/go-flags +---------------------------------------------------------------------- + +Copyright (c) 2012 Jesse van den Kieboom. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/jtolds/gls +---------------------------------------------------------------------- + +Copyright (c) 2013, Space Monkey, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/mattn/go-runewidth +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2016 Yasuhiro Matsumoto + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/mongodb/mongo-go-driver +---------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/nsf/termbox-go +---------------------------------------------------------------------- + +Copyright (C) 2012 termbox-go authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/patrickmn/go-cache +---------------------------------------------------------------------- + +Copyright (c) 2012-2015 Patrick Mylund Nielsen and the go-cache contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions +---------------------------------------------------------------------- + +Copyright (c) 2015 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/go-render +---------------------------------------------------------------------- + +// Copyright (c) 2015 The Chromium Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/oglematchers +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/oglemock +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/ogletest +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/reqtrace +---------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/goconvey +---------------------------------------------------------------------- + +Copyright (c) 2014 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/goconvey/web/client/resources/fonts/Open_Sans +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/spacemonkeygo/spacelog +---------------------------------------------------------------------- + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/xdg/scram +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/xdg/stringprep +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/youmark/pkcs8 +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2014 youmark + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for golang.org/x/crypto +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for golang.org/x/sync +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for golang.org/x/text +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for gopkg.in/tomb.v2 +---------------------------------------------------------------------- + +tomb - support for clean goroutine termination in Go. + +Copyright (c) 2010-2011 - Gustavo Niemeyer + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt new file mode 100644 index 000000000..4e1383df1 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt @@ -0,0 +1,557 @@ + Server Side Public License + VERSION 1, OCTOBER 16, 2018 + + Copyright © 2018 MongoDB, Inc. + + Everyone is permitted to copy and distribute verbatim copies of this + license document, but changing it is not allowed. + + TERMS AND CONDITIONS + + 0. Definitions. + + “This License” refers to Server Side Public License. + + “Copyright” also means copyright-like laws that apply to other kinds of + works, such as semiconductor masks. + + “The Program” refers to any copyrightable work licensed under this + License. Each licensee is addressed as “you”. “Licensees” and + “recipients” may be individuals or organizations. + + To “modify” a work means to copy from or adapt all or part of the work in + a fashion requiring copyright permission, other than the making of an + exact copy. The resulting work is called a “modified version” of the + earlier work or a work “based on” the earlier work. + + A “covered work” means either the unmodified Program or a work based on + the Program. + + To “propagate” a work means to do anything with it that, without + permission, would make you directly or secondarily liable for + infringement under applicable copyright law, except executing it on a + computer or modifying a private copy. Propagation includes copying, + distribution (with or without modification), making available to the + public, and in some countries other activities as well. + + To “convey” a work means any kind of propagation that enables other + parties to make or receive copies. Mere interaction with a user through a + computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays “Appropriate Legal Notices” to the + extent that it includes a convenient and prominently visible feature that + (1) displays an appropriate copyright notice, and (2) tells the user that + there is no warranty for the work (except to the extent that warranties + are provided), that licensees may convey the work under this License, and + how to view a copy of this License. If the interface presents a list of + user commands or options, such as a menu, a prominent item in the list + meets this criterion. + + 1. Source Code. + + The “source code” for a work means the preferred form of the work for + making modifications to it. “Object code” means any non-source form of a + work. + + A “Standard Interface” means an interface that either is an official + standard defined by a recognized standards body, or, in the case of + interfaces specified for a particular programming language, one that is + widely used among developers working in that language. The “System + Libraries” of an executable work include anything, other than the work as + a whole, that (a) is included in the normal form of packaging a Major + Component, but which is not part of that Major Component, and (b) serves + only to enable use of the work with that Major Component, or to implement + a Standard Interface for which an implementation is available to the + public in source code form. A “Major Component”, in this context, means a + major essential component (kernel, window system, and so on) of the + specific operating system (if any) on which the executable work runs, or + a compiler used to produce the work, or an object code interpreter used + to run it. + + The “Corresponding Source” for a work in object code form means all the + source code needed to generate, install, and (for an executable work) run + the object code and to modify the work, including scripts to control + those activities. However, it does not include the work's System + Libraries, or general-purpose tools or generally available free programs + which are used unmodified in performing those activities but which are + not part of the work. For example, Corresponding Source includes + interface definition files associated with source files for the work, and + the source code for shared libraries and dynamically linked subprograms + that the work is specifically designed to require, such as by intimate + data communication or control flow between those subprograms and other + parts of the work. + + The Corresponding Source need not include anything that users can + regenerate automatically from other parts of the Corresponding Source. + + The Corresponding Source for a work in source code form is that same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of + copyright on the Program, and are irrevocable provided the stated + conditions are met. This License explicitly affirms your unlimited + permission to run the unmodified Program, subject to section 13. The + output from running a covered work is covered by this License only if the + output, given its content, constitutes a covered work. This License + acknowledges your rights of fair use or other equivalent, as provided by + copyright law. Subject to section 13, you may make, run and propagate + covered works that you do not convey, without conditions so long as your + license otherwise remains in force. You may convey covered works to + others for the sole purpose of having them make modifications exclusively + for you, or provide you with facilities for running those works, provided + that you comply with the terms of this License in conveying all + material for which you do not control copyright. Those thus making or + running the covered works for you must do so exclusively on your + behalf, under your direction and control, on terms that prohibit them + from making any copies of your copyrighted material outside their + relationship with you. + + Conveying under any other circumstances is permitted solely under the + conditions stated below. Sublicensing is not allowed; section 10 makes it + unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological + measure under any applicable law fulfilling obligations under article 11 + of the WIPO copyright treaty adopted on 20 December 1996, or similar laws + prohibiting or restricting circumvention of such measures. + + When you convey a covered work, you waive any legal power to forbid + circumvention of technological measures to the extent such circumvention is + effected by exercising rights under this License with respect to the + covered work, and you disclaim any intention to limit operation or + modification of the work as a means of enforcing, against the work's users, + your or third parties' legal rights to forbid circumvention of + technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you + receive it, in any medium, provided that you conspicuously and + appropriately publish on each copy an appropriate copyright notice; keep + intact all notices stating that this License and any non-permissive terms + added in accord with section 7 apply to the code; keep intact all notices + of the absence of any warranty; and give all recipients a copy of this + License along with the Program. You may charge any price or no price for + each copy that you convey, and you may offer support or warranty + protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to + produce it from the Program, in the form of source code under the terms + of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified it, + and giving a relevant date. + + b) The work must carry prominent notices stating that it is released + under this License and any conditions added under section 7. This + requirement modifies the requirement in section 4 to “keep intact all + notices”. + + c) You must license the entire work, as a whole, under this License to + anyone who comes into possession of a copy. This License will therefore + apply, along with any applicable section 7 additional terms, to the + whole of the work, and all its parts, regardless of how they are + packaged. This License gives no permission to license the work in any + other way, but it does not invalidate such permission if you have + separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your work + need not make them do so. + + A compilation of a covered work with other separate and independent + works, which are not by their nature extensions of the covered work, and + which are not combined with it such as to form a larger program, in or on + a volume of a storage or distribution medium, is called an “aggregate” if + the compilation and its resulting copyright are not used to limit the + access or legal rights of the compilation's users beyond what the + individual works permit. Inclusion of a covered work in an aggregate does + not cause this License to apply to the other parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms of + sections 4 and 5, provided that you also convey the machine-readable + Corresponding Source under the terms of this License, in one of these + ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium customarily + used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a written + offer, valid for at least three years and valid for as long as you + offer spare parts or customer support for that product model, to give + anyone who possesses the object code either (1) a copy of the + Corresponding Source for all the software in the product that is + covered by this License, on a durable physical medium customarily used + for software interchange, for a price no more than your reasonable cost + of physically performing this conveying of source, or (2) access to + copy the Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This alternative is + allowed only occasionally and noncommercially, and only if you received + the object code with such an offer, in accord with subsection 6b. + + d) Convey the object code by offering access from a designated place + (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to copy + the object code is a network server, the Corresponding Source may be on + a different server (operated by you or a third party) that supports + equivalent copying facilities, provided you maintain clear directions + next to the object code saying where to find the Corresponding Source. + Regardless of what server hosts the Corresponding Source, you remain + obligated to ensure that it is available for as long as needed to + satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided you + inform other peers where the object code and Corresponding Source of + the work are being offered to the general public at no charge under + subsection 6d. + + A separable portion of the object code, whose source code is excluded + from the Corresponding Source as a System Library, need not be included + in conveying the object code work. + + A “User Product” is either (1) a “consumer product”, which means any + tangible personal property which is normally used for personal, family, + or household purposes, or (2) anything designed or sold for incorporation + into a dwelling. In determining whether a product is a consumer product, + doubtful cases shall be resolved in favor of coverage. For a particular + product received by a particular user, “normally used” refers to a + typical or common use of that class of product, regardless of the status + of the particular user or of the way in which the particular user + actually uses, or expects or is expected to use, the product. A product + is a consumer product regardless of whether the product has substantial + commercial, industrial or non-consumer uses, unless such uses represent + the only significant mode of use of the product. + + “Installation Information” for a User Product means any methods, + procedures, authorization keys, or other information required to install + and execute modified versions of a covered work in that User Product from + a modified version of its Corresponding Source. The information must + suffice to ensure that the continued functioning of the modified object + code is in no case prevented or interfered with solely because + modification has been made. + + If you convey an object code work under this section in, or with, or + specifically for use in, a User Product, and the conveying occurs as part + of a transaction in which the right of possession and use of the User + Product is transferred to the recipient in perpetuity or for a fixed term + (regardless of how the transaction is characterized), the Corresponding + Source conveyed under this section must be accompanied by the + Installation Information. But this requirement does not apply if neither + you nor any third party retains the ability to install modified object + code on the User Product (for example, the work has been installed in + ROM). + + The requirement to provide Installation Information does not include a + requirement to continue to provide support service, warranty, or updates + for a work that has been modified or installed by the recipient, or for + the User Product in which it has been modified or installed. Access + to a network may be denied when the modification itself materially + and adversely affects the operation of the network or violates the + rules and protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, in + accord with this section must be in a format that is publicly documented + (and with an implementation available to the public in source code form), + and must require no special password or key for unpacking, reading or + copying. + + 7. Additional Terms. + + “Additional permissions” are terms that supplement the terms of this + License by making exceptions from one or more of its conditions. + Additional permissions that are applicable to the entire Program shall be + treated as though they were included in this License, to the extent that + they are valid under applicable law. If additional permissions apply only + to part of the Program, that part may be used separately under those + permissions, but the entire Program remains governed by this License + without regard to the additional permissions. When you convey a copy of + a covered work, you may at your option remove any additional permissions + from that copy, or from any part of it. (Additional permissions may be + written to require their own removal in certain cases when you modify the + work.) You may place additional permissions on material, added by you to + a covered work, for which you have or can give appropriate copyright + permission. + + Notwithstanding any other provision of this License, for material you add + to a covered work, you may (if authorized by the copyright holders of + that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some trade + names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that material + by anyone who conveys the material (or modified versions of it) with + contractual assumptions of liability to the recipient, for any + liability that these contractual assumptions directly impose on those + licensors and authors. + + All other non-permissive additional terms are considered “further + restrictions” within the meaning of section 10. If the Program as you + received it, or any part of it, contains a notice stating that it is + governed by this License along with a term that is a further restriction, + you may remove that term. If a license document contains a further + restriction but permits relicensing or conveying under this License, you + may add to a covered work material governed by the terms of that license + document, provided that the further restriction does not survive such + relicensing or conveying. + + If you add terms to a covered work in accord with this section, you must + place, in the relevant source files, a statement of the additional terms + that apply to those files, or a notice indicating where to find the + applicable terms. Additional terms, permissive or non-permissive, may be + stated in the form of a separately written license, or stated as + exceptions; the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly + provided under this License. Any attempt otherwise to propagate or modify + it is void, and will automatically terminate your rights under this + License (including any patent licenses granted under the third paragraph + of section 11). + + However, if you cease all violation of this License, then your license + from a particular copyright holder is reinstated (a) provisionally, + unless and until the copyright holder explicitly and finally terminates + your license, and (b) permanently, if the copyright holder fails to + notify you of the violation by some reasonable means prior to 60 days + after the cessation. + + Moreover, your license from a particular copyright holder is reinstated + permanently if the copyright holder notifies you of the violation by some + reasonable means, this is the first time you have received notice of + violation of this License (for any work) from that copyright holder, and + you cure the violation prior to 30 days after your receipt of the notice. + + Termination of your rights under this section does not terminate the + licenses of parties who have received copies or rights from you under + this License. If your rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses for the same + material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or run a + copy of the Program. Ancillary propagation of a covered work occurring + solely as a consequence of using peer-to-peer transmission to receive a + copy likewise does not require acceptance. However, nothing other than + this License grants you permission to propagate or modify any covered + work. These actions infringe copyright if you do not accept this License. + Therefore, by modifying or propagating a covered work, you indicate your + acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically receives + a license from the original licensors, to run, modify and propagate that + work, subject to this License. You are not responsible for enforcing + compliance by third parties with this License. + + An “entity transaction” is a transaction transferring control of an + organization, or substantially all assets of one, or subdividing an + organization, or merging organizations. If propagation of a covered work + results from an entity transaction, each party to that transaction who + receives a copy of the work also receives whatever licenses to the work + the party's predecessor in interest had or could give under the previous + paragraph, plus a right to possession of the Corresponding Source of the + work from the predecessor in interest, if the predecessor has it or can + get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the rights + granted or affirmed under this License. For example, you may not impose a + license fee, royalty, or other charge for exercise of rights granted + under this License, and you may not initiate litigation (including a + cross-claim or counterclaim in a lawsuit) alleging that any patent claim + is infringed by making, using, selling, offering for sale, or importing + the Program or any portion of it. + + 11. Patents. + + A “contributor” is a copyright holder who authorizes use under this + License of the Program or a work on which the Program is based. The work + thus licensed is called the contributor's “contributor version”. + + A contributor's “essential patent claims” are all patent claims owned or + controlled by the contributor, whether already acquired or hereafter + acquired, that would be infringed by some manner, permitted by this + License, of making, using, or selling its contributor version, but do not + include claims that would be infringed only as a consequence of further + modification of the contributor version. For purposes of this definition, + “control” includes the right to grant patent sublicenses in a manner + consistent with the requirements of this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free + patent license under the contributor's essential patent claims, to make, + use, sell, offer for sale, import and otherwise run, modify and propagate + the contents of its contributor version. + + In the following three paragraphs, a “patent license” is any express + agreement or commitment, however denominated, not to enforce a patent + (such as an express permission to practice a patent or covenant not to + sue for patent infringement). To “grant” such a patent license to a party + means to make such an agreement or commitment not to enforce a patent + against the party. + + If you convey a covered work, knowingly relying on a patent license, and + the Corresponding Source of the work is not available for anyone to copy, + free of charge and under the terms of this License, through a publicly + available network server or other readily accessible means, then you must + either (1) cause the Corresponding Source to be so available, or (2) + arrange to deprive yourself of the benefit of the patent license for this + particular work, or (3) arrange, in a manner consistent with the + requirements of this License, to extend the patent license to downstream + recipients. “Knowingly relying” means you have actual knowledge that, but + for the patent license, your conveying the covered work in a country, or + your recipient's use of the covered work in a country, would infringe + one or more identifiable patents in that country that you have reason + to believe are valid. + + If, pursuant to or in connection with a single transaction or + arrangement, you convey, or propagate by procuring conveyance of, a + covered work, and grant a patent license to some of the parties receiving + the covered work authorizing them to use, propagate, modify or convey a + specific copy of the covered work, then the patent license you grant is + automatically extended to all recipients of the covered work and works + based on it. + + A patent license is “discriminatory” if it does not include within the + scope of its coverage, prohibits the exercise of, or is conditioned on + the non-exercise of one or more of the rights that are specifically + granted under this License. You may not convey a covered work if you are + a party to an arrangement with a third party that is in the business of + distributing software, under which you make payment to the third party + based on the extent of your activity of conveying the work, and under + which the third party grants, to any of the parties who would receive the + covered work from you, a discriminatory patent license (a) in connection + with copies of the covered work conveyed by you (or copies made from + those copies), or (b) primarily for and in connection with specific + products or compilations that contain the covered work, unless you + entered into that arrangement, or that patent license was granted, prior + to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting any + implied license or other defenses to infringement that may otherwise be + available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot use, + propagate or convey a covered work so as to satisfy simultaneously your + obligations under this License and any other pertinent obligations, then + as a consequence you may not use, propagate or convey it at all. For + example, if you agree to terms that obligate you to collect a royalty for + further conveying from those to whom you convey the Program, the only way + you could satisfy both those terms and this License would be to refrain + entirely from conveying the Program. + + 13. Offering the Program as a Service. + + If you make the functionality of the Program or a modified version + available to third parties as a service, you must make the Service Source + Code available via network download to everyone at no charge, under the + terms of this License. Making the functionality of the Program or + modified version available to third parties as a service includes, + without limitation, enabling third parties to interact with the + functionality of the Program or modified version remotely through a + computer network, offering a service the value of which entirely or + primarily derives from the value of the Program or modified version, or + offering a service that accomplishes for users the primary purpose of the + Program or modified version. + + “Service Source Code” means the Corresponding Source for the Program or + the modified version, and the Corresponding Source for all programs that + you use to make the Program or modified version available as a service, + including, without limitation, management software, user interfaces, + application program interfaces, automation software, monitoring software, + backup software, storage software and hosting software, all such that a + user could run an instance of the service using the Service Source Code + you make available. + + 14. Revised Versions of this License. + + MongoDB, Inc. may publish revised and/or new versions of the Server Side + Public License from time to time. Such new versions will be similar in + spirit to the present version, but may differ in detail to address new + problems or concerns. + + Each version is given a distinguishing version number. If the Program + specifies that a certain numbered version of the Server Side Public + License “or any later version” applies to it, you have the option of + following the terms and conditions either of that numbered version or of + any later version published by MongoDB, Inc. If the Program does not + specify a version number of the Server Side Public License, you may + choose any version ever published by MongoDB, Inc. + + If the Program specifies that a proxy can decide which future versions of + the Server Side Public License can be used, that proxy's public statement + of acceptance of a version permanently authorizes you to choose that + version for the Program. + + Later license versions may give you additional or different permissions. + However, no additional obligations are imposed on any author or copyright + holder as a result of your choosing to follow a later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY + APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY + OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM + IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF + ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS + THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING + ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF + THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO + LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU + OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER + PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided above + cannot be given local legal effect according to their terms, reviewing + courts shall apply local law that most closely approximates an absolute + waiver of all civil liability in connection with the Program, unless a + warranty or assumption of liability accompanies a copy of the Program in + return for a fee. + + END OF TERMS AND CONDITIONS diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/MPL-2 b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/MPL-2 new file mode 100644 index 000000000..14e2f777f --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/MPL-2 @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/README b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/README new file mode 100644 index 000000000..fe759d193 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/README @@ -0,0 +1,87 @@ +MongoDB README + +Welcome to MongoDB! + +COMPONENTS + + mongod - The database server. + mongos - Sharding router. + mongo - The database shell (uses interactive javascript). + +UTILITIES + + install_compass - Installs MongoDB Compass for your platform. + +BUILDING + + See docs/building.md. + +RUNNING + + For command line options invoke: + + $ ./mongod --help + + To run a single server database: + + $ sudo mkdir -p /data/db + $ ./mongod + $ + $ # The mongo javascript shell connects to localhost and test database by default: + $ ./mongo + > help + +INSTALLING COMPASS + + You can install compass using the install_compass script packaged with MongoDB: + + $ ./install_compass + + This will download the appropriate MongoDB Compass package for your platform + and install it. + +DRIVERS + + Client drivers for most programming languages are available at + https://docs.mongodb.com/manual/applications/drivers/. Use the shell + ("mongo") for administrative tasks. + +BUG REPORTS + + See https://github.com/mongodb/mongo/wiki/Submit-Bug-Reports. + +PACKAGING + + Packages are created dynamically by the package.py script located in the + buildscripts directory. This will generate RPM and Debian packages. + +DOCUMENTATION + + https://docs.mongodb.com/manual/ + +CLOUD HOSTED MONGODB + + https://www.mongodb.com/cloud/atlas + +FORUMS + + https://community.mongodb.com + + A forum for technical questions about using MongoDB. + + https://community.mongodb.com/c/server-dev + + A forum for technical questions about building and developing MongoDB. + +LEARN MONGODB + + https://university.mongodb.com/ + +LICENSE + + MongoDB is free and open-source. Versions released prior to October 16, + 2018 are published under the AGPL. All versions released after October + 16, 2018, including patch fixes for prior versions, are published under + the Server Side Public License (SSPL) v1. See individual files for + details. + diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES new file mode 100644 index 000000000..34fb82302 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES @@ -0,0 +1,1568 @@ +MongoDB uses third-party libraries or other resources that may +be distributed under licenses different than the MongoDB software. + +In the event that we accidentally failed to list a required notice, +please bring it to our attention through any of the ways detailed here : + + mongodb-dev@googlegroups.com + +The attached notices are provided for information only. + +For any licenses that require disclosure of source, sources are available at +https://github.com/mongodb/mongo. + + +1) License Notice for Boost +--------------------------- + +http://www.boost.org/LICENSE_1_0.txt + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +3) License Notice for PCRE +-------------------------- + +http://www.pcre.org/licence.txt + +PCRE LICENCE +------------ + +PCRE is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + +Release 7 of PCRE is distributed under the terms of the "BSD" licence, as +specified below. The documentation for PCRE, supplied in the "doc" +directory, is distributed under the same terms as the software itself. + +The basic library functions are written in C and are freestanding. Also +included in the distribution is a set of C++ wrapper functions. + + +THE BASIC LIBRARY FUNCTIONS +--------------------------- + +Written by: Philip Hazel +Email local part: ph10 +Email domain: cam.ac.uk + +University of Cambridge Computing Service, +Cambridge, England. + +Copyright (c) 1997-2008 University of Cambridge +All rights reserved. + + +THE C++ WRAPPER FUNCTIONS +------------------------- + +Contributed by: Google Inc. + +Copyright (c) 2007-2008, Google Inc. +All rights reserved. + + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +4) License notice for Aladdin MD5 +--------------------------------- + +Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +L. Peter Deutsch +ghost@aladdin.com + +5) License notice for Snappy - http://code.google.com/p/snappy/ +--------------------------------- + Copyright 2005 and onwards Google Inc. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A light-weight compression algorithm. It is designed for speed of + compression and decompression, rather than for the utmost in space + savings. + + For getting better compression ratios when you are compressing data + with long repeated sequences or compressing data that is similar to + other data, while still compressing fast, you might look at first + using BMDiff and then compressing the output of BMDiff with + Snappy. + +6) License notice for Google Perftools (TCMalloc utility) +--------------------------------- +New BSD License + +Copyright (c) 1998-2006, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the following +conditions are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +7) License notice for Linenoise +------------------------------- + + Copyright (c) 2010, Salvatore Sanfilippo + Copyright (c) 2010, Pieter Noordhuis + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Redis nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +8) License notice for S2 Geometry Library +----------------------------------------- + Copyright 2005 Google Inc. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +9) License notice for MurmurHash +-------------------------------- + + Copyright (c) 2010-2012 Austin Appleby + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +10) License notice for Snowball + Copyright (c) 2001, Dr Martin Porter + All rights reserved. + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +11) License notice for yaml-cpp +------------------------------- + +Copyright (c) 2008 Jesse Beder. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +12) License notice for zlib +--------------------------- + +http://www.zlib.net/zlib_license.html + +zlib.h -- interface of the 'zlib' general purpose compression library +version 1.2.8, April 28th, 2013 + +Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Jean-loup Gailly Mark Adler +jloup@gzip.org madler@alumni.caltech.edu + + +13) License notice for 3rd party software included in the WiredTiger library +---------------------------------------------------------------------------- + +http://source.wiredtiger.com/license.html + +WiredTiger Distribution Files | Copyright Holder | License +----------------------------- | ----------------------------------- | ---------------------- +src/include/bitstring.i | University of California, Berkeley | BSD-3-Clause License +src/include/queue.h | University of California, Berkeley | BSD-3-Clause License +src/os_posix/os_getopt.c | University of California, Berkeley | BSD-3-Clause License +src/support/hash_city.c | Google, Inc. | The MIT License +src/support/hash_fnv.c | Authors | Public Domain + + +Other optional 3rd party software included in the WiredTiger distribution is removed by MongoDB. + + +BSD-3-CLAUSE LICENSE +-------------------- + +http://www.opensource.org/licenses/BSD-3-Clause + +Copyright (c) 1987, 1989, 1991, 1993, 1994 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +THE MIT LICENSE +--------------- + +http://www.opensource.org/licenses/MIT + +Copyright (c) 2011 Google, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +14) License Notice for SpiderMonkey +----------------------------------- + +|------------------------------------------------|------------------|---------------| +| SpiderMonkey Distribution Files | Copyright Holder | License | +|------------------------------------------------|------------------|---------------| +| js/src/jit/shared/AssemblerBuffer-x86-shared.h | Apple, Inc | BSD-2-Clause | +| js/src/jit/shared/BaseAssembler-x86-shared.h | | | +|------------------------------------------------|------------------|---------------| +| js/src/builtin/ | Google, Inc | BSD-3-Clause | +| js/src/irregexp/ | | | +| js/src/jit/arm/ | | | +| js/src/jit/mips/ | | | +| mfbt/double-conversion/ | | | +|------------------------------------------------|------------------|---------------| +| intl/icu/source/common/unicode/ | IBM, Inc | ICU | +|------------------------------------------------|------------------|---------------| +| js/src/asmjs/ | Mozilla, Inc | Apache2 | +|------------------------------------------------|------------------|---------------| +| js/public/ | Mozilla, Inc | MPL2 | +| js/src/ | | | +| mfbt | | | +|------------------------------------------------|------------------|---------------| +| js/src/vm/Unicode.cpp | None | Public Domain | +|------------------------------------------------|------------------|---------------| +| mfbt/lz4.c | Yann Collet | BSD-2-Clause | +| mfbt/lz4.h | | | +|------------------------------------------------|------------------|---------------| + +Other optional 3rd party software included in the SpiderMonkey distribution is removed by MongoDB. + + +Apple, Inc: BSD-2-Clause +------------------------ + +Copyright (C) 2008 Apple Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Google, Inc: BSD-3-Clause +------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +ICU License - ICU 1.8.1 and later +--------------------------------- + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2012 International Business Machines Corporation and +others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, provided that the above copyright notice(s) and this +permission notice appear in all copies of the Software and that both the +above copyright notice(s) and this permission notice appear in supporting +documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization of the +copyright holder. + +All trademarks and registered trademarks mentioned herein are the property +of their respective owners. + + +Mozilla, Inc: Apache 2 +---------------------- + +Copyright 2014 Mozilla Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +Mozilla, Inc: MPL 2 +------------------- + +Copyright 2014 Mozilla Foundation + +This Source Code Form is subject to the terms of the Mozilla Public +License, v. 2.0. If a copy of the MPL was not distributed with this +file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +Public Domain +------------- + +Any copyright is dedicated to the Public Domain. +http://creativecommons.org/licenses/publicdomain/ + + +LZ4: BSD-2-Clause +----------------- + +Copyright (C) 2011-2014, Yann Collet. +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at : +- LZ4 source repository : http://code.google.com/p/lz4/ +- LZ4 public forum : https://groups.google.com/forum/#!forum/lz4c + +15) License Notice for Intel DFP Math Library +--------------------------------------------- + +Copyright (c) 2011, Intel Corp. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + his list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +16) License Notice for Unicode Data +----------------------------------- + +Copyright © 1991-2015 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, +(b) this copyright and permission notice appear in associated +documentation, and +(c) there is clear notice in each modified Data File or in the Software +as well as in the documentation associated with the Data File(s) or +Software that the data or software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +17 ) License Notice for Valgrind.h +---------------------------------- + +---------------------------------------------------------------- + +Notice that the following BSD-style license applies to this one +file (valgrind.h) only. The rest of Valgrind is licensed under the +terms of the GNU General Public License, version 2, unless +otherwise indicated. See the COPYING file in the source +distribution for details. + +---------------------------------------------------------------- + +This file is part of Valgrind, a dynamic binary instrumentation +framework. + +Copyright (C) 2000-2015 Julian Seward. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + +3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------- + +Notice that the above BSD-style license applies to this one file +(valgrind.h) only. The entire rest of Valgrind is licensed under +the terms of the GNU General Public License, version 2. See the +COPYING file in the source distribution for details. + +---------------------------------------------------------------- + +18) License notice for ICU4C +---------------------------- + +ICU License - ICU 1.8.1 and later + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2016 International Business Machines Corporation and others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + + +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. + +--------------------- + +Third-Party Software Licenses + +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. + +1. Unicode Data Files and Software + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 1991-2016 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, +(b) this copyright and permission notice appear in associated +documentation, and +(c) there is clear notice in each modified Data File or in the Software +as well as in the documentation associated with the Data File(s) or +Software that the data or software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + + # The Google Chrome software developed by Google is licensed under + # the BSD license. Other software included in this distribution is + # provided under other licenses, as set forth below. + # + # The BSD License + # http://opensource.org/licenses/bsd-license.php + # Copyright (C) 2006-2008, Google Inc. + # + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, + # this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided with + # the distribution. + # Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # + # The word list in cjdict.txt are generated by combining three word lists + # listed below with further processing for compound word breaking. The + # frequency is generated with an iterative training against Google web + # corpora. + # + # * Libtabe (Chinese) + # - https://sourceforge.net/project/?group_id=1519 + # - Its license terms and conditions are shown below. + # + # * IPADIC (Japanese) + # - http://chasen.aist-nara.ac.jp/chasen/distribution.html + # - Its license terms and conditions are shown below. + # + # ---------COPYING.libtabe ---- BEGIN-------------------- + # + # /* + # * Copyrighy (c) 1999 TaBE Project. + # * Copyright (c) 1999 Pai-Hsiang Hsiao. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the TaBE Project nor the names of its + # * contributors may be used to endorse or promote products derived + # * from this software without specific prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # /* + # * Copyright (c) 1999 Computer Systems and Communication Lab, + # * Institute of Information Science, Academia + # * Sinica. All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the Computer Systems and Communication Lab + # * nor the names of its contributors may be used to endorse or + # * promote products derived from this software without specific + # * prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + # University of Illinois + # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + # + # ---------------COPYING.libtabe-----END-------------------------------- + # + # + # ---------------COPYING.ipadic-----BEGIN------------------------------- + # + # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science + # and Technology. All Rights Reserved. + # + # Use, reproduction, and distribution of this software is permitted. + # Any copy of this software, whether in its original form or modified, + # must include both the above copyright notice and the following + # paragraphs. + # + # Nara Institute of Science and Technology (NAIST), + # the copyright holders, disclaims all warranties with regard to this + # software, including all implied warranties of merchantability and + # fitness, in no event shall NAIST be liable for + # any special, indirect or consequential damages or any damages + # whatsoever resulting from loss of use, data or profits, whether in an + # action of contract, negligence or other tortuous action, arising out + # of or in connection with the use or performance of this software. + # + # A large portion of the dictionary entries + # originate from ICOT Free Software. The following conditions for ICOT + # Free Software applies to the current dictionary as well. + # + # Each User may also freely distribute the Program, whether in its + # original form or modified, to any third party or parties, PROVIDED + # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear + # on, or be attached to, the Program, which is distributed substantially + # in the same form as set out herein and that such intended + # distribution, if actually made, will neither violate or otherwise + # contravene any of the laws and regulations of the countries having + # jurisdiction over the User or the intended distribution itself. + # + # NO WARRANTY + # + # The program was produced on an experimental basis in the course of the + # research and development conducted during the project and is provided + # to users as so produced on an experimental basis. Accordingly, the + # program is provided without any warranty whatsoever, whether express, + # implied, statutory or otherwise. The term "warranty" used herein + # includes, but is not limited to, any warranty of the quality, + # performance, merchantability and fitness for a particular purpose of + # the program and the nonexistence of any infringement or violation of + # any right of any third party. + # + # Each user of the program will agree and understand, and be deemed to + # have agreed and understood, that there is no warranty whatsoever for + # the program and, accordingly, the entire risk arising from or + # otherwise connected with the program is assumed by the user. + # + # Therefore, neither ICOT, the copyright holder, or any other + # organization that participated in or was otherwise related to the + # development of the program and their respective officials, directors, + # officers and other employees shall be held liable for any and all + # damages, including, without limitation, general, special, incidental + # and consequential damages, arising out of or otherwise in connection + # with the use or inability to use the program or any product, material + # or result produced or otherwise obtained by using the program, + # regardless of whether they have been advised of, or otherwise had + # knowledge of, the possibility of such damages at any time during the + # project or thereafter. Each user will be deemed to have agreed to the + # foregoing by his or her commencement of use of the program. The term + # "use" as used herein includes, but is not limited to, the use, + # modification, copying and distribution of the program and the + # production of secondary products from the program. + # + # In the case where the program, whether in its original form or + # modified, was distributed or delivered to or received by a user from + # any person, organization or entity other than ICOT, unless it makes or + # grants independently of ICOT any specific warranty to the user in + # writing, such person, organization or entity, will also be exempted + # from and not be held liable to the user for any such damages as noted + # above as far as the program is concerned. + # + # ---------------COPYING.ipadic-----END---------------------------------- + +3. Lao Word Break Dictionary Data (laodict.txt) + + # Copyright (c) 2013 International Business Machines Corporation + # and others. All Rights Reserved. + # + # Project: http://code.google.com/p/lao-dictionary/ + # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt + # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt + # (copied below) + # + # This file is derived from the above dictionary, with slight + # modifications. + # ---------------------------------------------------------------------- + # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, + # are permitted provided that the following conditions are met: + # + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. Redistributions in + # binary form must reproduce the above copyright notice, this list of + # conditions and the following disclaimer in the documentation and/or + # other materials provided with the distribution. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------- + +4. Burmese Word Break Dictionary Data (burmesedict.txt) + + # Copyright (c) 2014 International Business Machines Corporation + # and others. All Rights Reserved. + # + # This list is part of a project hosted at: + # github.com/kanyawtech/myanmar-karen-word-lists + # + # -------------------------------------------------------------------------- + # Copyright (c) 2013, LeRoy Benjamin Sharon + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: Redistributions of source code must retain the above + # copyright notice, this list of conditions and the following + # disclaimer. Redistributions in binary form must reproduce the + # above copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # + # Neither the name Myanmar Karen Word Lists, nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS + # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # -------------------------------------------------------------------------- + +5. Time Zone Database + + ICU uses the public domain data and code derived from Time Zone +Database for its time zone support. The ownership of the TZ database +is explained in BCP 175: Procedure for Maintaining the Time Zone +Database section 7. + + # 7. Database Ownership + # + # The TZ database itself is not an IETF Contribution or an IETF + # document. Rather it is a pre-existing and regularly updated work + # that is in the public domain, and is intended to remain in the + # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do + # not apply to the TZ Database or contributions that individuals make + # to it. Should any claims be made and substantiated against the TZ + # Database, the organization that is providing the IANA + # Considerations defined in this RFC, under the memorandum of + # understanding with the IETF, currently ICANN, may act in accordance + # with all competent court orders. No ownership claims will be made + # by ICANN or the IETF Trust on the database or the code. Any person + # making a contribution to the database or code waives all rights to + # future claims in that contribution or in the TZ Database. + +19) License notice for timelib +------------------------------ + +The MIT License (MIT) + +Copyright (c) 2015-2017 Derick Rethans +Copyright (c) 2017 MongoDB, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +20) License notice for windows dirent implementation +---------------------------------------------------- + + * Dirent interface for Microsoft Visual Studio + * Version 1.21 + * + * Copyright (C) 2006-2012 Toni Ronkko + * This file is part of dirent. Dirent may be freely distributed + * under the MIT license. For all details and documentation, see + * https://github.com/tronkko/dirent + + + 21) License notice for abseil-cpp +---------------------------- + + Copyright (c) Google Inc. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + 22) License notice for Zstandard +---------------------------- + + BSD License + + For Zstandard software + + Copyright (c) 2016-present, Facebook, Inc. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 23) License notice for ASIO +---------------------------- +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + 24) License notice for MPark.Variant +------------------------------------- +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + 25) License notice for fmt +--------------------------- + +Copyright (c) 2012 - present, Victor Zverovich +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 26) License notice for SafeInt +--------------------------- + +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the MIT License. + +MIT License + +Copyright (c) 2018 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + 27) License Notice for Raft TLA+ Specification +----------------------------------------------- + +https://github.com/ongardie/dissertation/blob/master/LICENSE + +Copyright 2014 Diego Ongaro. + +Some of our TLA+ specifications are based on the Raft TLA+ specification by Diego Ongaro. + +End diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md new file mode 100644 index 000000000..01b6a37e4 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md @@ -0,0 +1,13 @@ +Copyright 2014 MongoDB, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/README.md b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/README.md new file mode 100644 index 000000000..20f3ffe82 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/README.md @@ -0,0 +1,72 @@ +MongoDB Tools +=================================== + + - **bsondump** - _display BSON files in a human-readable format_ + - **mongoimport** - _Convert data from JSON, TSV or CSV and insert them into a collection_ + - **mongoexport** - _Write an existing collection to CSV or JSON format_ + - **mongodump/mongorestore** - _Dump MongoDB backups to disk in .BSON format, or restore them to a live database_ + - **mongostat** - _Monitor live MongoDB servers, replica sets, or sharded clusters_ + - **mongofiles** - _Read, write, delete, or update files in [GridFS](http://docs.mongodb.org/manual/core/gridfs/)_ + - **mongotop** - _Monitor read/write activity on a mongo server_ + + +Report any bugs, improvements, or new feature requests at https://jira.mongodb.org/browse/TOOLS + +Building Tools +--------------- + +We currently build the tools with Go version 1.15. Other Go versions may work but they are untested. + +Using `go get` to directly build the tools will not work. To build them, it's recommended to first clone this repository: + +``` +git clone https://github.com/mongodb/mongo-tools +cd mongo-tools +``` + +Then run `./make build` to build all the tools, placing them in the `bin` directory inside the repository. + +You can also build a subset of the tools using the `-tools` option. For example, `./make build -tools=mongodump,mongorestore` builds only `mongodump` and `mongorestore`. + +To use the build/test scripts in this repository, you **_must_** set GOROOT to your Go root directory. This may depend on how you installed Go. + +``` +export GOROOT=/usr/local/go +``` + +Updating Dependencies +--------------- +Starting with version 100.3.1, the tools use `go mod` to manage dependencies. All dependencies are listed in the `go.mod` file and are directly vendored in the `vendor` directory. + +In order to make changes to dependencies, you first need to change the `go.mod` file. You can manually edit that file to add/update/remove entries, or you can run the following in the repository directory: + +``` +go mod edit -require=@ # for adding or updating a dependency +go mod edit -droprequire= # for removing a dependency +``` + +Then run `go mod vendor -v` to reconstruct the `vendor` directory to match the changed `go.mod` file. + +Optionally, run `go mod tidy -v` to ensure that the `go.mod` file matches the `mongo-tools` source code. + +Contributing +--------------- +See our [Contributor's Guide](CONTRIBUTING.md). + +Documentation +--------------- +See the MongoDB packages [documentation](https://docs.mongodb.org/database-tools/). + +For documentation on older versions of the MongoDB, reference that version of the [MongoDB Server Manual](docs.mongodb.com/manual): + +- [MongoDB 4.2 Tools](https://docs.mongodb.org/v4.2/reference/program) +- [MongoDB 4.0 Tools](https://docs.mongodb.org/v4.0/reference/program) +- [MongoDB 3.6 Tools](https://docs.mongodb.org/v3.6/reference/program) + +Adding New Platforms Support +--------------- +See our [Adding New Platform Support Guide](PLATFORMSUPPORT.md). + +Vendoring the Change into Server Repo +--------------- +See our [Vendor the Change into Server Repo](SERVERVENDORING.md). diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES new file mode 100644 index 000000000..c747d0b8b --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-macos-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES @@ -0,0 +1,3319 @@ +--------------------------------------------------------------------- +License notice for hashicorp/go-rootcerts +--------------------------------------------------------------------- + +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. "Contributor" + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. "Contributor Version" + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the terms of + a Secondary License. + +1.6. "Executable Form" + + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + + means a work that combines Covered Software with other material, in a + separate file or files, that is not Covered Software. + +1.8. "License" + + means this document. + +1.9. "Licensable" + + means having the right to grant, to the maximum extent possible, whether + at the time of the initial grant or subsequently, any and all of the + rights conveyed by this License. + +1.10. "Modifications" + + means any of the following: + + a. any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. "Patent Claims" of a Contributor + + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the License, + by the making, using, selling, offering for sale, having made, import, + or transfer of either its Contributions or its Contributor Version. + +1.12. "Secondary License" + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. "Source Code Form" + + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of + its Contributions. + + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights to + grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter the + recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, or + limitations of liability) contained within the Source Code Form of the + Covered Software, except that You may alter any license notices to the + extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, + judicial order, or regulation then You must: (a) comply with the terms of + this License to the maximum extent possible; and (b) describe the + limitations and the code they affect. Such description must be placed in a + text file included with all distributions of the Covered Software under + this License. Except to the extent prohibited by statute or regulation, + such description must be sufficiently detailed for a recipient of ordinary + skill to be able to understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing + basis, if such Contributor fails to notify You of the non-compliance by + some reasonable means prior to 60 days after You have come back into + compliance. Moreover, Your grants from a particular Contributor are + reinstated on an ongoing basis if such Contributor notifies You of the + non-compliance by some reasonable means, this is the first time You have + received notice of non-compliance with this License from such + Contributor, and You become compliant prior to 30 days after Your receipt + of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an "as is" basis, + without warranty of any kind, either expressed, implied, or statutory, + including, without limitation, warranties that the Covered Software is free + of defects, merchantable, fit for a particular purpose or non-infringing. + The entire risk as to the quality and performance of the Covered Software + is with You. Should any Covered Software prove defective in any respect, + You (not any Contributor) assume the cost of any necessary servicing, + repair, or correction. This disclaimer of warranty constitutes an essential + part of this License. No use of any Covered Software is authorized under + this License except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from + such party's negligence to the extent applicable law prohibits such + limitation. Some jurisdictions do not allow the exclusion or limitation of + incidental or consequential damages, so this exclusion and limitation may + not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts + of a jurisdiction where the defendant maintains its principal place of + business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. Nothing + in this Section shall prevent a party's ability to bring cross-claims or + counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides that + the language of a contract shall be construed against the drafter shall not + be used to construe this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses If You choose to distribute Source Code Form that is + Incompatible With Secondary Licenses under the terms of this version of + the License, the notice described in Exhibit B of this License must be + attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, +then You may include the notice in a location (such as a LICENSE file in a +relevant directory) where a recipient would be likely to look for such a +notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice + + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. + +--------------------------------------------------------------------- +License notice for JSON and CSV code from github.com/golang/go +--------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/10gen/escaper +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2016 Lucas Morales + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/10gen/llmgo +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/10gen/llmgo/bson +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/10gen/openssl +---------------------------------------------------------------------- + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/3rf/mongo-lint +---------------------------------------------------------------------- + +Copyright (c) 2013 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/go-stack/stack +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2014 Chris Hines + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/golang/snappy +---------------------------------------------------------------------- + +Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/google/gopacket +---------------------------------------------------------------------- + +Copyright (c) 2012 Google, Inc. All rights reserved. +Copyright (c) 2009-2011 Andreas Krennmair. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Andreas Krennmair, Google, nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/gopherjs/gopherjs +---------------------------------------------------------------------- + +Copyright (c) 2013 Richard Musiol. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/howeyc/gopass +---------------------------------------------------------------------- + +Copyright (c) 2012 Chris Howey + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/jessevdk/go-flags +---------------------------------------------------------------------- + +Copyright (c) 2012 Jesse van den Kieboom. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/jtolds/gls +---------------------------------------------------------------------- + +Copyright (c) 2013, Space Monkey, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/mattn/go-runewidth +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2016 Yasuhiro Matsumoto + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/mongodb/mongo-go-driver +---------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/nsf/termbox-go +---------------------------------------------------------------------- + +Copyright (C) 2012 termbox-go authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/patrickmn/go-cache +---------------------------------------------------------------------- + +Copyright (c) 2012-2015 Patrick Mylund Nielsen and the go-cache contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions +---------------------------------------------------------------------- + +Copyright (c) 2015 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/go-render +---------------------------------------------------------------------- + +// Copyright (c) 2015 The Chromium Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/oglematchers +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/oglemock +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/ogletest +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/reqtrace +---------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/goconvey +---------------------------------------------------------------------- + +Copyright (c) 2014 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/goconvey/web/client/resources/fonts/Open_Sans +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/spacemonkeygo/spacelog +---------------------------------------------------------------------- + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/xdg/scram +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/xdg/stringprep +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/youmark/pkcs8 +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2014 youmark + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for golang.org/x/crypto +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for golang.org/x/sync +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for golang.org/x/text +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for gopkg.in/tomb.v2 +---------------------------------------------------------------------- + +tomb - support for clean goroutine termination in Go. + +Copyright (c) 2010-2011 - Gustavo Niemeyer + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt new file mode 100644 index 000000000..4e1383df1 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/LICENSE-Community.txt @@ -0,0 +1,557 @@ + Server Side Public License + VERSION 1, OCTOBER 16, 2018 + + Copyright © 2018 MongoDB, Inc. + + Everyone is permitted to copy and distribute verbatim copies of this + license document, but changing it is not allowed. + + TERMS AND CONDITIONS + + 0. Definitions. + + “This License” refers to Server Side Public License. + + “Copyright” also means copyright-like laws that apply to other kinds of + works, such as semiconductor masks. + + “The Program” refers to any copyrightable work licensed under this + License. Each licensee is addressed as “you”. “Licensees” and + “recipients” may be individuals or organizations. + + To “modify” a work means to copy from or adapt all or part of the work in + a fashion requiring copyright permission, other than the making of an + exact copy. The resulting work is called a “modified version” of the + earlier work or a work “based on” the earlier work. + + A “covered work” means either the unmodified Program or a work based on + the Program. + + To “propagate” a work means to do anything with it that, without + permission, would make you directly or secondarily liable for + infringement under applicable copyright law, except executing it on a + computer or modifying a private copy. Propagation includes copying, + distribution (with or without modification), making available to the + public, and in some countries other activities as well. + + To “convey” a work means any kind of propagation that enables other + parties to make or receive copies. Mere interaction with a user through a + computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays “Appropriate Legal Notices” to the + extent that it includes a convenient and prominently visible feature that + (1) displays an appropriate copyright notice, and (2) tells the user that + there is no warranty for the work (except to the extent that warranties + are provided), that licensees may convey the work under this License, and + how to view a copy of this License. If the interface presents a list of + user commands or options, such as a menu, a prominent item in the list + meets this criterion. + + 1. Source Code. + + The “source code” for a work means the preferred form of the work for + making modifications to it. “Object code” means any non-source form of a + work. + + A “Standard Interface” means an interface that either is an official + standard defined by a recognized standards body, or, in the case of + interfaces specified for a particular programming language, one that is + widely used among developers working in that language. The “System + Libraries” of an executable work include anything, other than the work as + a whole, that (a) is included in the normal form of packaging a Major + Component, but which is not part of that Major Component, and (b) serves + only to enable use of the work with that Major Component, or to implement + a Standard Interface for which an implementation is available to the + public in source code form. A “Major Component”, in this context, means a + major essential component (kernel, window system, and so on) of the + specific operating system (if any) on which the executable work runs, or + a compiler used to produce the work, or an object code interpreter used + to run it. + + The “Corresponding Source” for a work in object code form means all the + source code needed to generate, install, and (for an executable work) run + the object code and to modify the work, including scripts to control + those activities. However, it does not include the work's System + Libraries, or general-purpose tools or generally available free programs + which are used unmodified in performing those activities but which are + not part of the work. For example, Corresponding Source includes + interface definition files associated with source files for the work, and + the source code for shared libraries and dynamically linked subprograms + that the work is specifically designed to require, such as by intimate + data communication or control flow between those subprograms and other + parts of the work. + + The Corresponding Source need not include anything that users can + regenerate automatically from other parts of the Corresponding Source. + + The Corresponding Source for a work in source code form is that same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of + copyright on the Program, and are irrevocable provided the stated + conditions are met. This License explicitly affirms your unlimited + permission to run the unmodified Program, subject to section 13. The + output from running a covered work is covered by this License only if the + output, given its content, constitutes a covered work. This License + acknowledges your rights of fair use or other equivalent, as provided by + copyright law. Subject to section 13, you may make, run and propagate + covered works that you do not convey, without conditions so long as your + license otherwise remains in force. You may convey covered works to + others for the sole purpose of having them make modifications exclusively + for you, or provide you with facilities for running those works, provided + that you comply with the terms of this License in conveying all + material for which you do not control copyright. Those thus making or + running the covered works for you must do so exclusively on your + behalf, under your direction and control, on terms that prohibit them + from making any copies of your copyrighted material outside their + relationship with you. + + Conveying under any other circumstances is permitted solely under the + conditions stated below. Sublicensing is not allowed; section 10 makes it + unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological + measure under any applicable law fulfilling obligations under article 11 + of the WIPO copyright treaty adopted on 20 December 1996, or similar laws + prohibiting or restricting circumvention of such measures. + + When you convey a covered work, you waive any legal power to forbid + circumvention of technological measures to the extent such circumvention is + effected by exercising rights under this License with respect to the + covered work, and you disclaim any intention to limit operation or + modification of the work as a means of enforcing, against the work's users, + your or third parties' legal rights to forbid circumvention of + technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you + receive it, in any medium, provided that you conspicuously and + appropriately publish on each copy an appropriate copyright notice; keep + intact all notices stating that this License and any non-permissive terms + added in accord with section 7 apply to the code; keep intact all notices + of the absence of any warranty; and give all recipients a copy of this + License along with the Program. You may charge any price or no price for + each copy that you convey, and you may offer support or warranty + protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to + produce it from the Program, in the form of source code under the terms + of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified it, + and giving a relevant date. + + b) The work must carry prominent notices stating that it is released + under this License and any conditions added under section 7. This + requirement modifies the requirement in section 4 to “keep intact all + notices”. + + c) You must license the entire work, as a whole, under this License to + anyone who comes into possession of a copy. This License will therefore + apply, along with any applicable section 7 additional terms, to the + whole of the work, and all its parts, regardless of how they are + packaged. This License gives no permission to license the work in any + other way, but it does not invalidate such permission if you have + separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your work + need not make them do so. + + A compilation of a covered work with other separate and independent + works, which are not by their nature extensions of the covered work, and + which are not combined with it such as to form a larger program, in or on + a volume of a storage or distribution medium, is called an “aggregate” if + the compilation and its resulting copyright are not used to limit the + access or legal rights of the compilation's users beyond what the + individual works permit. Inclusion of a covered work in an aggregate does + not cause this License to apply to the other parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms of + sections 4 and 5, provided that you also convey the machine-readable + Corresponding Source under the terms of this License, in one of these + ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium customarily + used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a written + offer, valid for at least three years and valid for as long as you + offer spare parts or customer support for that product model, to give + anyone who possesses the object code either (1) a copy of the + Corresponding Source for all the software in the product that is + covered by this License, on a durable physical medium customarily used + for software interchange, for a price no more than your reasonable cost + of physically performing this conveying of source, or (2) access to + copy the Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This alternative is + allowed only occasionally and noncommercially, and only if you received + the object code with such an offer, in accord with subsection 6b. + + d) Convey the object code by offering access from a designated place + (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to copy + the object code is a network server, the Corresponding Source may be on + a different server (operated by you or a third party) that supports + equivalent copying facilities, provided you maintain clear directions + next to the object code saying where to find the Corresponding Source. + Regardless of what server hosts the Corresponding Source, you remain + obligated to ensure that it is available for as long as needed to + satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided you + inform other peers where the object code and Corresponding Source of + the work are being offered to the general public at no charge under + subsection 6d. + + A separable portion of the object code, whose source code is excluded + from the Corresponding Source as a System Library, need not be included + in conveying the object code work. + + A “User Product” is either (1) a “consumer product”, which means any + tangible personal property which is normally used for personal, family, + or household purposes, or (2) anything designed or sold for incorporation + into a dwelling. In determining whether a product is a consumer product, + doubtful cases shall be resolved in favor of coverage. For a particular + product received by a particular user, “normally used” refers to a + typical or common use of that class of product, regardless of the status + of the particular user or of the way in which the particular user + actually uses, or expects or is expected to use, the product. A product + is a consumer product regardless of whether the product has substantial + commercial, industrial or non-consumer uses, unless such uses represent + the only significant mode of use of the product. + + “Installation Information” for a User Product means any methods, + procedures, authorization keys, or other information required to install + and execute modified versions of a covered work in that User Product from + a modified version of its Corresponding Source. The information must + suffice to ensure that the continued functioning of the modified object + code is in no case prevented or interfered with solely because + modification has been made. + + If you convey an object code work under this section in, or with, or + specifically for use in, a User Product, and the conveying occurs as part + of a transaction in which the right of possession and use of the User + Product is transferred to the recipient in perpetuity or for a fixed term + (regardless of how the transaction is characterized), the Corresponding + Source conveyed under this section must be accompanied by the + Installation Information. But this requirement does not apply if neither + you nor any third party retains the ability to install modified object + code on the User Product (for example, the work has been installed in + ROM). + + The requirement to provide Installation Information does not include a + requirement to continue to provide support service, warranty, or updates + for a work that has been modified or installed by the recipient, or for + the User Product in which it has been modified or installed. Access + to a network may be denied when the modification itself materially + and adversely affects the operation of the network or violates the + rules and protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, in + accord with this section must be in a format that is publicly documented + (and with an implementation available to the public in source code form), + and must require no special password or key for unpacking, reading or + copying. + + 7. Additional Terms. + + “Additional permissions” are terms that supplement the terms of this + License by making exceptions from one or more of its conditions. + Additional permissions that are applicable to the entire Program shall be + treated as though they were included in this License, to the extent that + they are valid under applicable law. If additional permissions apply only + to part of the Program, that part may be used separately under those + permissions, but the entire Program remains governed by this License + without regard to the additional permissions. When you convey a copy of + a covered work, you may at your option remove any additional permissions + from that copy, or from any part of it. (Additional permissions may be + written to require their own removal in certain cases when you modify the + work.) You may place additional permissions on material, added by you to + a covered work, for which you have or can give appropriate copyright + permission. + + Notwithstanding any other provision of this License, for material you add + to a covered work, you may (if authorized by the copyright holders of + that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some trade + names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that material + by anyone who conveys the material (or modified versions of it) with + contractual assumptions of liability to the recipient, for any + liability that these contractual assumptions directly impose on those + licensors and authors. + + All other non-permissive additional terms are considered “further + restrictions” within the meaning of section 10. If the Program as you + received it, or any part of it, contains a notice stating that it is + governed by this License along with a term that is a further restriction, + you may remove that term. If a license document contains a further + restriction but permits relicensing or conveying under this License, you + may add to a covered work material governed by the terms of that license + document, provided that the further restriction does not survive such + relicensing or conveying. + + If you add terms to a covered work in accord with this section, you must + place, in the relevant source files, a statement of the additional terms + that apply to those files, or a notice indicating where to find the + applicable terms. Additional terms, permissive or non-permissive, may be + stated in the form of a separately written license, or stated as + exceptions; the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly + provided under this License. Any attempt otherwise to propagate or modify + it is void, and will automatically terminate your rights under this + License (including any patent licenses granted under the third paragraph + of section 11). + + However, if you cease all violation of this License, then your license + from a particular copyright holder is reinstated (a) provisionally, + unless and until the copyright holder explicitly and finally terminates + your license, and (b) permanently, if the copyright holder fails to + notify you of the violation by some reasonable means prior to 60 days + after the cessation. + + Moreover, your license from a particular copyright holder is reinstated + permanently if the copyright holder notifies you of the violation by some + reasonable means, this is the first time you have received notice of + violation of this License (for any work) from that copyright holder, and + you cure the violation prior to 30 days after your receipt of the notice. + + Termination of your rights under this section does not terminate the + licenses of parties who have received copies or rights from you under + this License. If your rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses for the same + material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or run a + copy of the Program. Ancillary propagation of a covered work occurring + solely as a consequence of using peer-to-peer transmission to receive a + copy likewise does not require acceptance. However, nothing other than + this License grants you permission to propagate or modify any covered + work. These actions infringe copyright if you do not accept this License. + Therefore, by modifying or propagating a covered work, you indicate your + acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically receives + a license from the original licensors, to run, modify and propagate that + work, subject to this License. You are not responsible for enforcing + compliance by third parties with this License. + + An “entity transaction” is a transaction transferring control of an + organization, or substantially all assets of one, or subdividing an + organization, or merging organizations. If propagation of a covered work + results from an entity transaction, each party to that transaction who + receives a copy of the work also receives whatever licenses to the work + the party's predecessor in interest had or could give under the previous + paragraph, plus a right to possession of the Corresponding Source of the + work from the predecessor in interest, if the predecessor has it or can + get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the rights + granted or affirmed under this License. For example, you may not impose a + license fee, royalty, or other charge for exercise of rights granted + under this License, and you may not initiate litigation (including a + cross-claim or counterclaim in a lawsuit) alleging that any patent claim + is infringed by making, using, selling, offering for sale, or importing + the Program or any portion of it. + + 11. Patents. + + A “contributor” is a copyright holder who authorizes use under this + License of the Program or a work on which the Program is based. The work + thus licensed is called the contributor's “contributor version”. + + A contributor's “essential patent claims” are all patent claims owned or + controlled by the contributor, whether already acquired or hereafter + acquired, that would be infringed by some manner, permitted by this + License, of making, using, or selling its contributor version, but do not + include claims that would be infringed only as a consequence of further + modification of the contributor version. For purposes of this definition, + “control” includes the right to grant patent sublicenses in a manner + consistent with the requirements of this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free + patent license under the contributor's essential patent claims, to make, + use, sell, offer for sale, import and otherwise run, modify and propagate + the contents of its contributor version. + + In the following three paragraphs, a “patent license” is any express + agreement or commitment, however denominated, not to enforce a patent + (such as an express permission to practice a patent or covenant not to + sue for patent infringement). To “grant” such a patent license to a party + means to make such an agreement or commitment not to enforce a patent + against the party. + + If you convey a covered work, knowingly relying on a patent license, and + the Corresponding Source of the work is not available for anyone to copy, + free of charge and under the terms of this License, through a publicly + available network server or other readily accessible means, then you must + either (1) cause the Corresponding Source to be so available, or (2) + arrange to deprive yourself of the benefit of the patent license for this + particular work, or (3) arrange, in a manner consistent with the + requirements of this License, to extend the patent license to downstream + recipients. “Knowingly relying” means you have actual knowledge that, but + for the patent license, your conveying the covered work in a country, or + your recipient's use of the covered work in a country, would infringe + one or more identifiable patents in that country that you have reason + to believe are valid. + + If, pursuant to or in connection with a single transaction or + arrangement, you convey, or propagate by procuring conveyance of, a + covered work, and grant a patent license to some of the parties receiving + the covered work authorizing them to use, propagate, modify or convey a + specific copy of the covered work, then the patent license you grant is + automatically extended to all recipients of the covered work and works + based on it. + + A patent license is “discriminatory” if it does not include within the + scope of its coverage, prohibits the exercise of, or is conditioned on + the non-exercise of one or more of the rights that are specifically + granted under this License. You may not convey a covered work if you are + a party to an arrangement with a third party that is in the business of + distributing software, under which you make payment to the third party + based on the extent of your activity of conveying the work, and under + which the third party grants, to any of the parties who would receive the + covered work from you, a discriminatory patent license (a) in connection + with copies of the covered work conveyed by you (or copies made from + those copies), or (b) primarily for and in connection with specific + products or compilations that contain the covered work, unless you + entered into that arrangement, or that patent license was granted, prior + to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting any + implied license or other defenses to infringement that may otherwise be + available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot use, + propagate or convey a covered work so as to satisfy simultaneously your + obligations under this License and any other pertinent obligations, then + as a consequence you may not use, propagate or convey it at all. For + example, if you agree to terms that obligate you to collect a royalty for + further conveying from those to whom you convey the Program, the only way + you could satisfy both those terms and this License would be to refrain + entirely from conveying the Program. + + 13. Offering the Program as a Service. + + If you make the functionality of the Program or a modified version + available to third parties as a service, you must make the Service Source + Code available via network download to everyone at no charge, under the + terms of this License. Making the functionality of the Program or + modified version available to third parties as a service includes, + without limitation, enabling third parties to interact with the + functionality of the Program or modified version remotely through a + computer network, offering a service the value of which entirely or + primarily derives from the value of the Program or modified version, or + offering a service that accomplishes for users the primary purpose of the + Program or modified version. + + “Service Source Code” means the Corresponding Source for the Program or + the modified version, and the Corresponding Source for all programs that + you use to make the Program or modified version available as a service, + including, without limitation, management software, user interfaces, + application program interfaces, automation software, monitoring software, + backup software, storage software and hosting software, all such that a + user could run an instance of the service using the Service Source Code + you make available. + + 14. Revised Versions of this License. + + MongoDB, Inc. may publish revised and/or new versions of the Server Side + Public License from time to time. Such new versions will be similar in + spirit to the present version, but may differ in detail to address new + problems or concerns. + + Each version is given a distinguishing version number. If the Program + specifies that a certain numbered version of the Server Side Public + License “or any later version” applies to it, you have the option of + following the terms and conditions either of that numbered version or of + any later version published by MongoDB, Inc. If the Program does not + specify a version number of the Server Side Public License, you may + choose any version ever published by MongoDB, Inc. + + If the Program specifies that a proxy can decide which future versions of + the Server Side Public License can be used, that proxy's public statement + of acceptance of a version permanently authorizes you to choose that + version for the Program. + + Later license versions may give you additional or different permissions. + However, no additional obligations are imposed on any author or copyright + holder as a result of your choosing to follow a later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY + APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY + OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM + IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF + ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS + THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING + ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF + THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO + LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU + OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER + PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided above + cannot be given local legal effect according to their terms, reviewing + courts shall apply local law that most closely approximates an absolute + waiver of all civil liability in connection with the Program, unless a + warranty or assumption of liability accompanies a copy of the Program in + return for a fee. + + END OF TERMS AND CONDITIONS diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/MPL-2 b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/MPL-2 new file mode 100644 index 000000000..14e2f777f --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/MPL-2 @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/README b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/README new file mode 100644 index 000000000..fe759d193 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/README @@ -0,0 +1,87 @@ +MongoDB README + +Welcome to MongoDB! + +COMPONENTS + + mongod - The database server. + mongos - Sharding router. + mongo - The database shell (uses interactive javascript). + +UTILITIES + + install_compass - Installs MongoDB Compass for your platform. + +BUILDING + + See docs/building.md. + +RUNNING + + For command line options invoke: + + $ ./mongod --help + + To run a single server database: + + $ sudo mkdir -p /data/db + $ ./mongod + $ + $ # The mongo javascript shell connects to localhost and test database by default: + $ ./mongo + > help + +INSTALLING COMPASS + + You can install compass using the install_compass script packaged with MongoDB: + + $ ./install_compass + + This will download the appropriate MongoDB Compass package for your platform + and install it. + +DRIVERS + + Client drivers for most programming languages are available at + https://docs.mongodb.com/manual/applications/drivers/. Use the shell + ("mongo") for administrative tasks. + +BUG REPORTS + + See https://github.com/mongodb/mongo/wiki/Submit-Bug-Reports. + +PACKAGING + + Packages are created dynamically by the package.py script located in the + buildscripts directory. This will generate RPM and Debian packages. + +DOCUMENTATION + + https://docs.mongodb.com/manual/ + +CLOUD HOSTED MONGODB + + https://www.mongodb.com/cloud/atlas + +FORUMS + + https://community.mongodb.com + + A forum for technical questions about using MongoDB. + + https://community.mongodb.com/c/server-dev + + A forum for technical questions about building and developing MongoDB. + +LEARN MONGODB + + https://university.mongodb.com/ + +LICENSE + + MongoDB is free and open-source. Versions released prior to October 16, + 2018 are published under the AGPL. All versions released after October + 16, 2018, including patch fixes for prior versions, are published under + the Server Side Public License (SSPL) v1. See individual files for + details. + diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES new file mode 100644 index 000000000..34fb82302 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/community-server/THIRD-PARTY-NOTICES @@ -0,0 +1,1568 @@ +MongoDB uses third-party libraries or other resources that may +be distributed under licenses different than the MongoDB software. + +In the event that we accidentally failed to list a required notice, +please bring it to our attention through any of the ways detailed here : + + mongodb-dev@googlegroups.com + +The attached notices are provided for information only. + +For any licenses that require disclosure of source, sources are available at +https://github.com/mongodb/mongo. + + +1) License Notice for Boost +--------------------------- + +http://www.boost.org/LICENSE_1_0.txt + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +3) License Notice for PCRE +-------------------------- + +http://www.pcre.org/licence.txt + +PCRE LICENCE +------------ + +PCRE is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + +Release 7 of PCRE is distributed under the terms of the "BSD" licence, as +specified below. The documentation for PCRE, supplied in the "doc" +directory, is distributed under the same terms as the software itself. + +The basic library functions are written in C and are freestanding. Also +included in the distribution is a set of C++ wrapper functions. + + +THE BASIC LIBRARY FUNCTIONS +--------------------------- + +Written by: Philip Hazel +Email local part: ph10 +Email domain: cam.ac.uk + +University of Cambridge Computing Service, +Cambridge, England. + +Copyright (c) 1997-2008 University of Cambridge +All rights reserved. + + +THE C++ WRAPPER FUNCTIONS +------------------------- + +Contributed by: Google Inc. + +Copyright (c) 2007-2008, Google Inc. +All rights reserved. + + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +4) License notice for Aladdin MD5 +--------------------------------- + +Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +L. Peter Deutsch +ghost@aladdin.com + +5) License notice for Snappy - http://code.google.com/p/snappy/ +--------------------------------- + Copyright 2005 and onwards Google Inc. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A light-weight compression algorithm. It is designed for speed of + compression and decompression, rather than for the utmost in space + savings. + + For getting better compression ratios when you are compressing data + with long repeated sequences or compressing data that is similar to + other data, while still compressing fast, you might look at first + using BMDiff and then compressing the output of BMDiff with + Snappy. + +6) License notice for Google Perftools (TCMalloc utility) +--------------------------------- +New BSD License + +Copyright (c) 1998-2006, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the following +conditions are met: + + * Redistributions of source code must retain the above + copyright notice, this list of conditions and the following + disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +7) License notice for Linenoise +------------------------------- + + Copyright (c) 2010, Salvatore Sanfilippo + Copyright (c) 2010, Pieter Noordhuis + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Redis nor the names of its contributors may be used + to endorse or promote products derived from this software without + specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +8) License notice for S2 Geometry Library +----------------------------------------- + Copyright 2005 Google Inc. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +9) License notice for MurmurHash +-------------------------------- + + Copyright (c) 2010-2012 Austin Appleby + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +10) License notice for Snowball + Copyright (c) 2001, Dr Martin Porter + All rights reserved. + +THE "BSD" LICENCE +----------------- + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of the University of Cambridge nor the name of Google + Inc. nor the names of their contributors may be used to endorse or + promote products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +11) License notice for yaml-cpp +------------------------------- + +Copyright (c) 2008 Jesse Beder. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +12) License notice for zlib +--------------------------- + +http://www.zlib.net/zlib_license.html + +zlib.h -- interface of the 'zlib' general purpose compression library +version 1.2.8, April 28th, 2013 + +Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +Jean-loup Gailly Mark Adler +jloup@gzip.org madler@alumni.caltech.edu + + +13) License notice for 3rd party software included in the WiredTiger library +---------------------------------------------------------------------------- + +http://source.wiredtiger.com/license.html + +WiredTiger Distribution Files | Copyright Holder | License +----------------------------- | ----------------------------------- | ---------------------- +src/include/bitstring.i | University of California, Berkeley | BSD-3-Clause License +src/include/queue.h | University of California, Berkeley | BSD-3-Clause License +src/os_posix/os_getopt.c | University of California, Berkeley | BSD-3-Clause License +src/support/hash_city.c | Google, Inc. | The MIT License +src/support/hash_fnv.c | Authors | Public Domain + + +Other optional 3rd party software included in the WiredTiger distribution is removed by MongoDB. + + +BSD-3-CLAUSE LICENSE +-------------------- + +http://www.opensource.org/licenses/BSD-3-Clause + +Copyright (c) 1987, 1989, 1991, 1993, 1994 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + +THE MIT LICENSE +--------------- + +http://www.opensource.org/licenses/MIT + +Copyright (c) 2011 Google, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +14) License Notice for SpiderMonkey +----------------------------------- + +|------------------------------------------------|------------------|---------------| +| SpiderMonkey Distribution Files | Copyright Holder | License | +|------------------------------------------------|------------------|---------------| +| js/src/jit/shared/AssemblerBuffer-x86-shared.h | Apple, Inc | BSD-2-Clause | +| js/src/jit/shared/BaseAssembler-x86-shared.h | | | +|------------------------------------------------|------------------|---------------| +| js/src/builtin/ | Google, Inc | BSD-3-Clause | +| js/src/irregexp/ | | | +| js/src/jit/arm/ | | | +| js/src/jit/mips/ | | | +| mfbt/double-conversion/ | | | +|------------------------------------------------|------------------|---------------| +| intl/icu/source/common/unicode/ | IBM, Inc | ICU | +|------------------------------------------------|------------------|---------------| +| js/src/asmjs/ | Mozilla, Inc | Apache2 | +|------------------------------------------------|------------------|---------------| +| js/public/ | Mozilla, Inc | MPL2 | +| js/src/ | | | +| mfbt | | | +|------------------------------------------------|------------------|---------------| +| js/src/vm/Unicode.cpp | None | Public Domain | +|------------------------------------------------|------------------|---------------| +| mfbt/lz4.c | Yann Collet | BSD-2-Clause | +| mfbt/lz4.h | | | +|------------------------------------------------|------------------|---------------| + +Other optional 3rd party software included in the SpiderMonkey distribution is removed by MongoDB. + + +Apple, Inc: BSD-2-Clause +------------------------ + +Copyright (C) 2008 Apple Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Google, Inc: BSD-3-Clause +------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +ICU License - ICU 1.8.1 and later +--------------------------------- + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2012 International Business Machines Corporation and +others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, provided that the above copyright notice(s) and this +permission notice appear in all copies of the Software and that both the +above copyright notice(s) and this permission notice appear in supporting +documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization of the +copyright holder. + +All trademarks and registered trademarks mentioned herein are the property +of their respective owners. + + +Mozilla, Inc: Apache 2 +---------------------- + +Copyright 2014 Mozilla Foundation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +Mozilla, Inc: MPL 2 +------------------- + +Copyright 2014 Mozilla Foundation + +This Source Code Form is subject to the terms of the Mozilla Public +License, v. 2.0. If a copy of the MPL was not distributed with this +file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +Public Domain +------------- + +Any copyright is dedicated to the Public Domain. +http://creativecommons.org/licenses/publicdomain/ + + +LZ4: BSD-2-Clause +----------------- + +Copyright (C) 2011-2014, Yann Collet. +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at : +- LZ4 source repository : http://code.google.com/p/lz4/ +- LZ4 public forum : https://groups.google.com/forum/#!forum/lz4c + +15) License Notice for Intel DFP Math Library +--------------------------------------------- + +Copyright (c) 2011, Intel Corp. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + his list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +16) License Notice for Unicode Data +----------------------------------- + +Copyright © 1991-2015 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, +(b) this copyright and permission notice appear in associated +documentation, and +(c) there is clear notice in each modified Data File or in the Software +as well as in the documentation associated with the Data File(s) or +Software that the data or software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +17 ) License Notice for Valgrind.h +---------------------------------- + +---------------------------------------------------------------- + +Notice that the following BSD-style license applies to this one +file (valgrind.h) only. The rest of Valgrind is licensed under the +terms of the GNU General Public License, version 2, unless +otherwise indicated. See the COPYING file in the source +distribution for details. + +---------------------------------------------------------------- + +This file is part of Valgrind, a dynamic binary instrumentation +framework. + +Copyright (C) 2000-2015 Julian Seward. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + +3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + +4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------- + +Notice that the above BSD-style license applies to this one file +(valgrind.h) only. The entire rest of Valgrind is licensed under +the terms of the GNU General Public License, version 2. See the +COPYING file in the source distribution for details. + +---------------------------------------------------------------- + +18) License notice for ICU4C +---------------------------- + +ICU License - ICU 1.8.1 and later + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2016 International Business Machines Corporation and others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + + +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. + +--------------------- + +Third-Party Software Licenses + +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. + +1. Unicode Data Files and Software + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 1991-2016 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in +http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, +(b) this copyright and permission notice appear in associated +documentation, and +(c) there is clear notice in each modified Data File or in the Software +as well as in the documentation associated with the Data File(s) or +Software that the data or software has been modified. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +2. Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + + # The Google Chrome software developed by Google is licensed under + # the BSD license. Other software included in this distribution is + # provided under other licenses, as set forth below. + # + # The BSD License + # http://opensource.org/licenses/bsd-license.php + # Copyright (C) 2006-2008, Google Inc. + # + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, + # this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided with + # the distribution. + # Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # + # The word list in cjdict.txt are generated by combining three word lists + # listed below with further processing for compound word breaking. The + # frequency is generated with an iterative training against Google web + # corpora. + # + # * Libtabe (Chinese) + # - https://sourceforge.net/project/?group_id=1519 + # - Its license terms and conditions are shown below. + # + # * IPADIC (Japanese) + # - http://chasen.aist-nara.ac.jp/chasen/distribution.html + # - Its license terms and conditions are shown below. + # + # ---------COPYING.libtabe ---- BEGIN-------------------- + # + # /* + # * Copyrighy (c) 1999 TaBE Project. + # * Copyright (c) 1999 Pai-Hsiang Hsiao. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the TaBE Project nor the names of its + # * contributors may be used to endorse or promote products derived + # * from this software without specific prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # /* + # * Copyright (c) 1999 Computer Systems and Communication Lab, + # * Institute of Information Science, Academia + # * Sinica. All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the Computer Systems and Communication Lab + # * nor the names of its contributors may be used to endorse or + # * promote products derived from this software without specific + # * prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + # University of Illinois + # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + # + # ---------------COPYING.libtabe-----END-------------------------------- + # + # + # ---------------COPYING.ipadic-----BEGIN------------------------------- + # + # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science + # and Technology. All Rights Reserved. + # + # Use, reproduction, and distribution of this software is permitted. + # Any copy of this software, whether in its original form or modified, + # must include both the above copyright notice and the following + # paragraphs. + # + # Nara Institute of Science and Technology (NAIST), + # the copyright holders, disclaims all warranties with regard to this + # software, including all implied warranties of merchantability and + # fitness, in no event shall NAIST be liable for + # any special, indirect or consequential damages or any damages + # whatsoever resulting from loss of use, data or profits, whether in an + # action of contract, negligence or other tortuous action, arising out + # of or in connection with the use or performance of this software. + # + # A large portion of the dictionary entries + # originate from ICOT Free Software. The following conditions for ICOT + # Free Software applies to the current dictionary as well. + # + # Each User may also freely distribute the Program, whether in its + # original form or modified, to any third party or parties, PROVIDED + # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear + # on, or be attached to, the Program, which is distributed substantially + # in the same form as set out herein and that such intended + # distribution, if actually made, will neither violate or otherwise + # contravene any of the laws and regulations of the countries having + # jurisdiction over the User or the intended distribution itself. + # + # NO WARRANTY + # + # The program was produced on an experimental basis in the course of the + # research and development conducted during the project and is provided + # to users as so produced on an experimental basis. Accordingly, the + # program is provided without any warranty whatsoever, whether express, + # implied, statutory or otherwise. The term "warranty" used herein + # includes, but is not limited to, any warranty of the quality, + # performance, merchantability and fitness for a particular purpose of + # the program and the nonexistence of any infringement or violation of + # any right of any third party. + # + # Each user of the program will agree and understand, and be deemed to + # have agreed and understood, that there is no warranty whatsoever for + # the program and, accordingly, the entire risk arising from or + # otherwise connected with the program is assumed by the user. + # + # Therefore, neither ICOT, the copyright holder, or any other + # organization that participated in or was otherwise related to the + # development of the program and their respective officials, directors, + # officers and other employees shall be held liable for any and all + # damages, including, without limitation, general, special, incidental + # and consequential damages, arising out of or otherwise in connection + # with the use or inability to use the program or any product, material + # or result produced or otherwise obtained by using the program, + # regardless of whether they have been advised of, or otherwise had + # knowledge of, the possibility of such damages at any time during the + # project or thereafter. Each user will be deemed to have agreed to the + # foregoing by his or her commencement of use of the program. The term + # "use" as used herein includes, but is not limited to, the use, + # modification, copying and distribution of the program and the + # production of secondary products from the program. + # + # In the case where the program, whether in its original form or + # modified, was distributed or delivered to or received by a user from + # any person, organization or entity other than ICOT, unless it makes or + # grants independently of ICOT any specific warranty to the user in + # writing, such person, organization or entity, will also be exempted + # from and not be held liable to the user for any such damages as noted + # above as far as the program is concerned. + # + # ---------------COPYING.ipadic-----END---------------------------------- + +3. Lao Word Break Dictionary Data (laodict.txt) + + # Copyright (c) 2013 International Business Machines Corporation + # and others. All Rights Reserved. + # + # Project: http://code.google.com/p/lao-dictionary/ + # Dictionary: http://lao-dictionary.googlecode.com/git/Lao-Dictionary.txt + # License: http://lao-dictionary.googlecode.com/git/Lao-Dictionary-LICENSE.txt + # (copied below) + # + # This file is derived from the above dictionary, with slight + # modifications. + # ---------------------------------------------------------------------- + # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, + # are permitted provided that the following conditions are met: + # + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. Redistributions in + # binary form must reproduce the above copyright notice, this list of + # conditions and the following disclaimer in the documentation and/or + # other materials provided with the distribution. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------- + +4. Burmese Word Break Dictionary Data (burmesedict.txt) + + # Copyright (c) 2014 International Business Machines Corporation + # and others. All Rights Reserved. + # + # This list is part of a project hosted at: + # github.com/kanyawtech/myanmar-karen-word-lists + # + # -------------------------------------------------------------------------- + # Copyright (c) 2013, LeRoy Benjamin Sharon + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: Redistributions of source code must retain the above + # copyright notice, this list of conditions and the following + # disclaimer. Redistributions in binary form must reproduce the + # above copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # + # Neither the name Myanmar Karen Word Lists, nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS + # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # -------------------------------------------------------------------------- + +5. Time Zone Database + + ICU uses the public domain data and code derived from Time Zone +Database for its time zone support. The ownership of the TZ database +is explained in BCP 175: Procedure for Maintaining the Time Zone +Database section 7. + + # 7. Database Ownership + # + # The TZ database itself is not an IETF Contribution or an IETF + # document. Rather it is a pre-existing and regularly updated work + # that is in the public domain, and is intended to remain in the + # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do + # not apply to the TZ Database or contributions that individuals make + # to it. Should any claims be made and substantiated against the TZ + # Database, the organization that is providing the IANA + # Considerations defined in this RFC, under the memorandum of + # understanding with the IETF, currently ICANN, may act in accordance + # with all competent court orders. No ownership claims will be made + # by ICANN or the IETF Trust on the database or the code. Any person + # making a contribution to the database or code waives all rights to + # future claims in that contribution or in the TZ Database. + +19) License notice for timelib +------------------------------ + +The MIT License (MIT) + +Copyright (c) 2015-2017 Derick Rethans +Copyright (c) 2017 MongoDB, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +20) License notice for windows dirent implementation +---------------------------------------------------- + + * Dirent interface for Microsoft Visual Studio + * Version 1.21 + * + * Copyright (C) 2006-2012 Toni Ronkko + * This file is part of dirent. Dirent may be freely distributed + * under the MIT license. For all details and documentation, see + * https://github.com/tronkko/dirent + + + 21) License notice for abseil-cpp +---------------------------- + + Copyright (c) Google Inc. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + 22) License notice for Zstandard +---------------------------- + + BSD License + + For Zstandard software + + Copyright (c) 2016-present, Facebook, Inc. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 23) License notice for ASIO +---------------------------- +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + 24) License notice for MPark.Variant +------------------------------------- +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + 25) License notice for fmt +--------------------------- + +Copyright (c) 2012 - present, Victor Zverovich +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of + conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + 26) License notice for SafeInt +--------------------------- + +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the MIT License. + +MIT License + +Copyright (c) 2018 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + 27) License Notice for Raft TLA+ Specification +----------------------------------------------- + +https://github.com/ongardie/dissertation/blob/master/LICENSE + +Copyright 2014 Diego Ongaro. + +Some of our TLA+ specifications are based on the Raft TLA+ specification by Diego Ongaro. + +End diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md new file mode 100644 index 000000000..01b6a37e4 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/LICENSE.md @@ -0,0 +1,13 @@ +Copyright 2014 MongoDB, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/README.md b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/README.md new file mode 100644 index 000000000..20f3ffe82 --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/README.md @@ -0,0 +1,72 @@ +MongoDB Tools +=================================== + + - **bsondump** - _display BSON files in a human-readable format_ + - **mongoimport** - _Convert data from JSON, TSV or CSV and insert them into a collection_ + - **mongoexport** - _Write an existing collection to CSV or JSON format_ + - **mongodump/mongorestore** - _Dump MongoDB backups to disk in .BSON format, or restore them to a live database_ + - **mongostat** - _Monitor live MongoDB servers, replica sets, or sharded clusters_ + - **mongofiles** - _Read, write, delete, or update files in [GridFS](http://docs.mongodb.org/manual/core/gridfs/)_ + - **mongotop** - _Monitor read/write activity on a mongo server_ + + +Report any bugs, improvements, or new feature requests at https://jira.mongodb.org/browse/TOOLS + +Building Tools +--------------- + +We currently build the tools with Go version 1.15. Other Go versions may work but they are untested. + +Using `go get` to directly build the tools will not work. To build them, it's recommended to first clone this repository: + +``` +git clone https://github.com/mongodb/mongo-tools +cd mongo-tools +``` + +Then run `./make build` to build all the tools, placing them in the `bin` directory inside the repository. + +You can also build a subset of the tools using the `-tools` option. For example, `./make build -tools=mongodump,mongorestore` builds only `mongodump` and `mongorestore`. + +To use the build/test scripts in this repository, you **_must_** set GOROOT to your Go root directory. This may depend on how you installed Go. + +``` +export GOROOT=/usr/local/go +``` + +Updating Dependencies +--------------- +Starting with version 100.3.1, the tools use `go mod` to manage dependencies. All dependencies are listed in the `go.mod` file and are directly vendored in the `vendor` directory. + +In order to make changes to dependencies, you first need to change the `go.mod` file. You can manually edit that file to add/update/remove entries, or you can run the following in the repository directory: + +``` +go mod edit -require=@ # for adding or updating a dependency +go mod edit -droprequire= # for removing a dependency +``` + +Then run `go mod vendor -v` to reconstruct the `vendor` directory to match the changed `go.mod` file. + +Optionally, run `go mod tidy -v` to ensure that the `go.mod` file matches the `mongo-tools` source code. + +Contributing +--------------- +See our [Contributor's Guide](CONTRIBUTING.md). + +Documentation +--------------- +See the MongoDB packages [documentation](https://docs.mongodb.org/database-tools/). + +For documentation on older versions of the MongoDB, reference that version of the [MongoDB Server Manual](docs.mongodb.com/manual): + +- [MongoDB 4.2 Tools](https://docs.mongodb.org/v4.2/reference/program) +- [MongoDB 4.0 Tools](https://docs.mongodb.org/v4.0/reference/program) +- [MongoDB 3.6 Tools](https://docs.mongodb.org/v3.6/reference/program) + +Adding New Platforms Support +--------------- +See our [Adding New Platform Support Guide](PLATFORMSUPPORT.md). + +Vendoring the Change into Server Repo +--------------- +See our [Vendor the Change into Server Repo](SERVERVENDORING.md). diff --git a/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES new file mode 100644 index 000000000..c747d0b8b --- /dev/null +++ b/local-nuget/mongo2go/4.1.0/tools/mongodb-windows-4.4.4-database-tools-100.3.1/database-tools/THIRD-PARTY-NOTICES @@ -0,0 +1,3319 @@ +--------------------------------------------------------------------- +License notice for hashicorp/go-rootcerts +--------------------------------------------------------------------- + +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. "Contributor" + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. "Contributor Version" + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the terms of + a Secondary License. + +1.6. "Executable Form" + + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + + means a work that combines Covered Software with other material, in a + separate file or files, that is not Covered Software. + +1.8. "License" + + means this document. + +1.9. "Licensable" + + means having the right to grant, to the maximum extent possible, whether + at the time of the initial grant or subsequently, any and all of the + rights conveyed by this License. + +1.10. "Modifications" + + means any of the following: + + a. any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. "Patent Claims" of a Contributor + + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the License, + by the making, using, selling, offering for sale, having made, import, + or transfer of either its Contributions or its Contributor Version. + +1.12. "Secondary License" + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. "Source Code Form" + + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution + become effective for each Contribution on the date the Contributor first + distributes such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under + this License. No additional rights or licenses will be implied from the + distribution or licensing of Covered Software under this License. + Notwithstanding Section 2.1(b) above, no patent license is granted by a + Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of + its Contributions. + + This License does not grant any rights in the trademarks, service marks, + or logos of any Contributor (except as may be necessary to comply with + the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this + License (see Section 10.2) or under the terms of a Secondary License (if + permitted under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its + Contributions are its original creation(s) or it has sufficient rights to + grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under + applicable copyright doctrines of fair use, fair dealing, or other + equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under + the terms of this License. You must inform recipients that the Source + Code Form of the Covered Software is governed by the terms of this + License, and how they can obtain a copy of this License. You may not + attempt to alter or restrict the recipients' rights in the Source Code + Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter the + recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for + the Covered Software. If the Larger Work is a combination of Covered + Software with a work governed by one or more Secondary Licenses, and the + Covered Software is not Incompatible With Secondary Licenses, this + License permits You to additionally distribute such Covered Software + under the terms of such Secondary License(s), so that the recipient of + the Larger Work may, at their option, further distribute the Covered + Software under the terms of either this License or such Secondary + License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices + (including copyright notices, patent notices, disclaimers of warranty, or + limitations of liability) contained within the Source Code Form of the + Covered Software, except that You may alter any license notices to the + extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on + behalf of any Contributor. You must make it absolutely clear that any + such warranty, support, indemnity, or liability obligation is offered by + You alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, + judicial order, or regulation then You must: (a) comply with the terms of + this License to the maximum extent possible; and (b) describe the + limitations and the code they affect. Such description must be placed in a + text file included with all distributions of the Covered Software under + this License. Except to the extent prohibited by statute or regulation, + such description must be sufficiently detailed for a recipient of ordinary + skill to be able to understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing + basis, if such Contributor fails to notify You of the non-compliance by + some reasonable means prior to 60 days after You have come back into + compliance. Moreover, Your grants from a particular Contributor are + reinstated on an ongoing basis if such Contributor notifies You of the + non-compliance by some reasonable means, this is the first time You have + received notice of non-compliance with this License from such + Contributor, and You become compliant prior to 30 days after Your receipt + of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, + counter-claims, and cross-claims) alleging that a Contributor Version + directly or indirectly infringes any patent, then the rights granted to + You by any and all Contributors for the Covered Software under Section + 2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an "as is" basis, + without warranty of any kind, either expressed, implied, or statutory, + including, without limitation, warranties that the Covered Software is free + of defects, merchantable, fit for a particular purpose or non-infringing. + The entire risk as to the quality and performance of the Covered Software + is with You. Should any Covered Software prove defective in any respect, + You (not any Contributor) assume the cost of any necessary servicing, + repair, or correction. This disclaimer of warranty constitutes an essential + part of this License. No use of any Covered Software is authorized under + this License except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from + such party's negligence to the extent applicable law prohibits such + limitation. Some jurisdictions do not allow the exclusion or limitation of + incidental or consequential damages, so this exclusion and limitation may + not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts + of a jurisdiction where the defendant maintains its principal place of + business and such litigation shall be governed by laws of that + jurisdiction, without reference to its conflict-of-law provisions. Nothing + in this Section shall prevent a party's ability to bring cross-claims or + counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. Any law or regulation which provides that + the language of a contract shall be construed against the drafter shall not + be used to construe this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version + of the License under which You originally received the Covered Software, + or under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a + modified version of this License if you rename the license and remove + any references to the name of the license steward (except to note that + such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary + Licenses If You choose to distribute Source Code Form that is + Incompatible With Secondary Licenses under the terms of this version of + the License, the notice described in Exhibit B of this License must be + attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, +then You may include the notice in a location (such as a LICENSE file in a +relevant directory) where a recipient would be likely to look for such a +notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice + + This Source Code Form is "Incompatible + With Secondary Licenses", as defined by + the Mozilla Public License, v. 2.0. + +--------------------------------------------------------------------- +License notice for JSON and CSV code from github.com/golang/go +--------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/10gen/escaper +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2016 Lucas Morales + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/10gen/llmgo +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/10gen/llmgo/bson +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/10gen/openssl +---------------------------------------------------------------------- + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/3rf/mongo-lint +---------------------------------------------------------------------- + +Copyright (c) 2013 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/go-stack/stack +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2014 Chris Hines + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/golang/snappy +---------------------------------------------------------------------- + +Copyright (c) 2011 The Snappy-Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/google/gopacket +---------------------------------------------------------------------- + +Copyright (c) 2012 Google, Inc. All rights reserved. +Copyright (c) 2009-2011 Andreas Krennmair. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Andreas Krennmair, Google, nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/gopherjs/gopherjs +---------------------------------------------------------------------- + +Copyright (c) 2013 Richard Musiol. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/howeyc/gopass +---------------------------------------------------------------------- + +Copyright (c) 2012 Chris Howey + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/jessevdk/go-flags +---------------------------------------------------------------------- + +Copyright (c) 2012 Jesse van den Kieboom. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/jtolds/gls +---------------------------------------------------------------------- + +Copyright (c) 2013, Space Monkey, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/mattn/go-runewidth +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2016 Yasuhiro Matsumoto + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/mongodb/mongo-go-driver +---------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/nsf/termbox-go +---------------------------------------------------------------------- + +Copyright (C) 2012 termbox-go authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/patrickmn/go-cache +---------------------------------------------------------------------- + +Copyright (c) 2012-2015 Patrick Mylund Nielsen and the go-cache contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions +---------------------------------------------------------------------- + +Copyright (c) 2015 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/go-render +---------------------------------------------------------------------- + +// Copyright (c) 2015 The Chromium Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/oglematchers +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/oglemock +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/ogletest +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/assertions/internal/reqtrace +---------------------------------------------------------------------- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/goconvey +---------------------------------------------------------------------- + +Copyright (c) 2014 SmartyStreets, LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +NOTE: Various optional and subordinate components carry their own licensing +requirements and restrictions. Use of those components is subject to the terms +and conditions outlined the respective license of each component. + +---------------------------------------------------------------------- +License notice for github.com/smartystreets/goconvey/web/client/resources/fonts/Open_Sans +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/spacemonkeygo/spacelog +---------------------------------------------------------------------- + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- +License notice for github.com/xdg/scram +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/xdg/stringprep +---------------------------------------------------------------------- + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +---------------------------------------------------------------------- +License notice for github.com/youmark/pkcs8 +---------------------------------------------------------------------- + +The MIT License (MIT) + +Copyright (c) 2014 youmark + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +---------------------------------------------------------------------- +License notice for golang.org/x/crypto +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for golang.org/x/sync +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for golang.org/x/text +---------------------------------------------------------------------- + +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- +License notice for gopkg.in/tomb.v2 +---------------------------------------------------------------------- + +tomb - support for clean goroutine termination in Go. + +Copyright (c) 2010-2011 - Gustavo Niemeyer + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/local-nuget/mongodb.driver.core/2.12.0/.nupkg.metadata b/local-nuget/mongodb.driver.core/2.12.0/.nupkg.metadata new file mode 100644 index 000000000..954b991de --- /dev/null +++ b/local-nuget/mongodb.driver.core/2.12.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "+hUGroIzvkDCWKclhbXpHtiyIDPtWXeI1TyFs9zPLBQQ3BCzjoSXv79Kvf8uREjdeInCoPNjk2KzCL4cxCpEQQ==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/mongodb.driver.core/2.12.0/g1vwjuc4.vzi b/local-nuget/mongodb.driver.core/2.12.0/mongodb.driver.core.2.12.0.nupkg similarity index 100% rename from local-nuget/mongodb.driver.core/2.12.0/g1vwjuc4.vzi rename to local-nuget/mongodb.driver.core/2.12.0/mongodb.driver.core.2.12.0.nupkg diff --git a/local-nuget/mongodb.driver.core/2.12.0/kqv1bxmz.yh5 b/local-nuget/mongodb.driver.core/2.12.0/mongodb.driver.core.2.12.0.nupkg.sha512 similarity index 100% rename from local-nuget/mongodb.driver.core/2.12.0/kqv1bxmz.yh5 rename to local-nuget/mongodb.driver.core/2.12.0/mongodb.driver.core.2.12.0.nupkg.sha512 diff --git a/local-nuget/pipelines.sockets.unofficial/2.2.8/.nupkg.metadata b/local-nuget/pipelines.sockets.unofficial/2.2.8/.nupkg.metadata new file mode 100644 index 000000000..62a321a38 --- /dev/null +++ b/local-nuget/pipelines.sockets.unofficial/2.2.8/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "zG2FApP5zxSx6OcdJQLbZDk2AVlN2BNQD6MorwIfV6gVj0RRxWPEp2LXAxqDGZqeNV1Zp0BNPcNaey/GXmTdvQ==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/pipelines.sockets.unofficial/2.2.8/.signature.p7s b/local-nuget/pipelines.sockets.unofficial/2.2.8/.signature.p7s new file mode 100644 index 000000000..ecfb085dc Binary files /dev/null and b/local-nuget/pipelines.sockets.unofficial/2.2.8/.signature.p7s differ diff --git a/local-nuget/pipelines.sockets.unofficial/2.2.8/Pipelines.Sockets.Unofficial.nuspec b/local-nuget/pipelines.sockets.unofficial/2.2.8/Pipelines.Sockets.Unofficial.nuspec new file mode 100644 index 000000000..db3bb1161 --- /dev/null +++ b/local-nuget/pipelines.sockets.unofficial/2.2.8/Pipelines.Sockets.Unofficial.nuspec @@ -0,0 +1,35 @@ + + + + Pipelines.Sockets.Unofficial + 2.2.8 + Pipelines.Sockets.Unofficial + MIT + https://licenses.nuget.org/MIT + https://github.com/mgravell/Pipelines.Sockets.Unofficial + Package Description + https://mgravell.github.io/Pipelines.Sockets.Unofficial/docs/releasenotes + Marc Gravell 2018 + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/net461/Pipelines.Sockets.Unofficial.xml b/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/net461/Pipelines.Sockets.Unofficial.xml new file mode 100644 index 000000000..7df504364 --- /dev/null +++ b/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/net461/Pipelines.Sockets.Unofficial.xml @@ -0,0 +1,2083 @@ + + + + Pipelines.Sockets.Unofficial + + + + + Allocates blocks of memory + + + + + Allocate a new block + + + + + Clear (zero) the supplied region + + + + + An allocator that rents memory from the array-pool provided, returning them to the pool when done + + + + + An array-pool allocator that uses the shared array-pool + + + + + Create a new array-pool allocator that uses the provided array pool (or the shared array-pool otherwise) + + + + + Allocate a new block + + + + + An array-pool allocator that uses the shared array-pool + + + + + An allocator that allocates unmanaged memory, releasing the memory back to the OS when done + + + + + The global instance of the unmanaged allocator + + + + + Allocate a new block + + + + + Options that configure the behaviour of an arena + + + + + The default arena configuration + + + + + The flags that are enabled for the arena + + + + + Tests an individual flag + + + + + The block-size to suggest for new allocations in the arena + + + + + The policy for retaining allocations when memory requirements decrease + + + + + Create a new ArenaOptions instance + + + + + Provides facilities to create new type-specific allocators for use in an arena + + + + + The default allocator factory + + + + + Suggest an allocator for any type + + + + + Suggest an allocator for a blittable type + + + + + Suggest a per-type block size (in bytes) to use for allocations + + + + + Represents a typed subset of data within an arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + An arena allocator that can allocate sequences for multiple data types + + + + + Create a new Arena instance + + + + + Release all resources associated with this arena + + + + + Reset the memory allocated by this arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Get a per-type arena inside a multi-type arena + + + + + Flags that impact behaviour of the arena + + + + + None + + + + + Allocations are cleared at each reset (and when initially allocated), so that they are always wiped before use + + + + + Allocations are cleared when the arena is disposed (or when data is released in line with the retention policy), so that the contents are not released back to the underlying allocator + + + + + When possible, and when no allocator is explicitly provided; prefer using unmanaged memory + + + + + When possible, use pinned memory + + + + + Allow blittable types of the same size to share a pool of data (only applies to multi-type arenas) + + + + + Allow blittable types to all share a single pool of byte-data, using padding to align (only applies to multi-type arenas, and for reasonably sized types) + + + + + Represents a lifetime-bound allocator of multiple non-contiguous memory regions + + + + + The number of elements allocated since the last reset + + + + + Create a new Arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a reference to a new instance from the arena + + + + + Resets the arena; all current allocations should be considered invalid - new allocations may overwrite them + + + + + Releases all resources associated with the arena + + + + + Acts as a fly-weight reference into existing data + + + + + Obtain a text representation of the value + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Create a new reference into an array + + + + + Create a new reference into a memory + + + + + Get a reference to the underlying value + + + + + Convert a reference to the underlying type + + + + + Provides common retention policies + + + + + The default retention policy + + + + + Retain the space required by the previous operation (trim to the size of the last usage) + + + + + Retain nothing (trim aggressively) + + + + + Retain everything (grow only) + + + + + When the required usage drops, decay the retained amount exponentially; growth is instant + + + + + Represents a Sequence without needing to know the type at compile-time + + + + + Returns an empty sequence of the supplied type + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summarizes a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Indicates the type of element defined by the sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Represents a (possibly non-contiguous) region of memory; the read/write cousin or ReadOnlySequence-T + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summaries a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Obtains a reference into the segment + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Calculate the start position of the current sequence + + + + + Calculate the end position of the current sequence + + + + + Calculate a position inside the current sequence + + + + + Try to get the contents as an array + + + + + Obtains a sub-region of a sequence + + + + + Obtains a sub-region of a sequence + + + + + Attempts to convert a typed read-only-sequence back to a typed sequence; the sequence must have originated from a valid typed sequence + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Obtains the first segment, in terms of a memory + + + + + Obtains the first segment, in terms of a span + + + + + Copy the contents of the sequence into a contiguous region + + + + + If possible, copy the contents of the sequence into a contiguous region + + + + + Create a new single-segment sequence from a memory + + + + + Create a new single-segment sequence from an array + + + + + Create a new single-segment sequence from an array + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as values + + + + + Allows a sequence to be enumerated as values + + + + + Attempt to move the next value + + + + + Progresses the iterator, asserting that space is available, returning a reference to the next value + + + + + Obtain a reference to the current value + + + + + Allows a sequence to be enumerated as spans + + + + + Attempt to move the next segment + + + + + Asserts that another span is available, and returns then next span + + + + + Obtain the current segment + + + + + Allows a sequence to be enumerated as memory instances + + + + + Attempt to move the next segment + + + + + Obtain the current segment + + + + + Asserts that another span is available, and returns then next span + + + + + Similar to Func, but with "in" parameters + + + + + Similar to Func, but with "in" parameters + + + + + Provides utility methods for working with sequences + + + + + Create an array with the contents of the sequence; if possible, an existing + wrapped array may be reused + + + + + Obtain a Sequence from an enumerable; this may reuse existing sequence-compatible data if possible + + + + + Create a list-like object that provides access to the sequence + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Attempt to calculate the net offset of a position + + + + + Attempt to calculate the net offset of a position + + + + + A list-like reference type that can be used in most APIs that expect a list object + + + + + Returns the size of the list + + + + + Allows a sequence to be enumerated as values + + + + + Provide a reference to an element by index + + + + + Get the sequence represented by this list + + + + + Represents an abstract chained segment of mutable memory + + + + + The segment index + + + + + The type of data represented by this segment + + + + + The actual type of memory used for the storage + + + + + The offset of this segment in the chain + + + + + A memory-owner that provides direct access to the root reference + + + + + The root reference of the block, or a null-pointer if the data should not be considered pinned + + + + + Gets the size of the data + + + + + Represents an abstract chained segment of mutable memory + + + + + Creates a new SequenceSegment, optionally attaching the segment to an existing chain + + + + + The length of the memory + + + + + The logical position of the start of this segment + + + + + The next segment in the chain + + + + + The memory represented by this segment + + + + + Get the logical index of this segment + + + + + Get the real type of data being used to hold this data + + + + + Remove the Next node in this chain, terminating the chain - returning the detached segment + + + + + Represents a with lifetime management over the data + + + + + The data represented by this value + + + + + Release any resources associated with this value + + + + + Create a new instance with a call-defined lifetime management callback + + + + + Access the underlying data directly + + + + + + Represent an existing value with dummy lifetime management + + + + + Implements a buffer-writer over arbitrary memory + + + + + Create a new buffer-writer instance that uses a memory pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Get the writer used to append data to this instance + + + + + Gets the amount of data buffered by the writer + + + + + Release all resources associate with this instance + + + + + Gets the currently buffered data as a sequence of read-write buffer-segments + + + + + Gets some subset of the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Gets the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Commit a number of bytes to the underyling buffer + + + + + Access a contiguous write buffer + + + + + Access a contiguous write buffer + + + + + Access a non-contiguous write buffer + + + + + Implements a over an + + + + + Creates a new instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates that a connection was aborted + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Indicates that a connection was reset + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + An implementation of a pipe-scheduler that uses a dedicated pool of threads, deferring to + the thread-pool if that becomes too backlogged + + + + + Reusable shared scheduler instance + + + + + Indicates whether the current thread is a worker, optionally for the specific pool + (otherwise for any pool) + + + + + The name of the pool + + + + + The number of workers associated with this pool + + + + + Create a new dedicated thread-pool + + + + + The total number of operations serviced by the queue + + + + + The total number of operations that could not be serviced by the queue, but which were sent to the thread-pool instead + + + + + Requests to be run on scheduler with being passed in + + + + + The number of workers currently actively engaged in work + + + + + Release the threads associated with this pool; if additional work is requested, it will + be sent to the main thread-pool + + + + + Provides utility methods for working with delegates + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Indicates whether a particular delegate is known to be a single-target delegate + + + + + Indicates whether optimized usage is supported on this environment; without this, it may still + work, but with additional overheads at runtime. + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Provides the current value of the sequence + + + + + Move to the next item in the sequence + + + + + Reset the enumerator, allowing the sequence to be repeated + + + + + A duplex pipe that measures the bytes sent/received + + + + + The total number of bytes sent to the pipe + + + + + The total number of bytes received by the pipe + + + + + Represents a pipe that iterates over a memory-mapped file + + + + + Get a string representation of the object + + + + + Indicates whether this API is likely to work + + + + + Create a pipe-reader over the provided file + + + + + Mark the reader as complete + + + + + + Releases all resources associated with the object + + + + + Cancels an in-progress read + + + + + Indicates how much data was consumed from a read operation + + + + + Indicates how much data was consumed, and how much examined, from a read operation + + + + + Perform an asynchronous read operation + + + + + Attempt to perform a synchronous read operation + + + + + Awaitable SocketAsyncEventArgs, where awaiting the args yields either the BytesTransferred or throws the relevant socket exception + + + + + Abort the current async operation (and prevent future operations) + + + + + Create a new SocketAwaitableEventArgs instance, optionally providing a scheduler for callbacks + + + + + + Get the awaiter for this instance; used as part of "await" + + + + + Indicates whether the current operation is complete; used as part of "await" + + + + + Gets the result of the async operation is complete; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Marks the operation as complete - this should be invoked whenever a SocketAsyncEventArgs operation returns false + + + + + Invoked automatically when an operation completes asynchronously + + + + + Reperesents a duplex pipe over managed sockets + + + + + Open a new or existing socket as a client + + + + + Open a new or existing socket as a client + + + + + Check that all dependencies are available + + + + + When possible, determines how the pipe first reached a close state + + + + + When the ShutdownKind relates to a socket error, may contain the socket error code + + + + + Try to signal the pipe shutdown reason as being due to an application protocol event + + The kind of shutdown; only protocol-related reasons will succeed + True if successful + + + + Set recommended socket options for client sockets + + The socket to set options against + + + + Set recommended socket options for server sockets + + The socket to set options against + + + + Release any resources held by this instance + + + + + Connection for receiving data + + + + + Connection for sending data + + + + + Gets a string representation of this object + + + + + The underlying socket for this connection + + + + + Obtain performance monitoring counters about this connection + + + + + Exposes performance monitoring counters about a connection + + + + + Get the number of bytes currently held in a pipe instance + + + + + The number of bytes available on the socket that have not yet been consumed into the pipe + + + + + The number of bytes available on the send pipe that have not yet been sent to the socket + + + + + The number of bytes available on the receive pipe, i.e. they have been processed from the socket, but not yet read + + + + + Create a SocketConnection instance over an existing socket + + + + + Create a SocketConnection instance over an existing socket + + + + + The total number of bytes read from the socket + + + + + The number of bytes received in the last read + + + + + The total number of bytes sent to the socket + + + + + When possible, determines how the pipe first reached a close state + + + + + The pipe is still open + + + + + The pipe itself was disposed + + + + + The socket-reader reached a natural EOF from the socket + + + + + The socket-reader encountered a dispose failure + + + + + The socket-reader encountered an IO failure + + + + + The socket-reader encountered a general failure + + + + + The socket-reader encountered a socket failure - the SocketError may be populated + + + + + When attempting to flush incoming data, the pipe indicated that it was complete + + + + + When attempting to flush incoming data, the pipe indicated cancelation + + + + + The socket-writerreached a natural EOF from the pipe + + + + + The socket-writer encountered a dispose failure + + + + + The socket-writer encountered an IO failure + + + + + The socket-writer encountered a general failure + + + + + The socket-writer encountered a socket failure - the SocketError may be populated + + + + + The input's reader was completed + + + + + The input's writer was completed + + + + + The output's reader was completed + + + + + The input's writer was completed + + + + + An application defined exit was triggered by the client + + + + + An application defined exit was triggered by the server + + + + + Flags that influence the behavior of SocketConnection + + + + + Default + + + + + When no data is currently available, perform a zero-length read as a buffer-free wait mechanism + + + + + During async reads, the awaiter should continue on the IO thread + + + + + During async writes, the awaiter should continue on the IO thread + + + + + During async connects, the awaiter should continue on the IO thread + + + + + Represents a multi-client socket-server capable of dispatching pipeline clients + + + + + Start listening as a server + + + + + Start listening as a server + + + + + Stop listening as a server + + + + + Release any resources associated with this instance + + + + + Release any resources associated with this instance + + + + + Create a new instance of a socket server + + + + + Invoked when the server has faulted + + + + + Invoked when a client has faulted + + + + + Invoked when the server starts + + + + + Invoked when a new client connects + + + + + The state of a client connection + + + + + The transport to use for this connection + + + + + The remote endpoint that the client connected from + + + + + Provides serves to shim between streams and pipelines + + + + + Exposes a Stream as a duplex pipe + + + + + Gets a string representation of this object + + + + + Gets whether read operations are available + + + + + Gets whether write operations are available + + + + + Gets whether the stream can timeout + + + + + Gets whether the seek operations are supported on this stream + + + + + Change the position of the stream + + + + + Query the length of the stream + + + + + Get or set the position of the stream + + + + + Specify the length of the stream + + + + + Read a buffer from the stream + + + + + Reads a single byte + + + + + Write a buffer to the stream + + + + + Perform an asynchronous write operation + + + + + Write a single byte + + + + + Begin an asynchronous write operation + + + + + End an asynchronous write operation + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Close the stream + + + + + Signals that writing is complete; no more data will be written + + + + + Signals that reading is complete; no more data will be read + + + + + Begin an asynchronous read operation + + + + + End an asynchronous read operation + + + + + Perform an asynchronous read operation + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a PipeReader that consumes the provided stream + + + + + Create a PipeWriter feeds the provided stream + + + + + Create a duplex stream that represents the provided reader and writer + + + + + Create a duplex stream that represents the provided pipe + + + + + Create a write-only stream that feeds the provided PipeReader + + The writer to wrap + The logical name of the reader + + + + Create a read-only stream that consumes the provided PipeReader + + The reader to wrap + The logical name of the reader + + + + A mutex primitive that can be waited or awaited, with support for schedulers + + + + + Time to wait, in milliseconds - or zero for immediate-only + + + + + See Object.ToString + + + + + Create a new MutexSlim instance + + Time to wait, in milliseconds - or zero for immediate-only + The scheduler to use for async continuations, or the thread-pool if omitted + + + + Indicates whether the lock is currently available + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Additional options that influence how TryWait/TryWaitAsync operate + + + + + Default options + + + + + If the mutex cannot be acquired immediately, it is failed + + + + + Disable full TPL flow; more efficient, but no sync-context or execution-context guarantees + + + + + The result of a Wait/WaitAsync operation on MutexSlim; the caller *must* check Success to see whether the mutex was obtained + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + See Object.GetHashCode + + + + + See Object.ToString() + + + + + Compare two LockToken instances for equality + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Release the mutex, if obtained + + + + + A MemoryManager over a raw pointer + + The pointer is assumed to be fully unmanaged, or externally pinned - no attempt will be made to pin this data + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + It is assumed that the span provided is already unmanaged or externally pinned + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Obtains a span that represents the region + + + + + Provides access to a pointer that represents the data (note: no actual pin occurs) + + + + + Has no effect + + + + + Releases all resources associated with this object + + + + diff --git a/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/net472/Pipelines.Sockets.Unofficial.xml b/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/net472/Pipelines.Sockets.Unofficial.xml new file mode 100644 index 000000000..7df504364 --- /dev/null +++ b/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/net472/Pipelines.Sockets.Unofficial.xml @@ -0,0 +1,2083 @@ + + + + Pipelines.Sockets.Unofficial + + + + + Allocates blocks of memory + + + + + Allocate a new block + + + + + Clear (zero) the supplied region + + + + + An allocator that rents memory from the array-pool provided, returning them to the pool when done + + + + + An array-pool allocator that uses the shared array-pool + + + + + Create a new array-pool allocator that uses the provided array pool (or the shared array-pool otherwise) + + + + + Allocate a new block + + + + + An array-pool allocator that uses the shared array-pool + + + + + An allocator that allocates unmanaged memory, releasing the memory back to the OS when done + + + + + The global instance of the unmanaged allocator + + + + + Allocate a new block + + + + + Options that configure the behaviour of an arena + + + + + The default arena configuration + + + + + The flags that are enabled for the arena + + + + + Tests an individual flag + + + + + The block-size to suggest for new allocations in the arena + + + + + The policy for retaining allocations when memory requirements decrease + + + + + Create a new ArenaOptions instance + + + + + Provides facilities to create new type-specific allocators for use in an arena + + + + + The default allocator factory + + + + + Suggest an allocator for any type + + + + + Suggest an allocator for a blittable type + + + + + Suggest a per-type block size (in bytes) to use for allocations + + + + + Represents a typed subset of data within an arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + An arena allocator that can allocate sequences for multiple data types + + + + + Create a new Arena instance + + + + + Release all resources associated with this arena + + + + + Reset the memory allocated by this arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Get a per-type arena inside a multi-type arena + + + + + Flags that impact behaviour of the arena + + + + + None + + + + + Allocations are cleared at each reset (and when initially allocated), so that they are always wiped before use + + + + + Allocations are cleared when the arena is disposed (or when data is released in line with the retention policy), so that the contents are not released back to the underlying allocator + + + + + When possible, and when no allocator is explicitly provided; prefer using unmanaged memory + + + + + When possible, use pinned memory + + + + + Allow blittable types of the same size to share a pool of data (only applies to multi-type arenas) + + + + + Allow blittable types to all share a single pool of byte-data, using padding to align (only applies to multi-type arenas, and for reasonably sized types) + + + + + Represents a lifetime-bound allocator of multiple non-contiguous memory regions + + + + + The number of elements allocated since the last reset + + + + + Create a new Arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a reference to a new instance from the arena + + + + + Resets the arena; all current allocations should be considered invalid - new allocations may overwrite them + + + + + Releases all resources associated with the arena + + + + + Acts as a fly-weight reference into existing data + + + + + Obtain a text representation of the value + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Create a new reference into an array + + + + + Create a new reference into a memory + + + + + Get a reference to the underlying value + + + + + Convert a reference to the underlying type + + + + + Provides common retention policies + + + + + The default retention policy + + + + + Retain the space required by the previous operation (trim to the size of the last usage) + + + + + Retain nothing (trim aggressively) + + + + + Retain everything (grow only) + + + + + When the required usage drops, decay the retained amount exponentially; growth is instant + + + + + Represents a Sequence without needing to know the type at compile-time + + + + + Returns an empty sequence of the supplied type + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summarizes a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Indicates the type of element defined by the sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Represents a (possibly non-contiguous) region of memory; the read/write cousin or ReadOnlySequence-T + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summaries a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Obtains a reference into the segment + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Calculate the start position of the current sequence + + + + + Calculate the end position of the current sequence + + + + + Calculate a position inside the current sequence + + + + + Try to get the contents as an array + + + + + Obtains a sub-region of a sequence + + + + + Obtains a sub-region of a sequence + + + + + Attempts to convert a typed read-only-sequence back to a typed sequence; the sequence must have originated from a valid typed sequence + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Obtains the first segment, in terms of a memory + + + + + Obtains the first segment, in terms of a span + + + + + Copy the contents of the sequence into a contiguous region + + + + + If possible, copy the contents of the sequence into a contiguous region + + + + + Create a new single-segment sequence from a memory + + + + + Create a new single-segment sequence from an array + + + + + Create a new single-segment sequence from an array + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as values + + + + + Allows a sequence to be enumerated as values + + + + + Attempt to move the next value + + + + + Progresses the iterator, asserting that space is available, returning a reference to the next value + + + + + Obtain a reference to the current value + + + + + Allows a sequence to be enumerated as spans + + + + + Attempt to move the next segment + + + + + Asserts that another span is available, and returns then next span + + + + + Obtain the current segment + + + + + Allows a sequence to be enumerated as memory instances + + + + + Attempt to move the next segment + + + + + Obtain the current segment + + + + + Asserts that another span is available, and returns then next span + + + + + Similar to Func, but with "in" parameters + + + + + Similar to Func, but with "in" parameters + + + + + Provides utility methods for working with sequences + + + + + Create an array with the contents of the sequence; if possible, an existing + wrapped array may be reused + + + + + Obtain a Sequence from an enumerable; this may reuse existing sequence-compatible data if possible + + + + + Create a list-like object that provides access to the sequence + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Attempt to calculate the net offset of a position + + + + + Attempt to calculate the net offset of a position + + + + + A list-like reference type that can be used in most APIs that expect a list object + + + + + Returns the size of the list + + + + + Allows a sequence to be enumerated as values + + + + + Provide a reference to an element by index + + + + + Get the sequence represented by this list + + + + + Represents an abstract chained segment of mutable memory + + + + + The segment index + + + + + The type of data represented by this segment + + + + + The actual type of memory used for the storage + + + + + The offset of this segment in the chain + + + + + A memory-owner that provides direct access to the root reference + + + + + The root reference of the block, or a null-pointer if the data should not be considered pinned + + + + + Gets the size of the data + + + + + Represents an abstract chained segment of mutable memory + + + + + Creates a new SequenceSegment, optionally attaching the segment to an existing chain + + + + + The length of the memory + + + + + The logical position of the start of this segment + + + + + The next segment in the chain + + + + + The memory represented by this segment + + + + + Get the logical index of this segment + + + + + Get the real type of data being used to hold this data + + + + + Remove the Next node in this chain, terminating the chain - returning the detached segment + + + + + Represents a with lifetime management over the data + + + + + The data represented by this value + + + + + Release any resources associated with this value + + + + + Create a new instance with a call-defined lifetime management callback + + + + + Access the underlying data directly + + + + + + Represent an existing value with dummy lifetime management + + + + + Implements a buffer-writer over arbitrary memory + + + + + Create a new buffer-writer instance that uses a memory pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Get the writer used to append data to this instance + + + + + Gets the amount of data buffered by the writer + + + + + Release all resources associate with this instance + + + + + Gets the currently buffered data as a sequence of read-write buffer-segments + + + + + Gets some subset of the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Gets the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Commit a number of bytes to the underyling buffer + + + + + Access a contiguous write buffer + + + + + Access a contiguous write buffer + + + + + Access a non-contiguous write buffer + + + + + Implements a over an + + + + + Creates a new instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates that a connection was aborted + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Indicates that a connection was reset + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + An implementation of a pipe-scheduler that uses a dedicated pool of threads, deferring to + the thread-pool if that becomes too backlogged + + + + + Reusable shared scheduler instance + + + + + Indicates whether the current thread is a worker, optionally for the specific pool + (otherwise for any pool) + + + + + The name of the pool + + + + + The number of workers associated with this pool + + + + + Create a new dedicated thread-pool + + + + + The total number of operations serviced by the queue + + + + + The total number of operations that could not be serviced by the queue, but which were sent to the thread-pool instead + + + + + Requests to be run on scheduler with being passed in + + + + + The number of workers currently actively engaged in work + + + + + Release the threads associated with this pool; if additional work is requested, it will + be sent to the main thread-pool + + + + + Provides utility methods for working with delegates + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Indicates whether a particular delegate is known to be a single-target delegate + + + + + Indicates whether optimized usage is supported on this environment; without this, it may still + work, but with additional overheads at runtime. + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Provides the current value of the sequence + + + + + Move to the next item in the sequence + + + + + Reset the enumerator, allowing the sequence to be repeated + + + + + A duplex pipe that measures the bytes sent/received + + + + + The total number of bytes sent to the pipe + + + + + The total number of bytes received by the pipe + + + + + Represents a pipe that iterates over a memory-mapped file + + + + + Get a string representation of the object + + + + + Indicates whether this API is likely to work + + + + + Create a pipe-reader over the provided file + + + + + Mark the reader as complete + + + + + + Releases all resources associated with the object + + + + + Cancels an in-progress read + + + + + Indicates how much data was consumed from a read operation + + + + + Indicates how much data was consumed, and how much examined, from a read operation + + + + + Perform an asynchronous read operation + + + + + Attempt to perform a synchronous read operation + + + + + Awaitable SocketAsyncEventArgs, where awaiting the args yields either the BytesTransferred or throws the relevant socket exception + + + + + Abort the current async operation (and prevent future operations) + + + + + Create a new SocketAwaitableEventArgs instance, optionally providing a scheduler for callbacks + + + + + + Get the awaiter for this instance; used as part of "await" + + + + + Indicates whether the current operation is complete; used as part of "await" + + + + + Gets the result of the async operation is complete; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Marks the operation as complete - this should be invoked whenever a SocketAsyncEventArgs operation returns false + + + + + Invoked automatically when an operation completes asynchronously + + + + + Reperesents a duplex pipe over managed sockets + + + + + Open a new or existing socket as a client + + + + + Open a new or existing socket as a client + + + + + Check that all dependencies are available + + + + + When possible, determines how the pipe first reached a close state + + + + + When the ShutdownKind relates to a socket error, may contain the socket error code + + + + + Try to signal the pipe shutdown reason as being due to an application protocol event + + The kind of shutdown; only protocol-related reasons will succeed + True if successful + + + + Set recommended socket options for client sockets + + The socket to set options against + + + + Set recommended socket options for server sockets + + The socket to set options against + + + + Release any resources held by this instance + + + + + Connection for receiving data + + + + + Connection for sending data + + + + + Gets a string representation of this object + + + + + The underlying socket for this connection + + + + + Obtain performance monitoring counters about this connection + + + + + Exposes performance monitoring counters about a connection + + + + + Get the number of bytes currently held in a pipe instance + + + + + The number of bytes available on the socket that have not yet been consumed into the pipe + + + + + The number of bytes available on the send pipe that have not yet been sent to the socket + + + + + The number of bytes available on the receive pipe, i.e. they have been processed from the socket, but not yet read + + + + + Create a SocketConnection instance over an existing socket + + + + + Create a SocketConnection instance over an existing socket + + + + + The total number of bytes read from the socket + + + + + The number of bytes received in the last read + + + + + The total number of bytes sent to the socket + + + + + When possible, determines how the pipe first reached a close state + + + + + The pipe is still open + + + + + The pipe itself was disposed + + + + + The socket-reader reached a natural EOF from the socket + + + + + The socket-reader encountered a dispose failure + + + + + The socket-reader encountered an IO failure + + + + + The socket-reader encountered a general failure + + + + + The socket-reader encountered a socket failure - the SocketError may be populated + + + + + When attempting to flush incoming data, the pipe indicated that it was complete + + + + + When attempting to flush incoming data, the pipe indicated cancelation + + + + + The socket-writerreached a natural EOF from the pipe + + + + + The socket-writer encountered a dispose failure + + + + + The socket-writer encountered an IO failure + + + + + The socket-writer encountered a general failure + + + + + The socket-writer encountered a socket failure - the SocketError may be populated + + + + + The input's reader was completed + + + + + The input's writer was completed + + + + + The output's reader was completed + + + + + The input's writer was completed + + + + + An application defined exit was triggered by the client + + + + + An application defined exit was triggered by the server + + + + + Flags that influence the behavior of SocketConnection + + + + + Default + + + + + When no data is currently available, perform a zero-length read as a buffer-free wait mechanism + + + + + During async reads, the awaiter should continue on the IO thread + + + + + During async writes, the awaiter should continue on the IO thread + + + + + During async connects, the awaiter should continue on the IO thread + + + + + Represents a multi-client socket-server capable of dispatching pipeline clients + + + + + Start listening as a server + + + + + Start listening as a server + + + + + Stop listening as a server + + + + + Release any resources associated with this instance + + + + + Release any resources associated with this instance + + + + + Create a new instance of a socket server + + + + + Invoked when the server has faulted + + + + + Invoked when a client has faulted + + + + + Invoked when the server starts + + + + + Invoked when a new client connects + + + + + The state of a client connection + + + + + The transport to use for this connection + + + + + The remote endpoint that the client connected from + + + + + Provides serves to shim between streams and pipelines + + + + + Exposes a Stream as a duplex pipe + + + + + Gets a string representation of this object + + + + + Gets whether read operations are available + + + + + Gets whether write operations are available + + + + + Gets whether the stream can timeout + + + + + Gets whether the seek operations are supported on this stream + + + + + Change the position of the stream + + + + + Query the length of the stream + + + + + Get or set the position of the stream + + + + + Specify the length of the stream + + + + + Read a buffer from the stream + + + + + Reads a single byte + + + + + Write a buffer to the stream + + + + + Perform an asynchronous write operation + + + + + Write a single byte + + + + + Begin an asynchronous write operation + + + + + End an asynchronous write operation + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Close the stream + + + + + Signals that writing is complete; no more data will be written + + + + + Signals that reading is complete; no more data will be read + + + + + Begin an asynchronous read operation + + + + + End an asynchronous read operation + + + + + Perform an asynchronous read operation + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a PipeReader that consumes the provided stream + + + + + Create a PipeWriter feeds the provided stream + + + + + Create a duplex stream that represents the provided reader and writer + + + + + Create a duplex stream that represents the provided pipe + + + + + Create a write-only stream that feeds the provided PipeReader + + The writer to wrap + The logical name of the reader + + + + Create a read-only stream that consumes the provided PipeReader + + The reader to wrap + The logical name of the reader + + + + A mutex primitive that can be waited or awaited, with support for schedulers + + + + + Time to wait, in milliseconds - or zero for immediate-only + + + + + See Object.ToString + + + + + Create a new MutexSlim instance + + Time to wait, in milliseconds - or zero for immediate-only + The scheduler to use for async continuations, or the thread-pool if omitted + + + + Indicates whether the lock is currently available + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Additional options that influence how TryWait/TryWaitAsync operate + + + + + Default options + + + + + If the mutex cannot be acquired immediately, it is failed + + + + + Disable full TPL flow; more efficient, but no sync-context or execution-context guarantees + + + + + The result of a Wait/WaitAsync operation on MutexSlim; the caller *must* check Success to see whether the mutex was obtained + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + See Object.GetHashCode + + + + + See Object.ToString() + + + + + Compare two LockToken instances for equality + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Release the mutex, if obtained + + + + + A MemoryManager over a raw pointer + + The pointer is assumed to be fully unmanaged, or externally pinned - no attempt will be made to pin this data + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + It is assumed that the span provided is already unmanaged or externally pinned + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Obtains a span that represents the region + + + + + Provides access to a pointer that represents the data (note: no actual pin occurs) + + + + + Has no effect + + + + + Releases all resources associated with this object + + + + diff --git a/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/net5.0/Pipelines.Sockets.Unofficial.xml b/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/net5.0/Pipelines.Sockets.Unofficial.xml new file mode 100644 index 000000000..23e39da1b --- /dev/null +++ b/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/net5.0/Pipelines.Sockets.Unofficial.xml @@ -0,0 +1,2126 @@ + + + + Pipelines.Sockets.Unofficial + + + + + Allocates blocks of memory + + + + + Allocate a new block + + + + + Clear (zero) the supplied region + + + + + An allocator that rents memory from the array-pool provided, returning them to the pool when done + + + + + An array-pool allocator that uses the shared array-pool + + + + + Create a new array-pool allocator that uses the provided array pool (or the shared array-pool otherwise) + + + + + Allocate a new block + + + + + An array-pool allocator that uses the shared array-pool + + + + + An allocator that allocates unmanaged memory, releasing the memory back to the OS when done + + + + + The global instance of the unmanaged allocator + + + + + Allocate a new block + + + + + Options that configure the behaviour of an arena + + + + + The default arena configuration + + + + + The flags that are enabled for the arena + + + + + Tests an individual flag + + + + + The block-size to suggest for new allocations in the arena + + + + + The policy for retaining allocations when memory requirements decrease + + + + + Create a new ArenaOptions instance + + + + + Provides facilities to create new type-specific allocators for use in an arena + + + + + The default allocator factory + + + + + Suggest an allocator for any type + + + + + Suggest an allocator for a blittable type + + + + + Suggest a per-type block size (in bytes) to use for allocations + + + + + Represents a typed subset of data within an arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + An arena allocator that can allocate sequences for multiple data types + + + + + Create a new Arena instance + + + + + Release all resources associated with this arena + + + + + Reset the memory allocated by this arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Get a per-type arena inside a multi-type arena + + + + + Flags that impact behaviour of the arena + + + + + None + + + + + Allocations are cleared at each reset (and when initially allocated), so that they are always wiped before use + + + + + Allocations are cleared when the arena is disposed (or when data is released in line with the retention policy), so that the contents are not released back to the underlying allocator + + + + + When possible, and when no allocator is explicitly provided; prefer using unmanaged memory + + + + + When possible, use pinned memory + + + + + Allow blittable types of the same size to share a pool of data (only applies to multi-type arenas) + + + + + Allow blittable types to all share a single pool of byte-data, using padding to align (only applies to multi-type arenas, and for reasonably sized types) + + + + + Represents a lifetime-bound allocator of multiple non-contiguous memory regions + + + + + The number of elements allocated since the last reset + + + + + Create a new Arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a reference to a new instance from the arena + + + + + Resets the arena; all current allocations should be considered invalid - new allocations may overwrite them + + + + + Releases all resources associated with the arena + + + + + Acts as a fly-weight reference into existing data + + + + + Obtain a text representation of the value + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Create a new reference into an array + + + + + Create a new reference into a memory + + + + + Get a reference to the underlying value + + + + + Convert a reference to the underlying type + + + + + Provides common retention policies + + + + + The default retention policy + + + + + Retain the space required by the previous operation (trim to the size of the last usage) + + + + + Retain nothing (trim aggressively) + + + + + Retain everything (grow only) + + + + + When the required usage drops, decay the retained amount exponentially; growth is instant + + + + + Represents a Sequence without needing to know the type at compile-time + + + + + Returns an empty sequence of the supplied type + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summarizes a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Indicates the type of element defined by the sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Represents a (possibly non-contiguous) region of memory; the read/write cousin or ReadOnlySequence-T + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summaries a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Obtains a reference into the segment + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Calculate the start position of the current sequence + + + + + Calculate the end position of the current sequence + + + + + Calculate a position inside the current sequence + + + + + Try to get the contents as an array + + + + + Obtains a sub-region of a sequence + + + + + Obtains a sub-region of a sequence + + + + + Obtains a sub-region of a sequence + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Attempts to convert a typed read-only-sequence back to a typed sequence; the sequence must have originated from a valid typed sequence + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Obtains the first segment, in terms of a memory + + + + + Obtains the first segment, in terms of a span + + + + + Copy the contents of the sequence into a contiguous region + + + + + If possible, copy the contents of the sequence into a contiguous region + + + + + Create a new single-segment sequence from a memory + + + + + Create a new single-segment sequence from an array + + + + + Create a new single-segment sequence from an array + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as values + + + + + Allows a sequence to be enumerated as values + + + + + Attempt to move the next value + + + + + Progresses the iterator, asserting that space is available, returning a reference to the next value + + + + + Obtain a reference to the current value + + + + + Allows a sequence to be enumerated as spans + + + + + Attempt to move the next segment + + + + + Asserts that another span is available, and returns then next span + + + + + Obtain the current segment + + + + + Allows a sequence to be enumerated as memory instances + + + + + Attempt to move the next segment + + + + + Obtain the current segment + + + + + Asserts that another span is available, and returns then next span + + + + + Similar to Func, but with "in" parameters + + + + + Similar to Func, but with "in" parameters + + + + + Provides utility methods for working with sequences + + + + + Create an array with the contents of the sequence; if possible, an existing + wrapped array may be reused + + + + + Obtain a Sequence from an enumerable; this may reuse existing sequence-compatible data if possible + + + + + Create a list-like object that provides access to the sequence + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Attempt to calculate the net offset of a position + + + + + Attempt to calculate the net offset of a position + + + + + A list-like reference type that can be used in most APIs that expect a list object + + + + + Returns the size of the list + + + + + Allows a sequence to be enumerated as values + + + + + Provide a reference to an element by index + + + + + Get the sequence represented by this list + + + + + Represents an abstract chained segment of mutable memory + + + + + The segment index + + + + + The type of data represented by this segment + + + + + The actual type of memory used for the storage + + + + + The offset of this segment in the chain + + + + + A memory-owner that provides direct access to the root reference + + + + + The root reference of the block, or a null-pointer if the data should not be considered pinned + + + + + Gets the size of the data + + + + + Represents an abstract chained segment of mutable memory + + + + + Creates a new SequenceSegment, optionally attaching the segment to an existing chain + + + + + The length of the memory + + + + + The logical position of the start of this segment + + + + + The next segment in the chain + + + + + The memory represented by this segment + + + + + Get the logical index of this segment + + + + + Get the real type of data being used to hold this data + + + + + Remove the Next node in this chain, terminating the chain - returning the detached segment + + + + + Represents a with lifetime management over the data + + + + + The data represented by this value + + + + + Release any resources associated with this value + + + + + Create a new instance with a call-defined lifetime management callback + + + + + Access the underlying data directly + + + + + + Represent an existing value with dummy lifetime management + + + + + Implements a buffer-writer over arbitrary memory + + + + + Create a new buffer-writer instance that uses a memory pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Get the writer used to append data to this instance + + + + + Gets the amount of data buffered by the writer + + + + + Release all resources associate with this instance + + + + + Gets the currently buffered data as a sequence of read-write buffer-segments + + + + + Gets some subset of the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Gets the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Commit a number of bytes to the underyling buffer + + + + + Access a contiguous write buffer + + + + + Access a contiguous write buffer + + + + + Access a non-contiguous write buffer + + + + + Implements a over an + + + + + Creates a new instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates that a connection was aborted + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Indicates that a connection was reset + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + An implementation of a pipe-scheduler that uses a dedicated pool of threads, deferring to + the thread-pool if that becomes too backlogged + + + + + Reusable shared scheduler instance + + + + + Indicates whether the current thread is a worker, optionally for the specific pool + (otherwise for any pool) + + + + + The name of the pool + + + + + The number of workers associated with this pool + + + + + Create a new dedicated thread-pool + + + + + The total number of operations serviced by the queue + + + + + The total number of operations that could not be serviced by the queue, but which were sent to the thread-pool instead + + + + + Requests to be run on scheduler with being passed in + + + + + The number of workers currently actively engaged in work + + + + + Release the threads associated with this pool; if additional work is requested, it will + be sent to the main thread-pool + + + + + Provides utility methods for working with delegates + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Indicates whether a particular delegate is known to be a single-target delegate + + + + + Indicates whether optimized usage is supported on this environment; without this, it may still + work, but with additional overheads at runtime. + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Provides the current value of the sequence + + + + + Move to the next item in the sequence + + + + + Reset the enumerator, allowing the sequence to be repeated + + + + + A duplex pipe that measures the bytes sent/received + + + + + The total number of bytes sent to the pipe + + + + + The total number of bytes received by the pipe + + + + + Represents a pipe that iterates over a memory-mapped file + + + + + Get a string representation of the object + + + + + Indicates whether this API is likely to work + + + + + Create a pipe-reader over the provided file + + + + + Mark the reader as complete + + + + + + Releases all resources associated with the object + + + + + Cancels an in-progress read + + + + + Indicates how much data was consumed from a read operation + + + + + Indicates how much data was consumed, and how much examined, from a read operation + + + + + Perform an asynchronous read operation + + + + + Attempt to perform a synchronous read operation + + + + + Awaitable SocketAsyncEventArgs, where awaiting the args yields either the BytesTransferred or throws the relevant socket exception + + + + + Abort the current async operation (and prevent future operations) + + + + + Create a new SocketAwaitableEventArgs instance, optionally providing a scheduler for callbacks + + + + + + Get the awaiter for this instance; used as part of "await" + + + + + Indicates whether the current operation is complete; used as part of "await" + + + + + Gets the result of the async operation is complete; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Marks the operation as complete - this should be invoked whenever a SocketAsyncEventArgs operation returns false + + + + + Invoked automatically when an operation completes asynchronously + + + + + Reperesents a duplex pipe over managed sockets + + + + + Open a new or existing socket as a client + + + + + Open a new or existing socket as a client + + + + + Check that all dependencies are available + + + + + When possible, determines how the pipe first reached a close state + + + + + When the ShutdownKind relates to a socket error, may contain the socket error code + + + + + Try to signal the pipe shutdown reason as being due to an application protocol event + + The kind of shutdown; only protocol-related reasons will succeed + True if successful + + + + Set recommended socket options for client sockets + + The socket to set options against + + + + Set recommended socket options for server sockets + + The socket to set options against + + + + Release any resources held by this instance + + + + + Connection for receiving data + + + + + Connection for sending data + + + + + Gets a string representation of this object + + + + + The underlying socket for this connection + + + + + Obtain performance monitoring counters about this connection + + + + + Exposes performance monitoring counters about a connection + + + + + Get the number of bytes currently held in a pipe instance + + + + + The number of bytes available on the socket that have not yet been consumed into the pipe + + + + + The number of bytes available on the send pipe that have not yet been sent to the socket + + + + + The number of bytes available on the receive pipe, i.e. they have been processed from the socket, but not yet read + + + + + Create a SocketConnection instance over an existing socket + + + + + Create a SocketConnection instance over an existing socket + + + + + The total number of bytes read from the socket + + + + + The number of bytes received in the last read + + + + + The total number of bytes sent to the socket + + + + + When possible, determines how the pipe first reached a close state + + + + + The pipe is still open + + + + + The pipe itself was disposed + + + + + The socket-reader reached a natural EOF from the socket + + + + + The socket-reader encountered a dispose failure + + + + + The socket-reader encountered an IO failure + + + + + The socket-reader encountered a general failure + + + + + The socket-reader encountered a socket failure - the SocketError may be populated + + + + + When attempting to flush incoming data, the pipe indicated that it was complete + + + + + When attempting to flush incoming data, the pipe indicated cancelation + + + + + The socket-writerreached a natural EOF from the pipe + + + + + The socket-writer encountered a dispose failure + + + + + The socket-writer encountered an IO failure + + + + + The socket-writer encountered a general failure + + + + + The socket-writer encountered a socket failure - the SocketError may be populated + + + + + The input's reader was completed + + + + + The input's writer was completed + + + + + The output's reader was completed + + + + + The input's writer was completed + + + + + An application defined exit was triggered by the client + + + + + An application defined exit was triggered by the server + + + + + Flags that influence the behavior of SocketConnection + + + + + Default + + + + + When no data is currently available, perform a zero-length read as a buffer-free wait mechanism + + + + + During async reads, the awaiter should continue on the IO thread + + + + + During async writes, the awaiter should continue on the IO thread + + + + + During async connects, the awaiter should continue on the IO thread + + + + + Represents a multi-client socket-server capable of dispatching pipeline clients + + + + + Start listening as a server + + + + + Start listening as a server + + + + + Stop listening as a server + + + + + Release any resources associated with this instance + + + + + Release any resources associated with this instance + + + + + Create a new instance of a socket server + + + + + Invoked when the server has faulted + + + + + Invoked when a client has faulted + + + + + Invoked when the server starts + + + + + Invoked when a new client connects + + + + + The state of a client connection + + + + + The transport to use for this connection + + + + + The remote endpoint that the client connected from + + + + + Provides serves to shim between streams and pipelines + + + + + Exposes a Stream as a duplex pipe + + + + + Gets a string representation of this object + + + + + Gets whether read operations are available + + + + + Gets whether write operations are available + + + + + Gets whether the stream can timeout + + + + + Gets whether the seek operations are supported on this stream + + + + + Change the position of the stream + + + + + Query the length of the stream + + + + + Get or set the position of the stream + + + + + Specify the length of the stream + + + + + Read a buffer from the stream + + + + + Reads a single byte + + + + + Write a buffer to the stream + + + + + Perform an asynchronous write operation + + + + + Write a single byte + + + + + Begin an asynchronous write operation + + + + + End an asynchronous write operation + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Close the stream + + + + + Signals that writing is complete; no more data will be written + + + + + Signals that reading is complete; no more data will be read + + + + + Begin an asynchronous read operation + + + + + End an asynchronous read operation + + + + + Perform an asynchronous read operation + + + + + Write a span to the pipe + + + + + Red a span from the pipe + + + + + Read a span from the pipe + + + + + Write a span to the pipe + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a PipeReader that consumes the provided stream + + + + + Create a PipeWriter feeds the provided stream + + + + + Create a duplex stream that represents the provided reader and writer + + + + + Create a duplex stream that represents the provided pipe + + + + + Create a write-only stream that feeds the provided PipeReader + + The writer to wrap + The logical name of the reader + + + + Create a read-only stream that consumes the provided PipeReader + + The reader to wrap + The logical name of the reader + + + + A mutex primitive that can be waited or awaited, with support for schedulers + + + + + Time to wait, in milliseconds - or zero for immediate-only + + + + + See Object.ToString + + + + + Create a new MutexSlim instance + + Time to wait, in milliseconds - or zero for immediate-only + The scheduler to use for async continuations, or the thread-pool if omitted + + + + Indicates whether the lock is currently available + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Additional options that influence how TryWait/TryWaitAsync operate + + + + + Default options + + + + + If the mutex cannot be acquired immediately, it is failed + + + + + Disable full TPL flow; more efficient, but no sync-context or execution-context guarantees + + + + + The result of a Wait/WaitAsync operation on MutexSlim; the caller *must* check Success to see whether the mutex was obtained + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + See Object.GetHashCode + + + + + See Object.ToString() + + + + + Compare two LockToken instances for equality + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Release the mutex, if obtained + + + + + A MemoryManager over a raw pointer + + The pointer is assumed to be fully unmanaged, or externally pinned - no attempt will be made to pin this data + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + It is assumed that the span provided is already unmanaged or externally pinned + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Obtains a span that represents the region + + + + + Provides access to a pointer that represents the data (note: no actual pin occurs) + + + + + Has no effect + + + + + Releases all resources associated with this object + + + + diff --git a/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/netcoreapp3.1/Pipelines.Sockets.Unofficial.xml b/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/netcoreapp3.1/Pipelines.Sockets.Unofficial.xml new file mode 100644 index 000000000..23e39da1b --- /dev/null +++ b/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/netcoreapp3.1/Pipelines.Sockets.Unofficial.xml @@ -0,0 +1,2126 @@ + + + + Pipelines.Sockets.Unofficial + + + + + Allocates blocks of memory + + + + + Allocate a new block + + + + + Clear (zero) the supplied region + + + + + An allocator that rents memory from the array-pool provided, returning them to the pool when done + + + + + An array-pool allocator that uses the shared array-pool + + + + + Create a new array-pool allocator that uses the provided array pool (or the shared array-pool otherwise) + + + + + Allocate a new block + + + + + An array-pool allocator that uses the shared array-pool + + + + + An allocator that allocates unmanaged memory, releasing the memory back to the OS when done + + + + + The global instance of the unmanaged allocator + + + + + Allocate a new block + + + + + Options that configure the behaviour of an arena + + + + + The default arena configuration + + + + + The flags that are enabled for the arena + + + + + Tests an individual flag + + + + + The block-size to suggest for new allocations in the arena + + + + + The policy for retaining allocations when memory requirements decrease + + + + + Create a new ArenaOptions instance + + + + + Provides facilities to create new type-specific allocators for use in an arena + + + + + The default allocator factory + + + + + Suggest an allocator for any type + + + + + Suggest an allocator for a blittable type + + + + + Suggest a per-type block size (in bytes) to use for allocations + + + + + Represents a typed subset of data within an arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + An arena allocator that can allocate sequences for multiple data types + + + + + Create a new Arena instance + + + + + Release all resources associated with this arena + + + + + Reset the memory allocated by this arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Get a per-type arena inside a multi-type arena + + + + + Flags that impact behaviour of the arena + + + + + None + + + + + Allocations are cleared at each reset (and when initially allocated), so that they are always wiped before use + + + + + Allocations are cleared when the arena is disposed (or when data is released in line with the retention policy), so that the contents are not released back to the underlying allocator + + + + + When possible, and when no allocator is explicitly provided; prefer using unmanaged memory + + + + + When possible, use pinned memory + + + + + Allow blittable types of the same size to share a pool of data (only applies to multi-type arenas) + + + + + Allow blittable types to all share a single pool of byte-data, using padding to align (only applies to multi-type arenas, and for reasonably sized types) + + + + + Represents a lifetime-bound allocator of multiple non-contiguous memory regions + + + + + The number of elements allocated since the last reset + + + + + Create a new Arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a reference to a new instance from the arena + + + + + Resets the arena; all current allocations should be considered invalid - new allocations may overwrite them + + + + + Releases all resources associated with the arena + + + + + Acts as a fly-weight reference into existing data + + + + + Obtain a text representation of the value + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Create a new reference into an array + + + + + Create a new reference into a memory + + + + + Get a reference to the underlying value + + + + + Convert a reference to the underlying type + + + + + Provides common retention policies + + + + + The default retention policy + + + + + Retain the space required by the previous operation (trim to the size of the last usage) + + + + + Retain nothing (trim aggressively) + + + + + Retain everything (grow only) + + + + + When the required usage drops, decay the retained amount exponentially; growth is instant + + + + + Represents a Sequence without needing to know the type at compile-time + + + + + Returns an empty sequence of the supplied type + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summarizes a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Indicates the type of element defined by the sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Represents a (possibly non-contiguous) region of memory; the read/write cousin or ReadOnlySequence-T + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summaries a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Obtains a reference into the segment + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Calculate the start position of the current sequence + + + + + Calculate the end position of the current sequence + + + + + Calculate a position inside the current sequence + + + + + Try to get the contents as an array + + + + + Obtains a sub-region of a sequence + + + + + Obtains a sub-region of a sequence + + + + + Obtains a sub-region of a sequence + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Attempts to convert a typed read-only-sequence back to a typed sequence; the sequence must have originated from a valid typed sequence + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Obtains the first segment, in terms of a memory + + + + + Obtains the first segment, in terms of a span + + + + + Copy the contents of the sequence into a contiguous region + + + + + If possible, copy the contents of the sequence into a contiguous region + + + + + Create a new single-segment sequence from a memory + + + + + Create a new single-segment sequence from an array + + + + + Create a new single-segment sequence from an array + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as values + + + + + Allows a sequence to be enumerated as values + + + + + Attempt to move the next value + + + + + Progresses the iterator, asserting that space is available, returning a reference to the next value + + + + + Obtain a reference to the current value + + + + + Allows a sequence to be enumerated as spans + + + + + Attempt to move the next segment + + + + + Asserts that another span is available, and returns then next span + + + + + Obtain the current segment + + + + + Allows a sequence to be enumerated as memory instances + + + + + Attempt to move the next segment + + + + + Obtain the current segment + + + + + Asserts that another span is available, and returns then next span + + + + + Similar to Func, but with "in" parameters + + + + + Similar to Func, but with "in" parameters + + + + + Provides utility methods for working with sequences + + + + + Create an array with the contents of the sequence; if possible, an existing + wrapped array may be reused + + + + + Obtain a Sequence from an enumerable; this may reuse existing sequence-compatible data if possible + + + + + Create a list-like object that provides access to the sequence + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Attempt to calculate the net offset of a position + + + + + Attempt to calculate the net offset of a position + + + + + A list-like reference type that can be used in most APIs that expect a list object + + + + + Returns the size of the list + + + + + Allows a sequence to be enumerated as values + + + + + Provide a reference to an element by index + + + + + Get the sequence represented by this list + + + + + Represents an abstract chained segment of mutable memory + + + + + The segment index + + + + + The type of data represented by this segment + + + + + The actual type of memory used for the storage + + + + + The offset of this segment in the chain + + + + + A memory-owner that provides direct access to the root reference + + + + + The root reference of the block, or a null-pointer if the data should not be considered pinned + + + + + Gets the size of the data + + + + + Represents an abstract chained segment of mutable memory + + + + + Creates a new SequenceSegment, optionally attaching the segment to an existing chain + + + + + The length of the memory + + + + + The logical position of the start of this segment + + + + + The next segment in the chain + + + + + The memory represented by this segment + + + + + Get the logical index of this segment + + + + + Get the real type of data being used to hold this data + + + + + Remove the Next node in this chain, terminating the chain - returning the detached segment + + + + + Represents a with lifetime management over the data + + + + + The data represented by this value + + + + + Release any resources associated with this value + + + + + Create a new instance with a call-defined lifetime management callback + + + + + Access the underlying data directly + + + + + + Represent an existing value with dummy lifetime management + + + + + Implements a buffer-writer over arbitrary memory + + + + + Create a new buffer-writer instance that uses a memory pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Get the writer used to append data to this instance + + + + + Gets the amount of data buffered by the writer + + + + + Release all resources associate with this instance + + + + + Gets the currently buffered data as a sequence of read-write buffer-segments + + + + + Gets some subset of the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Gets the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Commit a number of bytes to the underyling buffer + + + + + Access a contiguous write buffer + + + + + Access a contiguous write buffer + + + + + Access a non-contiguous write buffer + + + + + Implements a over an + + + + + Creates a new instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates that a connection was aborted + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Indicates that a connection was reset + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + An implementation of a pipe-scheduler that uses a dedicated pool of threads, deferring to + the thread-pool if that becomes too backlogged + + + + + Reusable shared scheduler instance + + + + + Indicates whether the current thread is a worker, optionally for the specific pool + (otherwise for any pool) + + + + + The name of the pool + + + + + The number of workers associated with this pool + + + + + Create a new dedicated thread-pool + + + + + The total number of operations serviced by the queue + + + + + The total number of operations that could not be serviced by the queue, but which were sent to the thread-pool instead + + + + + Requests to be run on scheduler with being passed in + + + + + The number of workers currently actively engaged in work + + + + + Release the threads associated with this pool; if additional work is requested, it will + be sent to the main thread-pool + + + + + Provides utility methods for working with delegates + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Indicates whether a particular delegate is known to be a single-target delegate + + + + + Indicates whether optimized usage is supported on this environment; without this, it may still + work, but with additional overheads at runtime. + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Provides the current value of the sequence + + + + + Move to the next item in the sequence + + + + + Reset the enumerator, allowing the sequence to be repeated + + + + + A duplex pipe that measures the bytes sent/received + + + + + The total number of bytes sent to the pipe + + + + + The total number of bytes received by the pipe + + + + + Represents a pipe that iterates over a memory-mapped file + + + + + Get a string representation of the object + + + + + Indicates whether this API is likely to work + + + + + Create a pipe-reader over the provided file + + + + + Mark the reader as complete + + + + + + Releases all resources associated with the object + + + + + Cancels an in-progress read + + + + + Indicates how much data was consumed from a read operation + + + + + Indicates how much data was consumed, and how much examined, from a read operation + + + + + Perform an asynchronous read operation + + + + + Attempt to perform a synchronous read operation + + + + + Awaitable SocketAsyncEventArgs, where awaiting the args yields either the BytesTransferred or throws the relevant socket exception + + + + + Abort the current async operation (and prevent future operations) + + + + + Create a new SocketAwaitableEventArgs instance, optionally providing a scheduler for callbacks + + + + + + Get the awaiter for this instance; used as part of "await" + + + + + Indicates whether the current operation is complete; used as part of "await" + + + + + Gets the result of the async operation is complete; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Marks the operation as complete - this should be invoked whenever a SocketAsyncEventArgs operation returns false + + + + + Invoked automatically when an operation completes asynchronously + + + + + Reperesents a duplex pipe over managed sockets + + + + + Open a new or existing socket as a client + + + + + Open a new or existing socket as a client + + + + + Check that all dependencies are available + + + + + When possible, determines how the pipe first reached a close state + + + + + When the ShutdownKind relates to a socket error, may contain the socket error code + + + + + Try to signal the pipe shutdown reason as being due to an application protocol event + + The kind of shutdown; only protocol-related reasons will succeed + True if successful + + + + Set recommended socket options for client sockets + + The socket to set options against + + + + Set recommended socket options for server sockets + + The socket to set options against + + + + Release any resources held by this instance + + + + + Connection for receiving data + + + + + Connection for sending data + + + + + Gets a string representation of this object + + + + + The underlying socket for this connection + + + + + Obtain performance monitoring counters about this connection + + + + + Exposes performance monitoring counters about a connection + + + + + Get the number of bytes currently held in a pipe instance + + + + + The number of bytes available on the socket that have not yet been consumed into the pipe + + + + + The number of bytes available on the send pipe that have not yet been sent to the socket + + + + + The number of bytes available on the receive pipe, i.e. they have been processed from the socket, but not yet read + + + + + Create a SocketConnection instance over an existing socket + + + + + Create a SocketConnection instance over an existing socket + + + + + The total number of bytes read from the socket + + + + + The number of bytes received in the last read + + + + + The total number of bytes sent to the socket + + + + + When possible, determines how the pipe first reached a close state + + + + + The pipe is still open + + + + + The pipe itself was disposed + + + + + The socket-reader reached a natural EOF from the socket + + + + + The socket-reader encountered a dispose failure + + + + + The socket-reader encountered an IO failure + + + + + The socket-reader encountered a general failure + + + + + The socket-reader encountered a socket failure - the SocketError may be populated + + + + + When attempting to flush incoming data, the pipe indicated that it was complete + + + + + When attempting to flush incoming data, the pipe indicated cancelation + + + + + The socket-writerreached a natural EOF from the pipe + + + + + The socket-writer encountered a dispose failure + + + + + The socket-writer encountered an IO failure + + + + + The socket-writer encountered a general failure + + + + + The socket-writer encountered a socket failure - the SocketError may be populated + + + + + The input's reader was completed + + + + + The input's writer was completed + + + + + The output's reader was completed + + + + + The input's writer was completed + + + + + An application defined exit was triggered by the client + + + + + An application defined exit was triggered by the server + + + + + Flags that influence the behavior of SocketConnection + + + + + Default + + + + + When no data is currently available, perform a zero-length read as a buffer-free wait mechanism + + + + + During async reads, the awaiter should continue on the IO thread + + + + + During async writes, the awaiter should continue on the IO thread + + + + + During async connects, the awaiter should continue on the IO thread + + + + + Represents a multi-client socket-server capable of dispatching pipeline clients + + + + + Start listening as a server + + + + + Start listening as a server + + + + + Stop listening as a server + + + + + Release any resources associated with this instance + + + + + Release any resources associated with this instance + + + + + Create a new instance of a socket server + + + + + Invoked when the server has faulted + + + + + Invoked when a client has faulted + + + + + Invoked when the server starts + + + + + Invoked when a new client connects + + + + + The state of a client connection + + + + + The transport to use for this connection + + + + + The remote endpoint that the client connected from + + + + + Provides serves to shim between streams and pipelines + + + + + Exposes a Stream as a duplex pipe + + + + + Gets a string representation of this object + + + + + Gets whether read operations are available + + + + + Gets whether write operations are available + + + + + Gets whether the stream can timeout + + + + + Gets whether the seek operations are supported on this stream + + + + + Change the position of the stream + + + + + Query the length of the stream + + + + + Get or set the position of the stream + + + + + Specify the length of the stream + + + + + Read a buffer from the stream + + + + + Reads a single byte + + + + + Write a buffer to the stream + + + + + Perform an asynchronous write operation + + + + + Write a single byte + + + + + Begin an asynchronous write operation + + + + + End an asynchronous write operation + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Close the stream + + + + + Signals that writing is complete; no more data will be written + + + + + Signals that reading is complete; no more data will be read + + + + + Begin an asynchronous read operation + + + + + End an asynchronous read operation + + + + + Perform an asynchronous read operation + + + + + Write a span to the pipe + + + + + Red a span from the pipe + + + + + Read a span from the pipe + + + + + Write a span to the pipe + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a PipeReader that consumes the provided stream + + + + + Create a PipeWriter feeds the provided stream + + + + + Create a duplex stream that represents the provided reader and writer + + + + + Create a duplex stream that represents the provided pipe + + + + + Create a write-only stream that feeds the provided PipeReader + + The writer to wrap + The logical name of the reader + + + + Create a read-only stream that consumes the provided PipeReader + + The reader to wrap + The logical name of the reader + + + + A mutex primitive that can be waited or awaited, with support for schedulers + + + + + Time to wait, in milliseconds - or zero for immediate-only + + + + + See Object.ToString + + + + + Create a new MutexSlim instance + + Time to wait, in milliseconds - or zero for immediate-only + The scheduler to use for async continuations, or the thread-pool if omitted + + + + Indicates whether the lock is currently available + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Additional options that influence how TryWait/TryWaitAsync operate + + + + + Default options + + + + + If the mutex cannot be acquired immediately, it is failed + + + + + Disable full TPL flow; more efficient, but no sync-context or execution-context guarantees + + + + + The result of a Wait/WaitAsync operation on MutexSlim; the caller *must* check Success to see whether the mutex was obtained + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + See Object.GetHashCode + + + + + See Object.ToString() + + + + + Compare two LockToken instances for equality + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Release the mutex, if obtained + + + + + A MemoryManager over a raw pointer + + The pointer is assumed to be fully unmanaged, or externally pinned - no attempt will be made to pin this data + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + It is assumed that the span provided is already unmanaged or externally pinned + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Obtains a span that represents the region + + + + + Provides access to a pointer that represents the data (note: no actual pin occurs) + + + + + Has no effect + + + + + Releases all resources associated with this object + + + + diff --git a/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/netstandard2.0/Pipelines.Sockets.Unofficial.xml b/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/netstandard2.0/Pipelines.Sockets.Unofficial.xml new file mode 100644 index 000000000..7df504364 --- /dev/null +++ b/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/netstandard2.0/Pipelines.Sockets.Unofficial.xml @@ -0,0 +1,2083 @@ + + + + Pipelines.Sockets.Unofficial + + + + + Allocates blocks of memory + + + + + Allocate a new block + + + + + Clear (zero) the supplied region + + + + + An allocator that rents memory from the array-pool provided, returning them to the pool when done + + + + + An array-pool allocator that uses the shared array-pool + + + + + Create a new array-pool allocator that uses the provided array pool (or the shared array-pool otherwise) + + + + + Allocate a new block + + + + + An array-pool allocator that uses the shared array-pool + + + + + An allocator that allocates unmanaged memory, releasing the memory back to the OS when done + + + + + The global instance of the unmanaged allocator + + + + + Allocate a new block + + + + + Options that configure the behaviour of an arena + + + + + The default arena configuration + + + + + The flags that are enabled for the arena + + + + + Tests an individual flag + + + + + The block-size to suggest for new allocations in the arena + + + + + The policy for retaining allocations when memory requirements decrease + + + + + Create a new ArenaOptions instance + + + + + Provides facilities to create new type-specific allocators for use in an arena + + + + + The default allocator factory + + + + + Suggest an allocator for any type + + + + + Suggest an allocator for a blittable type + + + + + Suggest a per-type block size (in bytes) to use for allocations + + + + + Represents a typed subset of data within an arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + An arena allocator that can allocate sequences for multiple data types + + + + + Create a new Arena instance + + + + + Release all resources associated with this arena + + + + + Reset the memory allocated by this arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Get a per-type arena inside a multi-type arena + + + + + Flags that impact behaviour of the arena + + + + + None + + + + + Allocations are cleared at each reset (and when initially allocated), so that they are always wiped before use + + + + + Allocations are cleared when the arena is disposed (or when data is released in line with the retention policy), so that the contents are not released back to the underlying allocator + + + + + When possible, and when no allocator is explicitly provided; prefer using unmanaged memory + + + + + When possible, use pinned memory + + + + + Allow blittable types of the same size to share a pool of data (only applies to multi-type arenas) + + + + + Allow blittable types to all share a single pool of byte-data, using padding to align (only applies to multi-type arenas, and for reasonably sized types) + + + + + Represents a lifetime-bound allocator of multiple non-contiguous memory regions + + + + + The number of elements allocated since the last reset + + + + + Create a new Arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a reference to a new instance from the arena + + + + + Resets the arena; all current allocations should be considered invalid - new allocations may overwrite them + + + + + Releases all resources associated with the arena + + + + + Acts as a fly-weight reference into existing data + + + + + Obtain a text representation of the value + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Create a new reference into an array + + + + + Create a new reference into a memory + + + + + Get a reference to the underlying value + + + + + Convert a reference to the underlying type + + + + + Provides common retention policies + + + + + The default retention policy + + + + + Retain the space required by the previous operation (trim to the size of the last usage) + + + + + Retain nothing (trim aggressively) + + + + + Retain everything (grow only) + + + + + When the required usage drops, decay the retained amount exponentially; growth is instant + + + + + Represents a Sequence without needing to know the type at compile-time + + + + + Returns an empty sequence of the supplied type + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summarizes a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Indicates the type of element defined by the sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Represents a (possibly non-contiguous) region of memory; the read/write cousin or ReadOnlySequence-T + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summaries a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Obtains a reference into the segment + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Calculate the start position of the current sequence + + + + + Calculate the end position of the current sequence + + + + + Calculate a position inside the current sequence + + + + + Try to get the contents as an array + + + + + Obtains a sub-region of a sequence + + + + + Obtains a sub-region of a sequence + + + + + Attempts to convert a typed read-only-sequence back to a typed sequence; the sequence must have originated from a valid typed sequence + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Obtains the first segment, in terms of a memory + + + + + Obtains the first segment, in terms of a span + + + + + Copy the contents of the sequence into a contiguous region + + + + + If possible, copy the contents of the sequence into a contiguous region + + + + + Create a new single-segment sequence from a memory + + + + + Create a new single-segment sequence from an array + + + + + Create a new single-segment sequence from an array + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as values + + + + + Allows a sequence to be enumerated as values + + + + + Attempt to move the next value + + + + + Progresses the iterator, asserting that space is available, returning a reference to the next value + + + + + Obtain a reference to the current value + + + + + Allows a sequence to be enumerated as spans + + + + + Attempt to move the next segment + + + + + Asserts that another span is available, and returns then next span + + + + + Obtain the current segment + + + + + Allows a sequence to be enumerated as memory instances + + + + + Attempt to move the next segment + + + + + Obtain the current segment + + + + + Asserts that another span is available, and returns then next span + + + + + Similar to Func, but with "in" parameters + + + + + Similar to Func, but with "in" parameters + + + + + Provides utility methods for working with sequences + + + + + Create an array with the contents of the sequence; if possible, an existing + wrapped array may be reused + + + + + Obtain a Sequence from an enumerable; this may reuse existing sequence-compatible data if possible + + + + + Create a list-like object that provides access to the sequence + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Attempt to calculate the net offset of a position + + + + + Attempt to calculate the net offset of a position + + + + + A list-like reference type that can be used in most APIs that expect a list object + + + + + Returns the size of the list + + + + + Allows a sequence to be enumerated as values + + + + + Provide a reference to an element by index + + + + + Get the sequence represented by this list + + + + + Represents an abstract chained segment of mutable memory + + + + + The segment index + + + + + The type of data represented by this segment + + + + + The actual type of memory used for the storage + + + + + The offset of this segment in the chain + + + + + A memory-owner that provides direct access to the root reference + + + + + The root reference of the block, or a null-pointer if the data should not be considered pinned + + + + + Gets the size of the data + + + + + Represents an abstract chained segment of mutable memory + + + + + Creates a new SequenceSegment, optionally attaching the segment to an existing chain + + + + + The length of the memory + + + + + The logical position of the start of this segment + + + + + The next segment in the chain + + + + + The memory represented by this segment + + + + + Get the logical index of this segment + + + + + Get the real type of data being used to hold this data + + + + + Remove the Next node in this chain, terminating the chain - returning the detached segment + + + + + Represents a with lifetime management over the data + + + + + The data represented by this value + + + + + Release any resources associated with this value + + + + + Create a new instance with a call-defined lifetime management callback + + + + + Access the underlying data directly + + + + + + Represent an existing value with dummy lifetime management + + + + + Implements a buffer-writer over arbitrary memory + + + + + Create a new buffer-writer instance that uses a memory pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Get the writer used to append data to this instance + + + + + Gets the amount of data buffered by the writer + + + + + Release all resources associate with this instance + + + + + Gets the currently buffered data as a sequence of read-write buffer-segments + + + + + Gets some subset of the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Gets the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Commit a number of bytes to the underyling buffer + + + + + Access a contiguous write buffer + + + + + Access a contiguous write buffer + + + + + Access a non-contiguous write buffer + + + + + Implements a over an + + + + + Creates a new instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates that a connection was aborted + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Indicates that a connection was reset + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + An implementation of a pipe-scheduler that uses a dedicated pool of threads, deferring to + the thread-pool if that becomes too backlogged + + + + + Reusable shared scheduler instance + + + + + Indicates whether the current thread is a worker, optionally for the specific pool + (otherwise for any pool) + + + + + The name of the pool + + + + + The number of workers associated with this pool + + + + + Create a new dedicated thread-pool + + + + + The total number of operations serviced by the queue + + + + + The total number of operations that could not be serviced by the queue, but which were sent to the thread-pool instead + + + + + Requests to be run on scheduler with being passed in + + + + + The number of workers currently actively engaged in work + + + + + Release the threads associated with this pool; if additional work is requested, it will + be sent to the main thread-pool + + + + + Provides utility methods for working with delegates + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Indicates whether a particular delegate is known to be a single-target delegate + + + + + Indicates whether optimized usage is supported on this environment; without this, it may still + work, but with additional overheads at runtime. + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Provides the current value of the sequence + + + + + Move to the next item in the sequence + + + + + Reset the enumerator, allowing the sequence to be repeated + + + + + A duplex pipe that measures the bytes sent/received + + + + + The total number of bytes sent to the pipe + + + + + The total number of bytes received by the pipe + + + + + Represents a pipe that iterates over a memory-mapped file + + + + + Get a string representation of the object + + + + + Indicates whether this API is likely to work + + + + + Create a pipe-reader over the provided file + + + + + Mark the reader as complete + + + + + + Releases all resources associated with the object + + + + + Cancels an in-progress read + + + + + Indicates how much data was consumed from a read operation + + + + + Indicates how much data was consumed, and how much examined, from a read operation + + + + + Perform an asynchronous read operation + + + + + Attempt to perform a synchronous read operation + + + + + Awaitable SocketAsyncEventArgs, where awaiting the args yields either the BytesTransferred or throws the relevant socket exception + + + + + Abort the current async operation (and prevent future operations) + + + + + Create a new SocketAwaitableEventArgs instance, optionally providing a scheduler for callbacks + + + + + + Get the awaiter for this instance; used as part of "await" + + + + + Indicates whether the current operation is complete; used as part of "await" + + + + + Gets the result of the async operation is complete; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Marks the operation as complete - this should be invoked whenever a SocketAsyncEventArgs operation returns false + + + + + Invoked automatically when an operation completes asynchronously + + + + + Reperesents a duplex pipe over managed sockets + + + + + Open a new or existing socket as a client + + + + + Open a new or existing socket as a client + + + + + Check that all dependencies are available + + + + + When possible, determines how the pipe first reached a close state + + + + + When the ShutdownKind relates to a socket error, may contain the socket error code + + + + + Try to signal the pipe shutdown reason as being due to an application protocol event + + The kind of shutdown; only protocol-related reasons will succeed + True if successful + + + + Set recommended socket options for client sockets + + The socket to set options against + + + + Set recommended socket options for server sockets + + The socket to set options against + + + + Release any resources held by this instance + + + + + Connection for receiving data + + + + + Connection for sending data + + + + + Gets a string representation of this object + + + + + The underlying socket for this connection + + + + + Obtain performance monitoring counters about this connection + + + + + Exposes performance monitoring counters about a connection + + + + + Get the number of bytes currently held in a pipe instance + + + + + The number of bytes available on the socket that have not yet been consumed into the pipe + + + + + The number of bytes available on the send pipe that have not yet been sent to the socket + + + + + The number of bytes available on the receive pipe, i.e. they have been processed from the socket, but not yet read + + + + + Create a SocketConnection instance over an existing socket + + + + + Create a SocketConnection instance over an existing socket + + + + + The total number of bytes read from the socket + + + + + The number of bytes received in the last read + + + + + The total number of bytes sent to the socket + + + + + When possible, determines how the pipe first reached a close state + + + + + The pipe is still open + + + + + The pipe itself was disposed + + + + + The socket-reader reached a natural EOF from the socket + + + + + The socket-reader encountered a dispose failure + + + + + The socket-reader encountered an IO failure + + + + + The socket-reader encountered a general failure + + + + + The socket-reader encountered a socket failure - the SocketError may be populated + + + + + When attempting to flush incoming data, the pipe indicated that it was complete + + + + + When attempting to flush incoming data, the pipe indicated cancelation + + + + + The socket-writerreached a natural EOF from the pipe + + + + + The socket-writer encountered a dispose failure + + + + + The socket-writer encountered an IO failure + + + + + The socket-writer encountered a general failure + + + + + The socket-writer encountered a socket failure - the SocketError may be populated + + + + + The input's reader was completed + + + + + The input's writer was completed + + + + + The output's reader was completed + + + + + The input's writer was completed + + + + + An application defined exit was triggered by the client + + + + + An application defined exit was triggered by the server + + + + + Flags that influence the behavior of SocketConnection + + + + + Default + + + + + When no data is currently available, perform a zero-length read as a buffer-free wait mechanism + + + + + During async reads, the awaiter should continue on the IO thread + + + + + During async writes, the awaiter should continue on the IO thread + + + + + During async connects, the awaiter should continue on the IO thread + + + + + Represents a multi-client socket-server capable of dispatching pipeline clients + + + + + Start listening as a server + + + + + Start listening as a server + + + + + Stop listening as a server + + + + + Release any resources associated with this instance + + + + + Release any resources associated with this instance + + + + + Create a new instance of a socket server + + + + + Invoked when the server has faulted + + + + + Invoked when a client has faulted + + + + + Invoked when the server starts + + + + + Invoked when a new client connects + + + + + The state of a client connection + + + + + The transport to use for this connection + + + + + The remote endpoint that the client connected from + + + + + Provides serves to shim between streams and pipelines + + + + + Exposes a Stream as a duplex pipe + + + + + Gets a string representation of this object + + + + + Gets whether read operations are available + + + + + Gets whether write operations are available + + + + + Gets whether the stream can timeout + + + + + Gets whether the seek operations are supported on this stream + + + + + Change the position of the stream + + + + + Query the length of the stream + + + + + Get or set the position of the stream + + + + + Specify the length of the stream + + + + + Read a buffer from the stream + + + + + Reads a single byte + + + + + Write a buffer to the stream + + + + + Perform an asynchronous write operation + + + + + Write a single byte + + + + + Begin an asynchronous write operation + + + + + End an asynchronous write operation + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Close the stream + + + + + Signals that writing is complete; no more data will be written + + + + + Signals that reading is complete; no more data will be read + + + + + Begin an asynchronous read operation + + + + + End an asynchronous read operation + + + + + Perform an asynchronous read operation + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a PipeReader that consumes the provided stream + + + + + Create a PipeWriter feeds the provided stream + + + + + Create a duplex stream that represents the provided reader and writer + + + + + Create a duplex stream that represents the provided pipe + + + + + Create a write-only stream that feeds the provided PipeReader + + The writer to wrap + The logical name of the reader + + + + Create a read-only stream that consumes the provided PipeReader + + The reader to wrap + The logical name of the reader + + + + A mutex primitive that can be waited or awaited, with support for schedulers + + + + + Time to wait, in milliseconds - or zero for immediate-only + + + + + See Object.ToString + + + + + Create a new MutexSlim instance + + Time to wait, in milliseconds - or zero for immediate-only + The scheduler to use for async continuations, or the thread-pool if omitted + + + + Indicates whether the lock is currently available + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Additional options that influence how TryWait/TryWaitAsync operate + + + + + Default options + + + + + If the mutex cannot be acquired immediately, it is failed + + + + + Disable full TPL flow; more efficient, but no sync-context or execution-context guarantees + + + + + The result of a Wait/WaitAsync operation on MutexSlim; the caller *must* check Success to see whether the mutex was obtained + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + See Object.GetHashCode + + + + + See Object.ToString() + + + + + Compare two LockToken instances for equality + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Release the mutex, if obtained + + + + + A MemoryManager over a raw pointer + + The pointer is assumed to be fully unmanaged, or externally pinned - no attempt will be made to pin this data + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + It is assumed that the span provided is already unmanaged or externally pinned + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Obtains a span that represents the region + + + + + Provides access to a pointer that represents the data (note: no actual pin occurs) + + + + + Has no effect + + + + + Releases all resources associated with this object + + + + diff --git a/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/netstandard2.1/Pipelines.Sockets.Unofficial.xml b/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/netstandard2.1/Pipelines.Sockets.Unofficial.xml new file mode 100644 index 000000000..23e39da1b --- /dev/null +++ b/local-nuget/pipelines.sockets.unofficial/2.2.8/lib/netstandard2.1/Pipelines.Sockets.Unofficial.xml @@ -0,0 +1,2126 @@ + + + + Pipelines.Sockets.Unofficial + + + + + Allocates blocks of memory + + + + + Allocate a new block + + + + + Clear (zero) the supplied region + + + + + An allocator that rents memory from the array-pool provided, returning them to the pool when done + + + + + An array-pool allocator that uses the shared array-pool + + + + + Create a new array-pool allocator that uses the provided array pool (or the shared array-pool otherwise) + + + + + Allocate a new block + + + + + An array-pool allocator that uses the shared array-pool + + + + + An allocator that allocates unmanaged memory, releasing the memory back to the OS when done + + + + + The global instance of the unmanaged allocator + + + + + Allocate a new block + + + + + Options that configure the behaviour of an arena + + + + + The default arena configuration + + + + + The flags that are enabled for the arena + + + + + Tests an individual flag + + + + + The block-size to suggest for new allocations in the arena + + + + + The policy for retaining allocations when memory requirements decrease + + + + + Create a new ArenaOptions instance + + + + + Provides facilities to create new type-specific allocators for use in an arena + + + + + The default allocator factory + + + + + Suggest an allocator for any type + + + + + Suggest an allocator for a blittable type + + + + + Suggest a per-type block size (in bytes) to use for allocations + + + + + Represents a typed subset of data within an arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + An arena allocator that can allocate sequences for multiple data types + + + + + Create a new Arena instance + + + + + Release all resources associated with this arena + + + + + Reset the memory allocated by this arena + + + + + Allocate a single instance as a reference + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Get a per-type arena inside a multi-type arena + + + + + Flags that impact behaviour of the arena + + + + + None + + + + + Allocations are cleared at each reset (and when initially allocated), so that they are always wiped before use + + + + + Allocations are cleared when the arena is disposed (or when data is released in line with the retention policy), so that the contents are not released back to the underlying allocator + + + + + When possible, and when no allocator is explicitly provided; prefer using unmanaged memory + + + + + When possible, use pinned memory + + + + + Allow blittable types of the same size to share a pool of data (only applies to multi-type arenas) + + + + + Allow blittable types to all share a single pool of byte-data, using padding to align (only applies to multi-type arenas, and for reasonably sized types) + + + + + Represents a lifetime-bound allocator of multiple non-contiguous memory regions + + + + + The number of elements allocated since the last reset + + + + + Create a new Arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a (possibly non-contiguous) region of memory from the arena + + + + + Allocate a reference to a new instance from the arena + + + + + Resets the arena; all current allocations should be considered invalid - new allocations may overwrite them + + + + + Releases all resources associated with the arena + + + + + Acts as a fly-weight reference into existing data + + + + + Obtain a text representation of the value + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Used to compare two instances for equality + + + + + Create a new reference into an array + + + + + Create a new reference into a memory + + + + + Get a reference to the underlying value + + + + + Convert a reference to the underlying type + + + + + Provides common retention policies + + + + + The default retention policy + + + + + Retain the space required by the previous operation (trim to the size of the last usage) + + + + + Retain nothing (trim aggressively) + + + + + Retain everything (grow only) + + + + + When the required usage drops, decay the retained amount exponentially; growth is instant + + + + + Represents a Sequence without needing to know the type at compile-time + + + + + Returns an empty sequence of the supplied type + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summarizes a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Indicates the type of element defined by the sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Represents a (possibly non-contiguous) region of memory; the read/write cousin or ReadOnlySequence-T + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts an untyped sequence back to a typed sequence; the type must be correct + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Used for equality operations + + + + + Summaries a sequence as a string + + + + + Tests two sequences for equality + + + + + Tests two sequences for equality + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Obtains a reference into the segment + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Represents a typed sequence as an untyped sequence + + + + + Converts a typed sequence to a typed read-only-sequence + + + + + Calculate the start position of the current sequence + + + + + Calculate the end position of the current sequence + + + + + Calculate a position inside the current sequence + + + + + Try to get the contents as an array + + + + + Obtains a sub-region of a sequence + + + + + Obtains a sub-region of a sequence + + + + + Obtains a sub-region of a sequence + + + + + Get a reference to an element by index; note that this *can* have + poor performance for multi-segment sequences, but it is usually satisfactory + + + + + Attempts to convert a typed read-only-sequence back to a typed sequence; the sequence must have originated from a valid typed sequence + + + + + Indicates the number of elements in the sequence + + + + + Indicates whether the sequence involves multiple segments, vs whether all the data fits into the first segment + + + + + Indicates whether the sequence is empty (zero elements) + + + + + Obtains the first segment, in terms of a memory + + + + + Obtains the first segment, in terms of a span + + + + + Copy the contents of the sequence into a contiguous region + + + + + If possible, copy the contents of the sequence into a contiguous region + + + + + Create a new single-segment sequence from a memory + + + + + Create a new single-segment sequence from an array + + + + + Create a new single-segment sequence from an array + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as spans + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as memory instances + + + + + Allows a sequence to be enumerated as values + + + + + Allows a sequence to be enumerated as values + + + + + Attempt to move the next value + + + + + Progresses the iterator, asserting that space is available, returning a reference to the next value + + + + + Obtain a reference to the current value + + + + + Allows a sequence to be enumerated as spans + + + + + Attempt to move the next segment + + + + + Asserts that another span is available, and returns then next span + + + + + Obtain the current segment + + + + + Allows a sequence to be enumerated as memory instances + + + + + Attempt to move the next segment + + + + + Obtain the current segment + + + + + Asserts that another span is available, and returns then next span + + + + + Similar to Func, but with "in" parameters + + + + + Similar to Func, but with "in" parameters + + + + + Provides utility methods for working with sequences + + + + + Create an array with the contents of the sequence; if possible, an existing + wrapped array may be reused + + + + + Obtain a Sequence from an enumerable; this may reuse existing sequence-compatible data if possible + + + + + Create a list-like object that provides access to the sequence + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Create an array with the contents of the sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a sequence to a span, applying a projection + + + + + Copy the data from a span to a sequence + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a span to a sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from a sequence to a newly allocated sequence, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Copy the data from between two sequences, applying a projection + + + + + Attempt to calculate the net offset of a position + + + + + Attempt to calculate the net offset of a position + + + + + A list-like reference type that can be used in most APIs that expect a list object + + + + + Returns the size of the list + + + + + Allows a sequence to be enumerated as values + + + + + Provide a reference to an element by index + + + + + Get the sequence represented by this list + + + + + Represents an abstract chained segment of mutable memory + + + + + The segment index + + + + + The type of data represented by this segment + + + + + The actual type of memory used for the storage + + + + + The offset of this segment in the chain + + + + + A memory-owner that provides direct access to the root reference + + + + + The root reference of the block, or a null-pointer if the data should not be considered pinned + + + + + Gets the size of the data + + + + + Represents an abstract chained segment of mutable memory + + + + + Creates a new SequenceSegment, optionally attaching the segment to an existing chain + + + + + The length of the memory + + + + + The logical position of the start of this segment + + + + + The next segment in the chain + + + + + The memory represented by this segment + + + + + Get the logical index of this segment + + + + + Get the real type of data being used to hold this data + + + + + Remove the Next node in this chain, terminating the chain - returning the detached segment + + + + + Represents a with lifetime management over the data + + + + + The data represented by this value + + + + + Release any resources associated with this value + + + + + Create a new instance with a call-defined lifetime management callback + + + + + Access the underlying data directly + + + + + + Represent an existing value with dummy lifetime management + + + + + Implements a buffer-writer over arbitrary memory + + + + + Create a new buffer-writer instance that uses a memory pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Create a new buffer-writer instance that uses an array-pool as the backing store; if the provided pool is null, the shared instance is used + + + + + Get the writer used to append data to this instance + + + + + Gets the amount of data buffered by the writer + + + + + Release all resources associate with this instance + + + + + Gets the currently buffered data as a sequence of read-write buffer-segments + + + + + Gets some subset of the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Gets the currently buffered data as a sequence of read-only buffer-segments (with lifetime management); you + can continue to append data after calling Flush - any additional data will form a new payload + that can be fetched by the next call to Flush + + + + + Commit a number of bytes to the underyling buffer + + + + + Access a contiguous write buffer + + + + + Access a contiguous write buffer + + + + + Access a non-contiguous write buffer + + + + + Implements a over an + + + + + Creates a new instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates that a connection was aborted + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Create a new instance of ConnectionAbortedException + + + + + Indicates that a connection was reset + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + Create a new ConnectionResetException instance + + + + + An implementation of a pipe-scheduler that uses a dedicated pool of threads, deferring to + the thread-pool if that becomes too backlogged + + + + + Reusable shared scheduler instance + + + + + Indicates whether the current thread is a worker, optionally for the specific pool + (otherwise for any pool) + + + + + The name of the pool + + + + + The number of workers associated with this pool + + + + + Create a new dedicated thread-pool + + + + + The total number of operations serviced by the queue + + + + + The total number of operations that could not be serviced by the queue, but which were sent to the thread-pool instead + + + + + Requests to be run on scheduler with being passed in + + + + + The number of workers currently actively engaged in work + + + + + Release the threads associated with this pool; if additional work is requested, it will + be sent to the main thread-pool + + + + + Provides utility methods for working with delegates + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Indicates whether a particular delegate is known to be a single-target delegate + + + + + Indicates whether optimized usage is supported on this environment; without this, it may still + work, but with additional overheads at runtime. + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Iterate over the individual elements of a multicast delegate (without allocation) + + + + + Allows allocation-free enumerator over the individual elements of a multicast delegate + + + + + Provides the current value of the sequence + + + + + Move to the next item in the sequence + + + + + Reset the enumerator, allowing the sequence to be repeated + + + + + A duplex pipe that measures the bytes sent/received + + + + + The total number of bytes sent to the pipe + + + + + The total number of bytes received by the pipe + + + + + Represents a pipe that iterates over a memory-mapped file + + + + + Get a string representation of the object + + + + + Indicates whether this API is likely to work + + + + + Create a pipe-reader over the provided file + + + + + Mark the reader as complete + + + + + + Releases all resources associated with the object + + + + + Cancels an in-progress read + + + + + Indicates how much data was consumed from a read operation + + + + + Indicates how much data was consumed, and how much examined, from a read operation + + + + + Perform an asynchronous read operation + + + + + Attempt to perform a synchronous read operation + + + + + Awaitable SocketAsyncEventArgs, where awaiting the args yields either the BytesTransferred or throws the relevant socket exception + + + + + Abort the current async operation (and prevent future operations) + + + + + Create a new SocketAwaitableEventArgs instance, optionally providing a scheduler for callbacks + + + + + + Get the awaiter for this instance; used as part of "await" + + + + + Indicates whether the current operation is complete; used as part of "await" + + + + + Gets the result of the async operation is complete; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Schedules a continuation for this operation; used as part of "await" + + + + + Marks the operation as complete - this should be invoked whenever a SocketAsyncEventArgs operation returns false + + + + + Invoked automatically when an operation completes asynchronously + + + + + Reperesents a duplex pipe over managed sockets + + + + + Open a new or existing socket as a client + + + + + Open a new or existing socket as a client + + + + + Check that all dependencies are available + + + + + When possible, determines how the pipe first reached a close state + + + + + When the ShutdownKind relates to a socket error, may contain the socket error code + + + + + Try to signal the pipe shutdown reason as being due to an application protocol event + + The kind of shutdown; only protocol-related reasons will succeed + True if successful + + + + Set recommended socket options for client sockets + + The socket to set options against + + + + Set recommended socket options for server sockets + + The socket to set options against + + + + Release any resources held by this instance + + + + + Connection for receiving data + + + + + Connection for sending data + + + + + Gets a string representation of this object + + + + + The underlying socket for this connection + + + + + Obtain performance monitoring counters about this connection + + + + + Exposes performance monitoring counters about a connection + + + + + Get the number of bytes currently held in a pipe instance + + + + + The number of bytes available on the socket that have not yet been consumed into the pipe + + + + + The number of bytes available on the send pipe that have not yet been sent to the socket + + + + + The number of bytes available on the receive pipe, i.e. they have been processed from the socket, but not yet read + + + + + Create a SocketConnection instance over an existing socket + + + + + Create a SocketConnection instance over an existing socket + + + + + The total number of bytes read from the socket + + + + + The number of bytes received in the last read + + + + + The total number of bytes sent to the socket + + + + + When possible, determines how the pipe first reached a close state + + + + + The pipe is still open + + + + + The pipe itself was disposed + + + + + The socket-reader reached a natural EOF from the socket + + + + + The socket-reader encountered a dispose failure + + + + + The socket-reader encountered an IO failure + + + + + The socket-reader encountered a general failure + + + + + The socket-reader encountered a socket failure - the SocketError may be populated + + + + + When attempting to flush incoming data, the pipe indicated that it was complete + + + + + When attempting to flush incoming data, the pipe indicated cancelation + + + + + The socket-writerreached a natural EOF from the pipe + + + + + The socket-writer encountered a dispose failure + + + + + The socket-writer encountered an IO failure + + + + + The socket-writer encountered a general failure + + + + + The socket-writer encountered a socket failure - the SocketError may be populated + + + + + The input's reader was completed + + + + + The input's writer was completed + + + + + The output's reader was completed + + + + + The input's writer was completed + + + + + An application defined exit was triggered by the client + + + + + An application defined exit was triggered by the server + + + + + Flags that influence the behavior of SocketConnection + + + + + Default + + + + + When no data is currently available, perform a zero-length read as a buffer-free wait mechanism + + + + + During async reads, the awaiter should continue on the IO thread + + + + + During async writes, the awaiter should continue on the IO thread + + + + + During async connects, the awaiter should continue on the IO thread + + + + + Represents a multi-client socket-server capable of dispatching pipeline clients + + + + + Start listening as a server + + + + + Start listening as a server + + + + + Stop listening as a server + + + + + Release any resources associated with this instance + + + + + Release any resources associated with this instance + + + + + Create a new instance of a socket server + + + + + Invoked when the server has faulted + + + + + Invoked when a client has faulted + + + + + Invoked when the server starts + + + + + Invoked when a new client connects + + + + + The state of a client connection + + + + + The transport to use for this connection + + + + + The remote endpoint that the client connected from + + + + + Provides serves to shim between streams and pipelines + + + + + Exposes a Stream as a duplex pipe + + + + + Gets a string representation of this object + + + + + Gets whether read operations are available + + + + + Gets whether write operations are available + + + + + Gets whether the stream can timeout + + + + + Gets whether the seek operations are supported on this stream + + + + + Change the position of the stream + + + + + Query the length of the stream + + + + + Get or set the position of the stream + + + + + Specify the length of the stream + + + + + Read a buffer from the stream + + + + + Reads a single byte + + + + + Write a buffer to the stream + + + + + Perform an asynchronous write operation + + + + + Write a single byte + + + + + Begin an asynchronous write operation + + + + + End an asynchronous write operation + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Signal that the written data should be read; this may awaken the reader if inactive, + and suspend the writer if the backlog is too large + + + + + Close the stream + + + + + Signals that writing is complete; no more data will be written + + + + + Signals that reading is complete; no more data will be read + + + + + Begin an asynchronous read operation + + + + + End an asynchronous read operation + + + + + Perform an asynchronous read operation + + + + + Write a span to the pipe + + + + + Red a span from the pipe + + + + + Read a span from the pipe + + + + + Write a span to the pipe + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a duplex pipe that represents the provided stream + + + + + Create a PipeReader that consumes the provided stream + + + + + Create a PipeWriter feeds the provided stream + + + + + Create a duplex stream that represents the provided reader and writer + + + + + Create a duplex stream that represents the provided pipe + + + + + Create a write-only stream that feeds the provided PipeReader + + The writer to wrap + The logical name of the reader + + + + Create a read-only stream that consumes the provided PipeReader + + The reader to wrap + The logical name of the reader + + + + A mutex primitive that can be waited or awaited, with support for schedulers + + + + + Time to wait, in milliseconds - or zero for immediate-only + + + + + See Object.ToString + + + + + Create a new MutexSlim instance + + Time to wait, in milliseconds - or zero for immediate-only + The scheduler to use for async continuations, or the thread-pool if omitted + + + + Indicates whether the lock is currently available + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Attempt to take the lock (Success should be checked by the caller) + + + + + Additional options that influence how TryWait/TryWaitAsync operate + + + + + Default options + + + + + If the mutex cannot be acquired immediately, it is failed + + + + + Disable full TPL flow; more efficient, but no sync-context or execution-context guarantees + + + + + The result of a Wait/WaitAsync operation on MutexSlim; the caller *must* check Success to see whether the mutex was obtained + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + Compare two LockToken instances for equality + + + + + See Object.GetHashCode + + + + + See Object.ToString() + + + + + Compare two LockToken instances for equality + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Indicates whether the mutex was successfully taken + + + + + Release the mutex, if obtained + + + + + A MemoryManager over a raw pointer + + The pointer is assumed to be fully unmanaged, or externally pinned - no attempt will be made to pin this data + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + It is assumed that the span provided is already unmanaged or externally pinned + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Create a new UnmanagedMemoryManager instance at the given pointer and size + + + + + Obtains a span that represents the region + + + + + Provides access to a pointer that represents the data (note: no actual pin occurs) + + + + + Has no effect + + + + + Releases all resources associated with this object + + + + diff --git a/local-nuget/pipelines.sockets.unofficial/2.2.8/pipelines.sockets.unofficial.2.2.8.nupkg b/local-nuget/pipelines.sockets.unofficial/2.2.8/pipelines.sockets.unofficial.2.2.8.nupkg new file mode 100644 index 000000000..8a644a334 Binary files /dev/null and b/local-nuget/pipelines.sockets.unofficial/2.2.8/pipelines.sockets.unofficial.2.2.8.nupkg differ diff --git a/local-nuget/pipelines.sockets.unofficial/2.2.8/pipelines.sockets.unofficial.2.2.8.nupkg.sha512 b/local-nuget/pipelines.sockets.unofficial/2.2.8/pipelines.sockets.unofficial.2.2.8.nupkg.sha512 new file mode 100644 index 000000000..2858f9a05 --- /dev/null +++ b/local-nuget/pipelines.sockets.unofficial/2.2.8/pipelines.sockets.unofficial.2.2.8.nupkg.sha512 @@ -0,0 +1 @@ +OMpD1FmaUwuqnEO0z2mn0TqezlOeTBaqQZ7zvidIG663+g8XBu0hDroCKanS57Zj0aPFdFQGHIjd1tUkRBJ0sw== \ No newline at end of file diff --git a/local-nuget/serilog.sinks.console/5.0.0/.nupkg.metadata b/local-nuget/serilog.sinks.console/5.0.0/.nupkg.metadata new file mode 100644 index 000000000..44137839c --- /dev/null +++ b/local-nuget/serilog.sinks.console/5.0.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "IZ6bn79k+3SRXOBpwSOClUHikSkp2toGPCZ0teUkscv4dpDg9E2R2xVsNkLmwddE4OpNVO3N0xiYsAH556vN8Q==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/serilog.sinks.console/5.0.0/.signature.p7s b/local-nuget/serilog.sinks.console/5.0.0/.signature.p7s new file mode 100644 index 000000000..db1917b58 Binary files /dev/null and b/local-nuget/serilog.sinks.console/5.0.0/.signature.p7s differ diff --git a/local-nuget/serilog.sinks.console/5.0.0/README.md b/local-nuget/serilog.sinks.console/5.0.0/README.md new file mode 100644 index 000000000..b5d27bc9c --- /dev/null +++ b/local-nuget/serilog.sinks.console/5.0.0/README.md @@ -0,0 +1,187 @@ +# Serilog.Sinks.Console [![Build status](https://ci.appveyor.com/api/projects/status/w1w3m1wyk3in1c96/branch/master?svg=true)](https://ci.appveyor.com/project/serilog/serilog-sinks-console/branch/master) [![NuGet Version](http://img.shields.io/nuget/v/Serilog.Sinks.Console.svg?style=flat)](https://www.nuget.org/packages/Serilog.Sinks.Console/) [![Documentation](https://img.shields.io/badge/docs-wiki-yellow.svg)](https://github.com/serilog/serilog/wiki) [![Join the chat at https://gitter.im/serilog/serilog](https://img.shields.io/gitter/room/serilog/serilog.svg)](https://gitter.im/serilog/serilog) [![Help](https://img.shields.io/badge/stackoverflow-serilog-orange.svg)](http://stackoverflow.com/questions/tagged/serilog) + +A Serilog sink that writes log events to the Windows Console or an ANSI terminal via standard output. Coloring and custom themes are supported, including ANSI 256-color themes on macOS, Linux and Windows 10. The default output is plain text; JSON formatting can be plugged in using a package such as [_Serilog.Formatting.Compact_](https://github.com/serilog/serilog-formatting-compact). + +### Getting started + +To use the console sink, first install the [NuGet package](https://nuget.org/packages/serilog.sinks.console): + +```shell +dotnet add package Serilog.Sinks.Console +``` + +Then enable the sink using `WriteTo.Console()`: + +```csharp +Log.Logger = new LoggerConfiguration() + .WriteTo.Console() + .CreateLogger(); + +Log.Information("Hello, world!"); +``` + +Log events will be printed to `STDOUT`: + +``` +[12:50:51 INF] Hello, world! +``` + +### Themes + +The sink will colorize output by default: + +![Colorized Console](https://raw.githubusercontent.com/serilog/serilog-sinks-console/dev/assets/Screenshot.png) + +Themes can be specified when configuring the sink: + +```csharp + .WriteTo.Console(theme: AnsiConsoleTheme.Code) +``` + +The following built-in themes are available: + + * `ConsoleTheme.None` - no styling + * `SystemConsoleTheme.Literate` - styled to replicate _Serilog.Sinks.Literate_, using the `System.Console` coloring modes supported on all Windows/.NET targets; **this is the default when no theme is specified** + * `SystemConsoleTheme.Grayscale` - a theme using only shades of gray, white, and black + * `AnsiConsoleTheme.Literate` - an ANSI 256-color version of the "literate" theme + * `AnsiConsoleTheme.Grayscale` - an ANSI 256-color version of the "grayscale" theme + * `AnsiConsoleTheme.Code` - an ANSI 256-color Visual Studio Code-inspired theme + * `AnsiConsoleTheme.Sixteen` - an ANSI 16-color theme that works well with both light and dark backgrounds + + Adding a new theme is straightforward; examples can be found in the [`SystemConsoleThemes`](https://github.com/serilog/serilog-sinks-console/blob/dev/src/Serilog.Sinks.Console/Sinks/SystemConsole/Themes/SystemConsoleThemes.cs) and [`AnsiConsoleThemes`](https://github.com/serilog/serilog-sinks-console/blob/dev/src/Serilog.Sinks.Console/Sinks/SystemConsole/Themes/AnsiConsoleThemes.cs) classes. + +### Output templates + +The format of events to the console can be modified using the `outputTemplate` configuration parameter: + +```csharp + .WriteTo.Console( + outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}") +``` + +The default template, shown in the example above, uses built-in properties like `Timestamp` and `Level`. Properties from events, including those attached using [enrichers](https://github.com/serilog/serilog/wiki/Enrichment), can also appear in the output template. + +### JSON output + +The sink can write JSON output instead of plain text. `CompactJsonFormatter` or `RenderedCompactJsonFormatter` from [Serilog.Formatting.Compact](https://github.com/serilog/serilog-formatting-compact) is recommended: + +```shell +dotnet add package Serilog.Formatting.Compact +``` + +Pass a formatter to the `Console()` configuration method: + +```csharp + .WriteTo.Console(new RenderedCompactJsonFormatter()) +``` + +Output theming is not available when custom formatters are used. + +### XML `` configuration + +To use the console sink with the [Serilog.Settings.AppSettings](https://github.com/serilog/serilog-settings-appsettings) package, first install that package if you haven't already done so: + +```shell +dotnet add package Serilog.Settings.AppSettings +``` + +Instead of configuring the logger in code, call `ReadFrom.AppSettings()`: + +```csharp +var log = new LoggerConfiguration() + .ReadFrom.AppSettings() + .CreateLogger(); +``` + +In your application's `App.config` or `Web.config` file, specify the console sink assembly under the `` node: + +```xml + + + + +``` + +To configure the console sink with a different theme and include the `SourceContext` in the output, change your `App.config`/`Web.config` to: +```xml + + + + + +``` + +### JSON `appsettings.json` configuration + +To use the console sink with _Microsoft.Extensions.Configuration_, for example with ASP.NET Core or .NET Core, use the [Serilog.Settings.Configuration](https://github.com/serilog/serilog-settings-configuration) package. First install that package if you have not already done so: + +```shell +dotnet add package Serilog.Settings.Configuration +``` + +Instead of configuring the sink directly in code, call `ReadFrom.Configuration()`: + +```csharp +var configuration = new ConfigurationBuilder() + .AddJsonFile("appsettings.json") + .Build(); + +var logger = new LoggerConfiguration() + .ReadFrom.Configuration(configuration) + .CreateLogger(); +``` + +In your `appsettings.json` file, under the `Serilog` node, : +```json +{ + "Serilog": { + "WriteTo": [{"Name": "Console"}] + } +} +``` + +To configure the console sink with a different theme and include the `SourceContext` in the output, change your `appsettings.json` to: +```json +{ + "Serilog": { + "WriteTo": [ + { + "Name": "Console", + "Args": { + "theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console", + "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} {NewLine}{Exception}" + } + } + ] + } +} +``` + +### Performance + +Console logging is synchronous and this can cause bottlenecks in some deployment scenarios. For high-volume console logging, consider using [_Serilog.Sinks.Async_](https://github.com/serilog/serilog-sinks-async) to move console writes to a background thread: + +```csharp +// dotnet add package serilog.sinks.async + +Log.Logger = new LoggerConfiguration() + .WriteTo.Async(wt => wt.Console()) + .CreateLogger(); +``` + +### Contributing + +Would you like to help make the Serilog console sink even better? We keep a list of issues that are approachable for newcomers under the [up-for-grabs](https://github.com/serilog/serilog-sinks-console/issues?labels=up-for-grabs&state=open) label. Before starting work on a pull request, we suggest commenting on, or raising, an issue on the issue tracker so that we can help and coordinate efforts. For more details check out our [contributing guide](CONTRIBUTING.md). + +When contributing please keep in mind our [Code of Conduct](CODE_OF_CONDUCT.md). + + +### Detailed build status + +Branch | AppVeyor | Travis +------------- | ------------- |------------- +dev | [![Build status](https://ci.appveyor.com/api/projects/status/w1w3m1wyk3in1c96/branch/dev?svg=true)](https://ci.appveyor.com/project/serilog/serilog-sinks-console/branch/dev) | [![Build Status](https://travis-ci.org/serilog/serilog-sinks-console.svg?branch=dev)](https://travis-ci.org/serilog/serilog-sinks-console) +main | [![Build status](https://ci.appveyor.com/api/projects/status/w1w3m1wyk3in1c96/branch/main?svg=true)](https://ci.appveyor.com/project/serilog/serilog-sinks-console/branch/main) | [![Build Status](https://travis-ci.org/serilog/serilog-sinks-console.svg?branch=main)](https://travis-ci.org/serilog/serilog-sinks-console) + + +_Copyright © Serilog Contributors - Provided under the [Apache License, Version 2.0](http://apache.org/licenses/LICENSE-2.0.html)._ diff --git a/local-nuget/serilog.sinks.console/5.0.0/Serilog.Sinks.Console.nuspec b/local-nuget/serilog.sinks.console/5.0.0/Serilog.Sinks.Console.nuspec new file mode 100644 index 000000000..98b363551 --- /dev/null +++ b/local-nuget/serilog.sinks.console/5.0.0/Serilog.Sinks.Console.nuspec @@ -0,0 +1,39 @@ + + + + Serilog.Sinks.Console + 5.0.0 + Serilog Contributors + Apache-2.0 + https://licenses.nuget.org/Apache-2.0 + icon.png + README.md + https://github.com/serilog/serilog-sinks-console + A Serilog sink that writes log events to the console/terminal. + serilog console terminal + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/serilog.sinks.console/5.0.0/icon.png b/local-nuget/serilog.sinks.console/5.0.0/icon.png new file mode 100644 index 000000000..9bf45a319 Binary files /dev/null and b/local-nuget/serilog.sinks.console/5.0.0/icon.png differ diff --git a/local-nuget/serilog.sinks.console/5.0.0/lib/net462/Serilog.Sinks.Console.xml b/local-nuget/serilog.sinks.console/5.0.0/lib/net462/Serilog.Sinks.Console.xml new file mode 100644 index 000000000..004e66031 --- /dev/null +++ b/local-nuget/serilog.sinks.console/5.0.0/lib/net462/Serilog.Sinks.Console.xml @@ -0,0 +1,357 @@ + + + + Serilog.Sinks.Console + + + + + Adds the AuditTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Adds the WriteTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Implements the {Level} element. + can now have a fixed width applied to it, as well as casing rules. + Width is set through formats like "u3" (uppercase three chars), + "w1" (one lowercase char), or "t4" (title case four chars). + + + + + Apply upper or lower casing to when is provided. + Returns when no or invalid format provided. + + Provided string for formatting. + Format string. + The provided with formatting applied. + + + + Writes the provided value to the output, applying direction-based padding when is provided. + + Output object to write result. + Provided value. + The alignment settings to apply when rendering . + + + + A console theme using the ANSI terminal escape sequences. Recommended + for Linux and Windows 10+. + + + + + A 256-color theme along the lines of Visual Studio Code. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme in the style of the original Serilog.Sinks.Literate using only standard 16 terminal colors that will work on light backgrounds. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + The base class for styled terminal output. + + + + + No styling applied. + + + + + True if styling applied by the theme is written into the output, and can thus be + buffered and measured. + + + + + Begin a span of text in the specified . + + Output destination. + Style to apply. + The number of characters written to . + + + + Reset the output to un-styled colors. + + Output destination. + + + + The number of characters written by the method. + + + + + Elements styled by a console theme. + + + + + Prominent text, generally content within an event's message. + + + + + Boilerplate text, for example items specified in an output template. + + + + + De-emphasized text, for example literal text in output templates and + punctuation used when writing structured data. + + + + + Output demonstrating some kind of configuration issue, e.g. an invalid + message template token. + + + + + The built-in value. + + + + + Property and type names. + + + + + Strings. + + + + + Numbers. + + + + + values. + + + + + All other scalar values, e.g. instances. + + + + + Unrecognized literal values, e.g. instances. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + A console theme using the styling facilities of the class. Recommended + for Windows versions prior to Windows 10. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme based on the original Serilog "colored console" sink. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + + + + Styling applied using the enumeration. + + + + + The foreground color to apply. + + + + + The background color to apply. + + + + diff --git a/local-nuget/serilog.sinks.console/5.0.0/lib/net471/Serilog.Sinks.Console.xml b/local-nuget/serilog.sinks.console/5.0.0/lib/net471/Serilog.Sinks.Console.xml new file mode 100644 index 000000000..004e66031 --- /dev/null +++ b/local-nuget/serilog.sinks.console/5.0.0/lib/net471/Serilog.Sinks.Console.xml @@ -0,0 +1,357 @@ + + + + Serilog.Sinks.Console + + + + + Adds the AuditTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Adds the WriteTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Implements the {Level} element. + can now have a fixed width applied to it, as well as casing rules. + Width is set through formats like "u3" (uppercase three chars), + "w1" (one lowercase char), or "t4" (title case four chars). + + + + + Apply upper or lower casing to when is provided. + Returns when no or invalid format provided. + + Provided string for formatting. + Format string. + The provided with formatting applied. + + + + Writes the provided value to the output, applying direction-based padding when is provided. + + Output object to write result. + Provided value. + The alignment settings to apply when rendering . + + + + A console theme using the ANSI terminal escape sequences. Recommended + for Linux and Windows 10+. + + + + + A 256-color theme along the lines of Visual Studio Code. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme in the style of the original Serilog.Sinks.Literate using only standard 16 terminal colors that will work on light backgrounds. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + The base class for styled terminal output. + + + + + No styling applied. + + + + + True if styling applied by the theme is written into the output, and can thus be + buffered and measured. + + + + + Begin a span of text in the specified . + + Output destination. + Style to apply. + The number of characters written to . + + + + Reset the output to un-styled colors. + + Output destination. + + + + The number of characters written by the method. + + + + + Elements styled by a console theme. + + + + + Prominent text, generally content within an event's message. + + + + + Boilerplate text, for example items specified in an output template. + + + + + De-emphasized text, for example literal text in output templates and + punctuation used when writing structured data. + + + + + Output demonstrating some kind of configuration issue, e.g. an invalid + message template token. + + + + + The built-in value. + + + + + Property and type names. + + + + + Strings. + + + + + Numbers. + + + + + values. + + + + + All other scalar values, e.g. instances. + + + + + Unrecognized literal values, e.g. instances. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + A console theme using the styling facilities of the class. Recommended + for Windows versions prior to Windows 10. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme based on the original Serilog "colored console" sink. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + + + + Styling applied using the enumeration. + + + + + The foreground color to apply. + + + + + The background color to apply. + + + + diff --git a/local-nuget/serilog.sinks.console/5.0.0/lib/net5.0/Serilog.Sinks.Console.xml b/local-nuget/serilog.sinks.console/5.0.0/lib/net5.0/Serilog.Sinks.Console.xml new file mode 100644 index 000000000..004e66031 --- /dev/null +++ b/local-nuget/serilog.sinks.console/5.0.0/lib/net5.0/Serilog.Sinks.Console.xml @@ -0,0 +1,357 @@ + + + + Serilog.Sinks.Console + + + + + Adds the AuditTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Adds the WriteTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Implements the {Level} element. + can now have a fixed width applied to it, as well as casing rules. + Width is set through formats like "u3" (uppercase three chars), + "w1" (one lowercase char), or "t4" (title case four chars). + + + + + Apply upper or lower casing to when is provided. + Returns when no or invalid format provided. + + Provided string for formatting. + Format string. + The provided with formatting applied. + + + + Writes the provided value to the output, applying direction-based padding when is provided. + + Output object to write result. + Provided value. + The alignment settings to apply when rendering . + + + + A console theme using the ANSI terminal escape sequences. Recommended + for Linux and Windows 10+. + + + + + A 256-color theme along the lines of Visual Studio Code. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme in the style of the original Serilog.Sinks.Literate using only standard 16 terminal colors that will work on light backgrounds. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + The base class for styled terminal output. + + + + + No styling applied. + + + + + True if styling applied by the theme is written into the output, and can thus be + buffered and measured. + + + + + Begin a span of text in the specified . + + Output destination. + Style to apply. + The number of characters written to . + + + + Reset the output to un-styled colors. + + Output destination. + + + + The number of characters written by the method. + + + + + Elements styled by a console theme. + + + + + Prominent text, generally content within an event's message. + + + + + Boilerplate text, for example items specified in an output template. + + + + + De-emphasized text, for example literal text in output templates and + punctuation used when writing structured data. + + + + + Output demonstrating some kind of configuration issue, e.g. an invalid + message template token. + + + + + The built-in value. + + + + + Property and type names. + + + + + Strings. + + + + + Numbers. + + + + + values. + + + + + All other scalar values, e.g. instances. + + + + + Unrecognized literal values, e.g. instances. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + A console theme using the styling facilities of the class. Recommended + for Windows versions prior to Windows 10. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme based on the original Serilog "colored console" sink. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + + + + Styling applied using the enumeration. + + + + + The foreground color to apply. + + + + + The background color to apply. + + + + diff --git a/local-nuget/serilog.sinks.console/5.0.0/lib/net6.0/Serilog.Sinks.Console.xml b/local-nuget/serilog.sinks.console/5.0.0/lib/net6.0/Serilog.Sinks.Console.xml new file mode 100644 index 000000000..004e66031 --- /dev/null +++ b/local-nuget/serilog.sinks.console/5.0.0/lib/net6.0/Serilog.Sinks.Console.xml @@ -0,0 +1,357 @@ + + + + Serilog.Sinks.Console + + + + + Adds the AuditTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Adds the WriteTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Implements the {Level} element. + can now have a fixed width applied to it, as well as casing rules. + Width is set through formats like "u3" (uppercase three chars), + "w1" (one lowercase char), or "t4" (title case four chars). + + + + + Apply upper or lower casing to when is provided. + Returns when no or invalid format provided. + + Provided string for formatting. + Format string. + The provided with formatting applied. + + + + Writes the provided value to the output, applying direction-based padding when is provided. + + Output object to write result. + Provided value. + The alignment settings to apply when rendering . + + + + A console theme using the ANSI terminal escape sequences. Recommended + for Linux and Windows 10+. + + + + + A 256-color theme along the lines of Visual Studio Code. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme in the style of the original Serilog.Sinks.Literate using only standard 16 terminal colors that will work on light backgrounds. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + The base class for styled terminal output. + + + + + No styling applied. + + + + + True if styling applied by the theme is written into the output, and can thus be + buffered and measured. + + + + + Begin a span of text in the specified . + + Output destination. + Style to apply. + The number of characters written to . + + + + Reset the output to un-styled colors. + + Output destination. + + + + The number of characters written by the method. + + + + + Elements styled by a console theme. + + + + + Prominent text, generally content within an event's message. + + + + + Boilerplate text, for example items specified in an output template. + + + + + De-emphasized text, for example literal text in output templates and + punctuation used when writing structured data. + + + + + Output demonstrating some kind of configuration issue, e.g. an invalid + message template token. + + + + + The built-in value. + + + + + Property and type names. + + + + + Strings. + + + + + Numbers. + + + + + values. + + + + + All other scalar values, e.g. instances. + + + + + Unrecognized literal values, e.g. instances. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + A console theme using the styling facilities of the class. Recommended + for Windows versions prior to Windows 10. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme based on the original Serilog "colored console" sink. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + + + + Styling applied using the enumeration. + + + + + The foreground color to apply. + + + + + The background color to apply. + + + + diff --git a/local-nuget/serilog.sinks.console/5.0.0/lib/net7.0/Serilog.Sinks.Console.xml b/local-nuget/serilog.sinks.console/5.0.0/lib/net7.0/Serilog.Sinks.Console.xml new file mode 100644 index 000000000..004e66031 --- /dev/null +++ b/local-nuget/serilog.sinks.console/5.0.0/lib/net7.0/Serilog.Sinks.Console.xml @@ -0,0 +1,357 @@ + + + + Serilog.Sinks.Console + + + + + Adds the AuditTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Adds the WriteTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Implements the {Level} element. + can now have a fixed width applied to it, as well as casing rules. + Width is set through formats like "u3" (uppercase three chars), + "w1" (one lowercase char), or "t4" (title case four chars). + + + + + Apply upper or lower casing to when is provided. + Returns when no or invalid format provided. + + Provided string for formatting. + Format string. + The provided with formatting applied. + + + + Writes the provided value to the output, applying direction-based padding when is provided. + + Output object to write result. + Provided value. + The alignment settings to apply when rendering . + + + + A console theme using the ANSI terminal escape sequences. Recommended + for Linux and Windows 10+. + + + + + A 256-color theme along the lines of Visual Studio Code. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme in the style of the original Serilog.Sinks.Literate using only standard 16 terminal colors that will work on light backgrounds. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + The base class for styled terminal output. + + + + + No styling applied. + + + + + True if styling applied by the theme is written into the output, and can thus be + buffered and measured. + + + + + Begin a span of text in the specified . + + Output destination. + Style to apply. + The number of characters written to . + + + + Reset the output to un-styled colors. + + Output destination. + + + + The number of characters written by the method. + + + + + Elements styled by a console theme. + + + + + Prominent text, generally content within an event's message. + + + + + Boilerplate text, for example items specified in an output template. + + + + + De-emphasized text, for example literal text in output templates and + punctuation used when writing structured data. + + + + + Output demonstrating some kind of configuration issue, e.g. an invalid + message template token. + + + + + The built-in value. + + + + + Property and type names. + + + + + Strings. + + + + + Numbers. + + + + + values. + + + + + All other scalar values, e.g. instances. + + + + + Unrecognized literal values, e.g. instances. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + A console theme using the styling facilities of the class. Recommended + for Windows versions prior to Windows 10. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme based on the original Serilog "colored console" sink. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + + + + Styling applied using the enumeration. + + + + + The foreground color to apply. + + + + + The background color to apply. + + + + diff --git a/local-nuget/serilog.sinks.console/5.0.0/lib/netstandard2.0/Serilog.Sinks.Console.xml b/local-nuget/serilog.sinks.console/5.0.0/lib/netstandard2.0/Serilog.Sinks.Console.xml new file mode 100644 index 000000000..004e66031 --- /dev/null +++ b/local-nuget/serilog.sinks.console/5.0.0/lib/netstandard2.0/Serilog.Sinks.Console.xml @@ -0,0 +1,357 @@ + + + + Serilog.Sinks.Console + + + + + Adds the AuditTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Adds the WriteTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Implements the {Level} element. + can now have a fixed width applied to it, as well as casing rules. + Width is set through formats like "u3" (uppercase three chars), + "w1" (one lowercase char), or "t4" (title case four chars). + + + + + Apply upper or lower casing to when is provided. + Returns when no or invalid format provided. + + Provided string for formatting. + Format string. + The provided with formatting applied. + + + + Writes the provided value to the output, applying direction-based padding when is provided. + + Output object to write result. + Provided value. + The alignment settings to apply when rendering . + + + + A console theme using the ANSI terminal escape sequences. Recommended + for Linux and Windows 10+. + + + + + A 256-color theme along the lines of Visual Studio Code. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme in the style of the original Serilog.Sinks.Literate using only standard 16 terminal colors that will work on light backgrounds. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + The base class for styled terminal output. + + + + + No styling applied. + + + + + True if styling applied by the theme is written into the output, and can thus be + buffered and measured. + + + + + Begin a span of text in the specified . + + Output destination. + Style to apply. + The number of characters written to . + + + + Reset the output to un-styled colors. + + Output destination. + + + + The number of characters written by the method. + + + + + Elements styled by a console theme. + + + + + Prominent text, generally content within an event's message. + + + + + Boilerplate text, for example items specified in an output template. + + + + + De-emphasized text, for example literal text in output templates and + punctuation used when writing structured data. + + + + + Output demonstrating some kind of configuration issue, e.g. an invalid + message template token. + + + + + The built-in value. + + + + + Property and type names. + + + + + Strings. + + + + + Numbers. + + + + + values. + + + + + All other scalar values, e.g. instances. + + + + + Unrecognized literal values, e.g. instances. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + A console theme using the styling facilities of the class. Recommended + for Windows versions prior to Windows 10. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme based on the original Serilog "colored console" sink. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + + + + Styling applied using the enumeration. + + + + + The foreground color to apply. + + + + + The background color to apply. + + + + diff --git a/local-nuget/serilog.sinks.console/5.0.0/lib/netstandard2.1/Serilog.Sinks.Console.xml b/local-nuget/serilog.sinks.console/5.0.0/lib/netstandard2.1/Serilog.Sinks.Console.xml new file mode 100644 index 000000000..004e66031 --- /dev/null +++ b/local-nuget/serilog.sinks.console/5.0.0/lib/netstandard2.1/Serilog.Sinks.Console.xml @@ -0,0 +1,357 @@ + + + + Serilog.Sinks.Console + + + + + Adds the AuditTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Adds the WriteTo.Console() extension method to . + + + + + Writes log events to . + + Logger sink configuration. + The minimum level for + events passed through the sink. Ignored when is specified. + A message template describing the format used to write to the sink. + The default is "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}". + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + Supplies culture-specific formatting information, or null. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + The theme to apply to the styled output. If not specified, + uses . + Applies the selected or default theme even when output redirection is detected. + Configuration object allowing method chaining. + When is null + When is null + + + + Writes log events to . + + Logger sink configuration. + Controls the rendering of log events into text, for example to log JSON. To + control plain text formatting, use the overload that accepts an output template. + An object that will be used to `lock` (sync) access to the console output. If you specify this, you + will have the ability to lock on this object, and guarantee that the console sink will not be about to output anything while + the lock is held. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Specifies the level at which events will be written to standard error. + Configuration object allowing method chaining. + When is null + When is null + + + + Implements the {Level} element. + can now have a fixed width applied to it, as well as casing rules. + Width is set through formats like "u3" (uppercase three chars), + "w1" (one lowercase char), or "t4" (title case four chars). + + + + + Apply upper or lower casing to when is provided. + Returns when no or invalid format provided. + + Provided string for formatting. + Format string. + The provided with formatting applied. + + + + Writes the provided value to the output, applying direction-based padding when is provided. + + Output object to write result. + Provided value. + The alignment settings to apply when rendering . + + + + A console theme using the ANSI terminal escape sequences. Recommended + for Linux and Windows 10+. + + + + + A 256-color theme along the lines of Visual Studio Code. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme in the style of the original Serilog.Sinks.Literate using only standard 16 terminal colors that will work on light backgrounds. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + The base class for styled terminal output. + + + + + No styling applied. + + + + + True if styling applied by the theme is written into the output, and can thus be + buffered and measured. + + + + + Begin a span of text in the specified . + + Output destination. + Style to apply. + The number of characters written to . + + + + Reset the output to un-styled colors. + + Output destination. + + + + The number of characters written by the method. + + + + + Elements styled by a console theme. + + + + + Prominent text, generally content within an event's message. + + + + + Boilerplate text, for example items specified in an output template. + + + + + De-emphasized text, for example literal text in output templates and + punctuation used when writing structured data. + + + + + Output demonstrating some kind of configuration issue, e.g. an invalid + message template token. + + + + + The built-in value. + + + + + Property and type names. + + + + + Strings. + + + + + Numbers. + + + + + values. + + + + + All other scalar values, e.g. instances. + + + + + Unrecognized literal values, e.g. instances. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + Level indicator. + + + + + A console theme using the styling facilities of the class. Recommended + for Windows versions prior to Windows 10. + + + + + A theme using only gray, black and white. + + + + + A theme in the style of the original Serilog.Sinks.Literate. + + + + + A theme based on the original Serilog "colored console" sink. + + + + + Construct a theme given a set of styles. + + Styles to apply within the theme. + When is null + + + + + + + + + + + + + + + + + + + Styling applied using the enumeration. + + + + + The foreground color to apply. + + + + + The background color to apply. + + + + diff --git a/local-nuget/serilog.sinks.console/5.0.0/serilog.sinks.console.5.0.0.nupkg b/local-nuget/serilog.sinks.console/5.0.0/serilog.sinks.console.5.0.0.nupkg new file mode 100644 index 000000000..a2fd43c4a Binary files /dev/null and b/local-nuget/serilog.sinks.console/5.0.0/serilog.sinks.console.5.0.0.nupkg differ diff --git a/local-nuget/serilog.sinks.console/5.0.0/serilog.sinks.console.5.0.0.nupkg.sha512 b/local-nuget/serilog.sinks.console/5.0.0/serilog.sinks.console.5.0.0.nupkg.sha512 new file mode 100644 index 000000000..5fe72b484 --- /dev/null +++ b/local-nuget/serilog.sinks.console/5.0.0/serilog.sinks.console.5.0.0.nupkg.sha512 @@ -0,0 +1 @@ +lbwb+E+Ha9zI0iuciPTBNJ6bi0ADet/FZ2u/59rxkptv6zXbKyvT7Ql9sgDrkWriklFrzNkSH/sn0glcRi/h0w== \ No newline at end of file diff --git a/local-nuget/stackexchange.redis/2.8.24/.nupkg.metadata b/local-nuget/stackexchange.redis/2.8.24/.nupkg.metadata new file mode 100644 index 000000000..86970655a --- /dev/null +++ b/local-nuget/stackexchange.redis/2.8.24/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "GWllmsFAtLyhm4C47cOCipGxyEi1NQWTFUHXnJ8hiHOsK/bH3T5eLkWPVW+LRL6jDiB3g3izW3YEHgLuPoJSyA==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/stackexchange.redis/2.8.24/.signature.p7s b/local-nuget/stackexchange.redis/2.8.24/.signature.p7s new file mode 100644 index 000000000..0564661a9 Binary files /dev/null and b/local-nuget/stackexchange.redis/2.8.24/.signature.p7s differ diff --git a/local-nuget/stackexchange.redis/2.8.24/StackExchange.Redis.nuspec b/local-nuget/stackexchange.redis/2.8.24/StackExchange.Redis.nuspec new file mode 100644 index 000000000..0db40ace0 --- /dev/null +++ b/local-nuget/stackexchange.redis/2.8.24/StackExchange.Redis.nuspec @@ -0,0 +1,56 @@ + + + + StackExchange.Redis + 2.8.24 + Stack Exchange, Inc.,Marc Gravell,Nick Craver + Stack Exchange, Inc.,Marc Gravell,Nick Craver + false + MIT + https://licenses.nuget.org/MIT + https://stackexchange.github.io/StackExchange.Redis/ + High performance Redis client, incorporating both synchronous and asynchronous usage. + https://stackexchange.github.io/StackExchange.Redis/ReleaseNotes + 2014 - 2024 Stack Exchange, Inc. + Async Redis Cache PubSub Messaging + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/stackexchange.redis/2.8.24/lib/net461/StackExchange.Redis.xml b/local-nuget/stackexchange.redis/2.8.24/lib/net461/StackExchange.Redis.xml new file mode 100644 index 000000000..9063e53d2 --- /dev/null +++ b/local-nuget/stackexchange.redis/2.8.24/lib/net461/StackExchange.Redis.xml @@ -0,0 +1,12629 @@ + + + + StackExchange.Redis + + + + + Filter determining which Redis clients to kill. + + + + + + Filter arguments builder for `CLIENT KILL`. + + + + + The ID of the client to kill. + + + + + The type of client. + + + + + The authenticated ACL username. + + + + + The endpoint to kill. + + + + + The server endpoint to kill. + + + + + Whether to skip the current connection. + + + + + Age of connection in seconds. + + + + + Sets client id filter. + + Id of the client to kill. + + + + Sets client type filter. + + The type of the client. + + + + Sets the username filter. + + Authenticated ACL username. + + + + Set the endpoint filter. + + The endpoint to kill. + + + + Set the server endpoint filter. + + The server endpoint to kill. + + + + Set the skipMe filter (whether to skip the current connection). + + Whether to skip the current connection. + + + + Set the MaxAgeInSeconds filter. + + Age of connection in seconds. + + + + Describes a GeoEntry element with the corresponding value. + GeoEntries are stored in redis as SortedSetEntries. + + + + + The name of the GeoEntry. + + + + + Describes the longitude and latitude of a GeoEntry. + + + + + Initializes a GeoEntry value. + + The longitude position to use. + The latitude position to use. + The value to store for this position. + + + + The longitude of the GeoEntry. + + + + + The latitude of the GeoEntry. + + + + + A "({Longitude},{Latitude})={Member}" string representation of this entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first entry to compare. + The second entry to compare. + + + + Compares two values for non-equality. + + The first entry to compare. + The second entry to compare. + + + + Describes the longitude and latitude of a GeoEntry. + + + + + The Latitude of the GeoPosition. + + + + + The Longitude of the GeoPosition. + + + + + Creates a new GeoPosition. + + + + + A "{long} {lat}" string representation of this position. + + + + + See . + Diagonals not an issue in the case of lat/long. + + + Diagonals are not an issue in the case of lat/long. + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first position to compare. + The second position to compare. + + + + Compares two values for non-equality. + + The first position to compare. + The second position to compare. + + + + GeoRadius command options. + + + + + No Options. + + + + + Redis will return the coordinates of any results. + + + + + Redis will return the distance from center for all results. + + + + + Redis will return the geo hash value as an integer. (This is the score in the sorted set). + + + + + Populates the commonly used values from the entry (the integer hash is not returned as it is not commonly useful). + + + + + The result of a GeoRadius command. + + + + + Indicate the member being represented. + + + + + The matched member. + + + + + The distance of the matched member from the center of the geo radius command. + + + + + The hash value of the matched member as an integer. (The key in the sorted set). + + Note that this is not the same as the hash returned from GeoHash. + + + + The coordinates of the matched member. + + + + + Returns a new GeoRadiusResult. + + The value from the result. + The distance from the result. + The hash of the result. + The GeoPosition of the result. + + + + A Shape that you can use for a GeoSearch. + + + + + The unit to use for creating the shape. + + + + + The number of shape arguments. + + + + + constructs a . + + The geography unit to use. + + + + A circle drawn on a map bounding. + + + + + Creates a Shape. + + The radius of the circle. + The distance unit the circle will use, defaults to Meters. + + + + Gets the s for this shape. + + + + + A box drawn on a map. + + + + + Initializes a GeoBox. + + The height of the box. + The width of the box. + The distance unit the box will use, defaults to Meters. + + + + Describes a hash-field (a name/value pair). + + + + + Initializes a value. + + The name for this hash entry. + The value for this hash entry. + + + + The name of the hash field. + + + + + The value of the hash field. + + + + + The name of the hash field. + + + + + Converts to a key/value pair. + + The to create a from. + + + + Converts from a key/value pair. + + The to get a from. + + + + A "{name}: {value}" string representation of this entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + A latency entry as reported by the built-in LATENCY HISTORY command. + + + + + The time at which this entry was recorded. + + + + + The latency recorded for this event. + + + + + A latency entry as reported by the built-in LATENCY LATEST command. + + + + + The name of this event. + + + + + The time at which this entry was recorded. + + + + + The latency recorded for this event. + + + + + The max latency recorded for all events. + + + + + The result of a LongestCommonSubsequence command with IDX feature. + Returns a list of the positions of each sub-match. + + + + + Whether this match result contains any matches. + + + + + The matched positions of all the sub-matched strings. + + + + + The length of the longest match. + + + + + Returns a new . + + The matched positions in each string. + The length of the match. + + + + Represents a sub-match of the longest match. i.e first indexes the matched substring in each string. + + + + + The first index of the matched substring in the first string. + + + + + The first index of the matched substring in the second string. + + + + + The length of the match. + + + + + Returns a new Match. + + The first index of the matched substring in the first string. + The first index of the matched substring in the second string. + The length of the match. + + + + A contiguous portion of a redis list. + + + + + A null ListPopResult, indicating no results. + + + + + Whether this object is null/empty. + + + + + The key of the list that this set of entries came form. + + + + + The values from the list. + + + + + Describes a value contained in a stream (a name/value pair). + + + + + Initializes a value. + + The name for this entry. + The value for this entry. + + + + The name of the field. + + + + + The value of the field. + + + + + Converts to a key/value pair. + + The to create a from. + + + + Converts from a key/value pair. + + The to get a from. + + + + The "{name}: {value}" string representation. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + Describes a Redis Stream with an associated array of entries. + + + + + The key for the stream. + + + + + An array of entries contained within the stream. + + + + + Describes a value/expiry pair. + + + + + Creates a from a and a . + + + + + The expiry of this record. + + + + + The value of this record. + + + + + Describes a sorted-set element with the corresponding value. + + + + + Initializes a value. + + The to get an entry for. + The redis score for . + + + + The unique element stored in the sorted set. + + + + + The score against the element. + + + + + The score against the element. + + + + + The unique element stored in the sorted set. + + + + + Converts to a key/value pair. + + The to get a for. + + + + Converts from a key/value pair. + + The to get a for. + + + + A "{element}: {score}" string representation of the entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values by score. + + The to compare to. + + + + Compares two values by score. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + A contiguous portion of a redis sorted set. + + + + + A null SortedSetPopResult, indicating no results. + + + + + Whether this object is null/empty. + + + + + The key of the sorted set these entries came form. + + + + + The provided entries of the sorted set. + + + + + Result of the XAUTOCLAIM command with the JUSTID option. + + + + + A null , indicating no results. + + + + + Whether this object is null/empty. + + + + + The stream ID to be used in the next call to StreamAutoClaim. + + + + + Array of IDs claimed by the command. + + + + + Array of message IDs deleted from the stream. + + + + + Result of the XAUTOCLAIM command. + + + + + A null , indicating no results. + + + + + Whether this object is null/empty. + + + + + The stream ID to be used in the next call to StreamAutoClaim. + + + + + An array of for the successfully claimed entries. + + + + + An array of message IDs deleted from the stream. + + + + + Describes a consumer off a Redis Stream. + + + + + The name of the consumer. + + + + + The number of messages that have been delivered by not yet acknowledged by the consumer. + + + + + Describes a consumer within a consumer group, retrieved using the XINFO CONSUMERS command. . + + + + + The name of the consumer. + + + + + The number of pending messages for the consumer. A pending message is one that has been + received by the consumer but not yet acknowledged. + + + + + The idle time, if any, for the consumer. + + + + + Describes an entry contained in a Redis Stream. + + + + + Creates an stream entry. + + + + + A null stream entry. + + + + + The ID assigned to the message. + + + + + The values contained within the message. + + + + + Search for a specific field by name, returning the value. + + + + + Indicates that the Redis Stream Entry is null. + + + + + Describes a consumer group retrieved using the XINFO GROUPS command. . + + + + + The name of the consumer group. + + + + + The number of consumers within the consumer group. + + + + + The total number of pending messages for the consumer group. A pending message is one that has been + received by a consumer but not yet acknowledged. + + + + + The Id of the last message delivered to the group. + + + + + Total number of entries the group had read. + + + + + The number of entries in the range between the group's read entries and the stream's entries. + + + + + Describes stream information retrieved using the XINFO STREAM command. . + + + + + The number of entries in the stream. + + + + + The number of radix tree keys in the stream. + + + + + The number of radix tree nodes in the stream. + + + + + The number of consumers groups in the stream. + + + + + The first entry in the stream. + + + + + The last entry in the stream. + + + + + The last generated id. + + + + + Describes basic information about pending messages for a consumer group. + + + + + The number of pending messages. A pending message is a message that has been consumed but not yet acknowledged. + + + + + The lowest message ID in the set of pending messages. + + + + + The highest message ID in the set of pending messages. + + + + + An array of consumers within the consumer group that have pending messages. + + + + + Describes properties of a pending message. + A pending message is one that has been received by a consumer but has not yet been acknowledged. + + + + + The ID of the pending message. + + + + + The consumer that received the pending message. + + + + + The time that has passed since the message was last delivered to a consumer. + + + + + The number of times the message has been delivered to a consumer. + + + + + Describes a pair consisting of the Stream Key and the from which to begin reading a stream. + + + + + Read from the beginning of a stream. + + + + + Read new messages. + + + + + Initializes a value. + + The key for the stream. + The position from which to begin reading the stream. + + + + The stream key. + + + + + The offset at which to begin reading the stream. + + + + + The backlog policy to use for commands. This policy comes into effect when a connection is unhealthy or unavailable. + The policy can choose to backlog commands and wait to try them (within their timeout) against a connection when it comes up, + or it could choose to fail fast and throw ASAP. Different apps desire different behaviors with backpressure and how to handle + large amounts of load, so this is configurable to optimize the happy path but avoid spiral-of-death queue scenarios for others. + + + + + Backlog behavior matching StackExchange.Redis's 2.x line, failing fast and not attempting to queue + and retry when a connection is available again. + + + + + Default backlog policy which will allow commands to be issues against an endpoint and queue up. + Commands are still subject to their async timeout (which serves as a queue size check). + + + + + Whether to queue commands while disconnected. + True means queue for attempts up until their timeout. + means to fail ASAP and queue nothing. + + + + + Whether to immediately abandon (with an exception) all pending commands when a connection goes unhealthy. + + + + + Note that in results other than success, no guarantees are made about final state; if you care: snapshot. + + + + + Represents a message that is broadcast via publish/subscribe. + + + + + The Channel:Message string representation. + + + + + + + + + + + The channel that the subscription was created from. + + + + + The channel that the message was broadcast to. + + + + + The value that was broadcast. + + + + + Checks if 2 messages are .Equal(). + + + + + Checks if 2 messages are not .Equal(). + + + + + Represents a message queue of ordered pub/sub notifications. + + + To create a ChannelMessageQueue, use + or . + + + + + The Channel that was subscribed for this queue. + + + + + The string representation of this channel. + + + + + An awaitable task the indicates completion of the queue (including drain of data). + + + + + Consume a message from the channel. + + The to use. + + + + Attempt to synchronously consume a message from the channel. + + The read from the Channel. + + + + Attempt to query the backlog length of the queue. + + The (approximate) count of items in the Channel. + + + + Create a message loop that processes messages sequentially. + + The handler to run when receiving a message. + + + + Create a message loop that processes messages sequentially. + + The handler to execute when receiving a message. + + + + Stop receiving messages on this channel. + + The flags to use when unsubscribing. + + + + Stop receiving messages on this channel. + + The flags to use when unsubscribing. + + + + + + + Represents the state of an individual client connection to redis. + + + + + Address (host and port) of the client. + + + + + Total duration of the connection in seconds. + + + + + Current database ID. + + + + + The flags associated with this connection. + + + + + The client flags can be a combination of: + + + A + Connection to be closed ASAP. + + + b + The client is waiting in a blocking operation. + + + c + Connection to be closed after writing entire reply. + + + d + A watched keys has been modified - EXEC will fail. + + + i + The client is waiting for a VM I/O (deprecated). + + + M + The client is a primary. + + + N + No specific flag set. + + + O + The client is a replica in MONITOR mode. + + + P + The client is a Pub/Sub subscriber. + + + r + The client is in readonly mode against a cluster node. + + + S + The client is a normal replica server. + + + u + The client is unblocked. + + + U + The client is unblocked. + + + x + The client is in a MULTI/EXEC context. + + + t + The client enabled keys tracking in order to perform client side caching. + + + R + The client tracking target client is invalid. + + + B + The client enabled broadcast tracking mode. + + + + + + + + The host of the client (typically an IP address). + + + + + Idle time of the connection in seconds. + + + + + Last command played. + + + + + The name allocated to this connection, if any. + + + + + Number of pattern matching subscriptions. + + + + + The port of the client. + + + + + The raw content from redis. + + + + + Number of channel subscriptions. + + + + + Number of commands in a MULTI/EXEC context. + + + + + A unique 64-bit client ID (introduced in Redis 2.8.12). + + + + + Format the object as a string. + + + + + The class of the connection. + + + + + Client RESP protocol version. Added in Redis 7.0. + + + + + Client RESP protocol version. Added in Redis 7.0. + + + + + Client library name. Added in Redis 7.2. + + + + + + Client library version. Added in Redis 7.2. + + + + + + Indicates a range of slots served by a cluster node. + + + + + Create a new SlotRange value. + + The slot ID to start at. + The slot ID to end at. + + + + The start of the range (inclusive). + + + + + The end of the range (inclusive). + + + + + Indicates whether two ranges are not equal. + + The first slot range. + The second slot range. + + + + Indicates whether two ranges are equal. + + The first slot range. + The second slot range. + + + + Try to parse a string as a range. + + The range string to parse, e.g."1-12". + The parsed , if successful. + + + + Compares the current instance with another object of the same type and returns an integer that indicates + whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + The other slot range to compare to. + + + + See . + + The other slot range to compare to. + + + + Indicates whether two ranges are equal. + + The other slot range to compare to. + + + + + + + String representation ("{from}-{to}") of the range. + + + + + Describes the state of the cluster as reported by a single node. + + + + + Gets all nodes contained in the configuration. + + + + + The node that was asked for the configuration. + + + + + Obtain the node relating to a specified endpoint. + + The endpoint to get a cluster node from. + + + + Gets the node that serves the specified slot. + + The slot ID to get a node by. + + + + Gets the node that serves the specified key's slot. + + The key to identify a node by. + + + + Represents the configuration of a single node in a cluster configuration. + + + + + + Gets all child nodes of the current node. + + + + + Gets the endpoint of the current node. + + + + + Gets whether this node is in a failed state. + + + + + Gets whether this node is possibly in a failed state. + Possibly here means the node we're getting status from can't communicate with it, but doesn't mean it's down for sure. + + + + + Gets whether this is the node which responded to the CLUSTER NODES request. + + + + + Gets whether this node is a replica. + + + + + Gets whether this node is a replica. + + + + + Gets whether this node is flagged as noaddr. + + + + + Gets the node's connection status. + + + + + Gets the unique node-id of the current node. + + + + + Gets the parent node of the current node. + + + + + Gets the unique node-id of the parent of the current node. + + + + + The configuration as reported by the server. + + + + + The slots owned by this server. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates + whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + The to compare to. + + + + See . + + The to compare to. + + + + Indicates whether two instances are equivalent. + + The to compare to. + + + + + + + A string summary of this cluster configuration. + + + + + Represents the commands mapped on a particular configuration. + + + + + The default commands specified by redis. + + + + + The commands available to twemproxy. + + + + + + The commands available to envoyproxy. + + + + + + The commands available to SSDB. + + + + + + The commands available to Sentinel. + + + + + + Create a new , customizing some commands. + + The commands to override. + + + + Creates a by specifying which commands are available or unavailable. + + The commands to specify. + Whether the commands are available or excluded. + + + + See . + + + + + Represents the information known about long-running commands. + + + + + The array composing the arguments of the command. + + + + + The amount of time needed for its execution. + + + + + The time at which the logged command was processed. + + + + + A unique progressive identifier for every slow log entry. + + The entry's unique ID can be used in order to avoid processing slow log entries multiple times (for instance you may have a script sending you an email alert for every new slow log entry). The ID is never reset in the course of the Redis server execution, only a server restart will reset it. + + + + Deduces a link to the redis documentation about the specified command. + + + + + Describes a precondition used in a redis transaction. + + + + + Enforces that the given hash-field must have the specified value. + + The key of the hash to check. + The field in the hash to check. + The value that the hash field must match. + + + + Enforces that the given hash-field must exist. + + The key of the hash to check. + The field in the hash to check. + + + + Enforces that the given hash-field must not have the specified value. + + The key of the hash to check. + The field in the hash to check. + The value that the hash field must not match. + + + + Enforces that the given hash-field must not exist. + + The key of the hash to check. + The field in the hash that must not exist. + + + + Enforces that the given key must exist. + + The key that must exist. + + + + Enforces that the given key must not exist. + + The key that must not exist. + + + + Enforces that the given list index must have the specified value. + + The key of the list to check. + The position in the list to check. + The value of the list position that must match. + + + + Enforces that the given list index must exist. + + The key of the list to check. + The position in the list that must exist. + + + + Enforces that the given list index must not have the specified value. + + The key of the list to check. + The position in the list to check. + The value of the list position must not match. + + + + Enforces that the given list index must not exist. + + The key of the list to check. + The position in the list that must not exist. + + + + Enforces that the given key must have the specified value. + + The key to check. + The value that must match. + + + + Enforces that the given key must not have the specified value. + + The key to check. + The value that must not match. + + + + Enforces that the given hash length is a certain value. + + The key of the hash to check. + The length the hash must have. + + + + Enforces that the given hash length is less than a certain value. + + The key of the hash to check. + The length the hash must be less than. + + + + Enforces that the given hash length is greater than a certain value. + + The key of the hash to check. + The length the hash must be greater than. + + + + Enforces that the given string length is a certain value. + + The key of the string to check. + The length the string must be equal to. + + + + Enforces that the given string length is less than a certain value. + + The key of the string to check. + The length the string must be less than. + + + + Enforces that the given string length is greater than a certain value. + + The key of the string to check. + The length the string must be greater than. + + + + Enforces that the given list length is a certain value. + + The key of the list to check. + The length the list must be equal to. + + + + Enforces that the given list length is less than a certain value. + + The key of the list to check. + The length the list must be less than. + + + + Enforces that the given list length is greater than a certain value. + + The key of the list to check. + The length the list must be greater than. + + + + Enforces that the given set cardinality is a certain value. + + The key of the set to check. + The length the set must be equal to. + + + + Enforces that the given set cardinality is less than a certain value. + + The key of the set to check. + The length the set must be less than. + + + + Enforces that the given set cardinality is greater than a certain value. + + The key of the set to check. + The length the set must be greater than. + + + + Enforces that the given set contains a certain member. + + The key of the set to check. + The member the set must contain. + + + + Enforces that the given set does not contain a certain member. + + The key of the set to check. + The member the set must not contain. + + + + Enforces that the given sorted set cardinality is a certain value. + + The key of the sorted set to check. + The length the sorted set must be equal to. + + + + Enforces that the given sorted set contains a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set cardinality is less than a certain value. + + The key of the sorted set to check. + The length the sorted set must be less than. + + + + Enforces that the given sorted set contains less than a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set cardinality is greater than a certain value. + + The key of the sorted set to check. + The length the sorted set must be greater than. + + + + Enforces that the given sorted set contains more than a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set contains a certain member. + + The key of the sorted set to check. + The member the sorted set must contain. + + + + Enforces that the given sorted set does not contain a certain member. + + The key of the sorted set to check. + The member the sorted set must not contain. + + + + Enforces that the given sorted set member must have the specified score. + + The key of the sorted set to check. + The member the sorted set to check. + The score that member must have. + + + + Enforces that the given sorted set member must not have the specified score. + + The key of the sorted set to check. + The member the sorted set to check. + The score that member must not have. + + + + Enforces that the given sorted set must have the given score. + + The key of the sorted set to check. + The score that the sorted set must have. + + + + Enforces that the given sorted set must not have the given score. + + The key of the sorted set to check. + The score that the sorted set must not have. + + + + Enforces that the given sorted set must have the specified count of the given score. + + The key of the sorted set to check. + The score that the sorted set must have. + The number of members which sorted set must have. + + + + Enforces that the given sorted set must not have the specified count of the given score. + + The key of the sorted set to check. + The score that the sorted set must not have. + The number of members which sorted set must not have. + + + + Enforces that the given stream length is a certain value. + + The key of the stream to check. + The length the stream must have. + + + + Enforces that the given stream length is less than a certain value. + + The key of the stream to check. + The length the stream must be less than. + + + + Enforces that the given stream length is greater than a certain value. + + The key of the stream to check. + The length the stream must be greater than. + + + + Indicates the status of a condition as part of a transaction. + + + + + Indicates whether the condition was satisfied. + + + + + The options relevant to a set of redis connections. + + + Some options are not observed by a after initial creation: + + + + + + + + + + + A LocalCertificateSelectionCallback delegate responsible for selecting the certificate used for authentication; note + that this cannot be specified in the configuration-string. + + + + + A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party; note + that this cannot be specified in the configuration-string. + + + + + The default (not explicitly configured) options for this connection, fetched based on our parsed endpoints. + + + + + Allows modification of a between creation and connection. + Passed in is the endpoint we're connecting to, which type of connection it is, and the socket itself. + For example, a specific local IP endpoint could be bound, linger time altered, etc. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException. + + + + + Indicates whether admin operations should be allowed. + + + + + Specifies the time in milliseconds that the system should allow for asynchronous operations (defaults to SyncTimeout). + + + + + Indicates whether the connection should be encrypted. + + + + + Gets or sets whether the library should identify itself by library-name/version when possible. + + + + + Gets or sets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. + Defaults to "SE.Redis". + + If the value is null, empty or whitespace, then the value from the options-provider is used; + to disable the library name feature, use instead. + + + + Automatically encodes and decodes channels. + + + + + A Boolean value that specifies whether the certificate revocation list is checked during authentication. + + + + + A Boolean value that specifies whether to use per-command validation of strict protocol validity. + This sends an additional command after EVERY command which incurs measurable overhead. + + + The regular RESP protocol does not include correlation identifiers between requests and responses; in exceptional + scenarios, protocol desynchronization can occur, which may not be noticed immediately; this option adds additional data + to ensure that this cannot occur, at the cost of some (small) additional bandwidth usage. + + + + + Create a certificate validation check that checks against the supplied issuer even when not known by the machine. + + The file system path to find the certificate at. + + + + Create a certificate validation check that checks against the supplied issuer even when not known by the machine. + + The issuer to trust. + + + + The client name to use for all connections. + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly. + + + + + The command-map associated with this configuration. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Gets the command map for a given server type, since some supersede settings when connecting. + + + + + Channel to use for broadcasting and listening for configuration change notification. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Specifies the time in milliseconds that should be allowed for connection (defaults to 5 seconds unless SyncTimeout is higher). + + + + + Specifies the default database to be used when calling without any parameters. + + + + + The server version to assume. + + + + + The endpoints defined for this configuration. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. + This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection. + + + + + Controls how often the connection heartbeats. A heartbeat includes: + - Evaluating if any messages have timed out. + - Evaluating connection status (checking for failures). + - Sending a server message to keep the connection alive if needed. + + + This defaults to 1000 milliseconds and should not be changed for most use cases. + If for example you want to evaluate whether commands have violated the at a lower fidelity + than 1000 milliseconds, you could lower this value. + Be aware setting this very low incurs additional overhead of evaluating the above more often. + + + + + Use ThreadPriority.AboveNormal for SocketManager reader and writer threads (true by default). + If , will be used. + + + + + Whether exceptions include identifiable details (key names, additional .Data annotations). + + + + + Whether exceptions include performance counter details. + + + CPU usage, etc - note that this can be problematic on some platforms. + + + + + Specifies the time in seconds at which connections should be pinged to ensure validity. + -1 Defaults to 60 Seconds. + + + + + The to get loggers for connection events. + Note: changes here only affect s created after. + + + + + The username to use to authenticate with the server. + + + + + The password to use to authenticate with the server. + + + + + Specifies whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Type of proxy to use (if any); for example . + + + + + The retry policy to be used for connection reconnects. + + + + + The backlog policy to be used for commands when a connection is unhealthy. + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure. + + + + + Specifies the time in milliseconds that the system should allow for responses before concluding that the socket is unhealthy. + + + + + The service name used to resolve a service via sentinel. + + + + + Gets or sets the SocketManager instance to be used with these options. + If this is null a shared cross-multiplexer is used. + + + This is only used when a is created. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Indicates whether the connection should be encrypted. + + + + + The target-host to use when validating SSL certificate; setting a value here enables SSL mode. + + + + + Configures which SSL/TLS protocols should be allowed. If not set, defaults are chosen by the .NET framework. + + + + + Specifies the time in milliseconds that the system should allow for synchronous operations (defaults to 5 seconds). + + + + + Tie-breaker used to choose between primaries (must match the endpoint exactly). + + + + + The size of the output buffer to use. + + + + + Check configuration every n seconds (every minute by default). + + + + + Parse the configuration from a comma-delimited configuration string. + + The configuration string to parse. + is . + is empty. + + + + Parse the configuration from a comma-delimited configuration string. + + The configuration string to parse. + Whether to ignore unknown elements in . + is . + is empty. + + + + Create a copy of the configuration. + + + + + Apply settings to configure this instance of , e.g. for a specific scenario. + + An action that will update the properties of this instance. + This instance, with any changes made. + + + + Resolve the default port for any endpoints that did not have a port explicitly specified. + + + + + Gets a tie breaker if we both have one set, and should be using one. + + + + + Returns the effective configuration string for this configuration, including Redis credentials. + + + Includes password to allow generation of configuration strings used for connecting multiplexer. + + + + + Returns the effective configuration string for this configuration + with the option to include or exclude the password from the string. + + Whether to include the password. + + + + Allows custom transport implementations, such as http-tunneling via a proxy. + + + + + Specify the redis protocol type. + + + + + Options provider for Azure environments. + + + + + Allow connecting after startup, in the cases where remote cache isn't ready or is overloaded. + + + + + The minimum version of Redis in Azure is 6, so use the widest set of available commands when connecting. + + + + + Lists of domains known to be Azure Redis, so we can light up some helpful functionality + for minimizing downtime during maintenance events and such. + + + + + + + + + + + + + + A defaults providers for . + This providers defaults not explicitly specified and is present to be inherited by environments that want to provide + better defaults for their use case, e.g. in a single wrapper library used many places. + + + Why not just have a default instance? Good question! + Since we null coalesce down to the defaults, there's an inherent pit-of-failure with that approach of . + If you forget anything or if someone creates a provider nulling these out...kaboom. + + + + + The known providers to match against (built into the library) - the default set. + If none of these match, is used. + + + + + The current list of providers to match (potentially modified from defaults via . + + + + + Adds a provider to match endpoints against. The last provider added has the highest priority. + If you want your provider to match everything, implement as return true;. + + The provider to add. + + + + Whether this options provider matches a given endpoint, for automatically selecting a provider based on what's being connected to. + + + + + Gets a provider for the given endpoints, falling back to if nothing more specific is found. + + + + + Gets a provider for a given endpoints, falling back to if nothing more specific is found. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException. + + + + + Indicates whether admin operations should be allowed. + + + + + The backlog policy to be used for commands when a connection is unhealthy. + + + + + A Boolean value that specifies whether the certificate revocation list is checked during authentication. + + + + + A Boolean value that specifies whether to use per-command validation of strict protocol validity. + This sends an additional command after EVERY command which incurs measurable overhead. + + + The regular RESP protocol does not include correlation identifiers between requests and responses; in exceptional + scenarios, protocol desynchronization can occur, which may not be noticed immediately; this option adds additional data + to ensure that this cannot occur, at the cost of some (small) additional bandwidth usage. + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly. + + + + + Specifies the time that should be allowed for connection. + Falls back to Max(5000, SyncTimeout) if null. + + + + + The command-map associated with this configuration. + + + + + Channel to use for broadcasting and listening for configuration change notification. + + + + + The server version to assume. + + + + + Controls how often the connection heartbeats. A heartbeat includes: + - Evaluating if any messages have timed out. + - Evaluating connection status (checking for failures). + - Sending a server message to keep the connection alive if needed. + + Be aware setting this very low incurs additional overhead of evaluating the above more often. + + + + Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. + This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection. + + + + + Whether exceptions include identifiable details (key names, additional .Data annotations). + + + + + Whether exceptions include performance counter details. + + + CPU usage, etc - note that this can be problematic on some platforms. + + + + + Specifies the time interval at which connections should be pinged to ensure validity. + + + + + The to get loggers for connection events. + Note: changes here only affect s created after. + + + + + Type of proxy to use (if any); for example . + + + + + The retry policy to be used for connection reconnects. + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure. + + + + + Specifies the time that the system should allow for synchronous operations. + + + + + Tie-breaker used to choose between primaries (must match the endpoint exactly). + + + + + Check configuration every n interval. + + + + + The username to use to authenticate with the server. + + + + + The password to use to authenticate with the server. + + + + + The default client name for a connection, with the library version appended. + + + + + Gets the default client name for a connection. + + + + + Gets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. + Defaults to "SE.Redis". + + + + + String version of the StackExchange.Redis library, for use in any options. + + + + + Name of the machine we're running on, for use in any options. + + + + + Whether to identify the client by library name/version when possible. + + + + + Tries to get the RoleInstance Id if Microsoft.WindowsAzure.ServiceRuntime is loaded. + In case of any failure, swallows the exception and returns null. + + + Azure, in the default provider? Yes, to maintain existing compatibility/convenience. + Source != destination here. + + + + + The action to perform, if any, immediately after an initial connection completes. + + The multiplexer that just connected. + The logger for the connection, to emit to the connection output log. + + + + Gets the default SSL "enabled or not" based on a set of endpoints. + Note: this setting then applies for *all* endpoints. + + The configured endpoints to determine SSL usage from (e.g. from the port). + Whether to enable SSL for connections (unless explicitly overridden in a direct set). + + + + Gets the SSL Host to check for when connecting to endpoints (customizable in case of internal certificate shenanigans. + + The configured endpoints to determine SSL host from (e.g. from the port). + The common host, if any, detected from the endpoint collection. + + + + Captures redis traffic; intended for debug use. + + + + + Replay the RESP messages for a pair of streams, invoking a callback per operation. + + + + + Replay the RESP messages all the streams in a folder, invoking a callback per operation. + + The directory of captured files to replay. + Operation to perform per replayed message pair. + + + + Validate a RESP stream and return the number of top-level RESP fragments. + + The path of a single file to validate, or a directory of captured files to validate. + + + + Validate a RESP stream and return the number of top-level RESP fragments. + + + + + Create a new instance of a . + + + + + Configures the provided options to perform file-based logging to a directory; + files will be sequential per stream starting from zero, and will blindly overwrite existing files. + + + + + + + + Perform logging on the provided stream. + + + + + + + + + + + Get a typical text representation of a redis command. + + + + + Get a typical text representation of a redis response. + + + + + Allows interception of the transport used to communicate with Redis. + + + + + Gets the underlying socket endpoint to use when connecting to a logical endpoint. + + null should be returned if a socket is not required for this endpoint. + + + + Allows modification of a between creation and connection. + Passed in is the endpoint we're connecting to, which type of connection it is, and the socket itself. + For example, a specific local IP endpoint could be bound, linger time altered, etc. + + + + + Invoked on a connected endpoint before server authentication and other handshakes occur, allowing pre-redis handshakes. By returning a custom , + the entire data flow can be intercepted, providing entire custom transports. + + + + + Create a tunnel via an HTTP proxy server. + + The endpoint to use as an HTTP proxy server. + + + + Illustrates the counters associated with an individual connection. + + + + + The number of operations that have been completed asynchronously. + + + + + The number of operations that have been completed synchronously. + + + + + The type of this connection. + + + + + The number of operations that failed to complete asynchronously. + + + + + Indicates if there are any pending items or failures on this connection. + + + + + Indicates the total number of messages dispatched to a non-preferred endpoint, for example sent + to a primary when the caller stated a preference of replica. + + + + + The number of operations performed on this connection. + + + + + Operations that have been requested, but which have not yet been sent to the server. + + + + + Operations for which the response has been processed, but which are awaiting asynchronous completion. + + + + + Operations that have been sent to the server, but which are awaiting a response. + + + + + The number of sockets used by this logical connection (total, including reconnects). + + + + + The number of subscriptions (with and without patterns) currently held against this connection. + + + + + Indicates the total number of outstanding items against this connection. + + + + + Indicates the total number of writers items against this connection. + + + + + See . + + + + + Contains information about a server connection failure. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + Redis connection type. + Redis connection failure type. + The exception that occurred. + Connection physical name. + + + + Gets the connection-type of the failing connection. + + + + + Gets the failing server-endpoint. + + + + + Gets the exception if available (this can be null). + + + + + The type of failure. + + + + + Returns the physical name of the connection. + + + + + Represents an inter-related group of connections to redis servers. + A reference to this should be held and re-used. + + + + + + No longer used. + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Tracks overall connection multiplexer counts. + + + + + Tracks overall connection multiplexer counts. + + + + + Tracks overall connection multiplexer counts. + + + + + + + + + + + Gets the synchronous timeout associated with the connections. + + + + + Gets the asynchronous timeout associated with the connections. + + + + + Gets the client-name that will be used on all new connections. + + + We null coalesce here instead of in Options so that we don't populate it everywhere (e.g. .ToString()), given it's a default. + + + + + Gets the configuration of the connection. + + + + + Indicates whether any servers are connected. + + + + + Indicates whether any servers are currently trying to connect. + + + + + Get summary statistics associated with all servers in this multiplexer. + + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type contains in the task to wait on. + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + The to log to. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + Action to further modify the parsed configuration options. + The to log to. + + + + Creates a new instance. + + The configuration options to use for this multiplexer. + The to log to. + Note: For Sentinel, do not specify a - this is handled automatically. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + The to log to. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + Action to further modify the parsed configuration options. + The to log to. + + + + Creates a new instance. + + The configuration options to use for this multiplexer. + The to log to. + Note: For Sentinel, do not specify a - this is handled automatically. + + + + Obtain a pub/sub subscriber connection to the specified server. + + The async state object to pass to the created . + + + + Applies common DB number defaults and rules. + + + + + Obtain an interactive connection to a database inside redis. + + The ID to get a database for. + The async state to pass into the resulting . + + + + Compute the hash-slot of a specified key. + + The key to get a hash slot ID for. + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The port for to get a server for. + The async state to pass into the resulting . + + + + Obtain a configuration API for an individual server. + + The "host:port" string to get a server for. + The async state to pass into the resulting . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The port for to get a server for. + + + + Obtain a configuration API for an individual server. + + The endpoint to get a server for. + The async state to pass into the resulting . + + + + Obtain configuration APIs for all servers in this multiplexer. + + + + + Get the hash-slot associated with a given key, if applicable. + This can be useful for grouping operations. + + The to determine the hash slot for. + + + + The number of operations that have been performed on all connections. + + + + + Reconfigure the current connections based on the existing configuration. + + The to log to. + + + + Reconfigure the current connections based on the existing configuration. + + The to log to. + + + + Provides a text overview of the status of all connections. + + + + + Provides a text overview of the status of all connections. + + The to log to. + + + + Triggers a reconfigure of this multiplexer. + This re-assessment of all server endpoints to get the current topology and adjust, the same as if we had first connected. + + + + + Gets all endpoints defined on the multiplexer. + + Whether to get only the endpoints specified explicitly in the config. + + + + Gets the client name for this multiplexer. + + + + + Sends request to all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending). + + + + Sends request to all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher). + + + + Release all resources associated with this object. + + + + + Release all resources associated with this object. + + + + + Close all connections and release all resources associated with this object. + + Whether to allow all in-queue commands to complete first. + + + + Close all connections and release all resources associated with this object. + + Whether to allow all in-queue commands to complete first. + + + + Invoked by the garbage collector. + + + + + For debugging: when not enabled, servers cannot connect. + + + + + For debugging: when not enabled, end-connect is silently ignored (to simulate a long-running connect). + + + + + Raised whenever a physical connection fails. + + + + + Raised whenever an internal error occurs (this is primarily for debugging). + + + + + Raised whenever a physical connection is established. + + + + + Raised when configuration changes are detected. + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast. + This usually means primary/replica changes. + + + + + Raised when server indicates a maintenance event is going to happen. + + + + + Raised when a hash-slot has been relocated. + + + + + Raised when a server replied with an error message. + + + + + Write the configuration of all servers to an output stream. + + The destination stream to write the export to. + The options to use for this export. + + + + Enables or disables a feature flag. + This should only be used under support guidance, and should not be rapidly toggled. + + + + + Returns the state of a feature flag. + This should only be used under support guidance. + + + + + + + + Register a callback to provide an on-demand ambient session provider based on the + calling context; the implementing code is responsible for reliably resolving the same provider + based on ambient context, or returning null to not profile. + + The session provider to register. + + + + Initializes the connection as a Sentinel connection and adds the necessary event handlers to track changes to the managed primaries. + + The to log to, if any. + + + + Create a new instance that connects to a Sentinel server. + + The string configuration to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The string configuration to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a sentinel server, discovers the current primary server + for the specified in the config and returns a managed connection to the current primary server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a sentinel server, discovers the current primary server + for the specified in the config and returns a managed connection to the current primary server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Returns a managed connection to the primary server indicated by the in the config. + + The configuration to be used when connecting to the primary. + The writer to log to, if any. + + + + Switches the SentinelMasterConnection over to a new primary. + + The endpoint responsible for the switch. + The connection that should be switched over to a new primary endpoint. + The writer to log to, if any. + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time). + Set to a negative value to disable this feature. + + + + + Obtains the log of unusual busy patterns. + + + + + Resets the log of unusual busy patterns. + + + + + Gets the subscriber counts for a channel. + + if there's a subscription registered at all. + + + + Gets which server, if any, there's a registered subscription to for this channel. + + + This may be null if there is a subscription, but we don't have a connected server at the moment. + This behavior is fine but IsConnected checks, but is a subtle difference in . + + + + + Handler that executes whenever a message comes in, this doles out messages to any registered handlers. + + + + + Updates all subscriptions re-evaluating their state. + This clears the current server if it's not connected, prepping them to reconnect. + + + + + Ensures all subscriptions are connected to a server, if possible. + + The count of subscriptions attempting to reconnect (same as the count currently not connected). + + + + This is the record of a single subscription to a redis server. + It's the singular channel (which may or may not be a pattern), to one or more handlers. + We subscriber to a redis server once (for all messages) and execute 1-many handlers when a message arrives. + + + + + Whether the we have is connected. + Since we clear on a disconnect, this should stay correct. + + + + + Gets the configured (P)SUBSCRIBE or (P)UNSUBSCRIBE for an action. + + + + + Evaluates state and if we're not currently connected, clears the server reference. + + + + + Provides the ability to iterate over a cursor-based sequence of redis data, synchronously or asynchronously. + + The type of the data in the cursor. + + + + Gets an enumerator for the sequence. + + + + + Gets an enumerator for the sequence. + + + + + Provides the ability to iterate over a cursor-based sequence of redis data, synchronously or asynchronously. + + + + + Gets the current value of the enumerator. + + + + + Release all resources associated with this enumerator. + + + + + Release all resources associated with this enumerator. + + + + + Try to move to the next item in the sequence. + + + + + Try to move to the next item in the sequence. + + + + + Reset the enumerator. + + + + + The cursor position. + + + This may fail on cluster-proxy - I'm OK with this for now. + + + + + A list of endpoints. + + + + + Create a new . + + + + + Create a new . + + The endpoints to add to the collection. + + + + Format an . + + The endpoint to get a string representation for. + + + + Attempt to parse a string into an . + + The endpoint string to parse. + + + + Adds a new endpoint to the list. + + The host:port string to add an endpoint for to the collection. + + + + Adds a new endpoint to the list. + + The host to add. + The port for to add. + + + + Adds a new endpoint to the list. + + The host to add. + The port for to add. + + + + Try adding a new endpoint to the list. + + The endpoint to add. + if the endpoint was added, if not. + + + + See . + + The index to add into the collection at. + The item to insert at . + + + + See . + + The index to replace an endpoint at. + The item to replace the existing endpoint at . + + + + + + + Event information related to redis endpoints. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + + + + The endpoint involved in this event (this can be null). + + + + + Specifies how elements should be aggregated when combining sorted sets. + + + + + The values of the combined elements are added. + + + + + The least value of the combined elements is used. + + + + + The greatest value of the combined elements is used. + + + + + Bitwise operators + + + + + And + + + + + Or + + + + + Xor + + + + + Not + + + + + The client flags can be a combination of: + + + A + Connection to be closed ASAP. + + + b + The client is waiting in a blocking operation. + + + c + Connection to be closed after writing entire reply. + + + d + A watched keys has been modified - EXEC will fail. + + + i + The client is waiting for a VM I/O (deprecated). + + + M + The client is a primary. + + + N + No specific flag set. + + + O + The client is a replica in MONITOR mode. + + + P + The client is a Pub/Sub subscriber. + + + r + The client is in readonly mode against a cluster node. + + + S + The client is a normal replica server. + + + u + The client is unblocked. + + + U + The client is unblocked. + + + x + The client is in a MULTI/EXEC context. + + + t + The client enabled keys tracking in order to perform client side caching. + + + R + The client tracking target client is invalid. + + + B + The client enabled broadcast tracking mode. + + + + + + + + No specific flag set. + + + + + The client is a replica in MONITOR mode. + + + + + The client is a replica in MONITOR mode. + + + + + The client is a normal replica server. + + + + + The client is a normal replica server. + + + + + The client is a primary. + + + + + The client is in a MULTI/EXEC context. + + + + + The client is waiting in a blocking operation. + + + + + A watched keys has been modified - EXEC will fail. + + + + + Connection to be closed after writing entire reply. + + + + + The client is unblocked. + + + + + Connection to be closed ASAP. + + + + + The client is a Pub/Sub subscriber. + + + + + The client is in readonly mode against a cluster node. + + + + + The client is connected via a Unix domain socket. + + + + + The client enabled keys tracking in order to perform client side caching. + + + + + The client tracking target client is invalid. + + + + + The client enabled broadcast tracking mode. + + + + + The class of the connection. + + + + + Regular connections, including MONITOR connections. + + + + + Replication connections. + + + + + Replication connections. + + + + + Subscription connections. + + + + + Behaviour markers associated with a given command. + + + + + Default behaviour. + + + + + From 2.0, this flag is not used. + + + + + The caller is not interested in the result; the caller will immediately receive a default-value + of the expected return type (this value is not indicative of anything at the server). + + + + + This operation should be performed on the primary if it is available, but read operations may + be performed on a replica if no primary is available. This is the default option. + + + + + This operation should only be performed on the primary. + + + + + This operation should be performed on the replica if it is available, but will be performed on + a primary if no replicas are available. Suitable for read operations only. + + + + + This operation should be performed on the replica if it is available, but will be performed on + a primary if no replicas are available. Suitable for read operations only. + + + + + This operation should only be performed on a replica. Suitable for read operations only. + + + + + This operation should only be performed on a replica. Suitable for read operations only. + + + + + Indicates that this operation should not be forwarded to other servers as a result of an ASK or MOVED response. + + + + + Indicates that script-related operations should use EVAL, not SCRIPT LOAD + EVALSHA. + + + + + Track status of a command while communicating with Redis. + + + + + Command status unknown. + + + + + ConnectionMultiplexer has not yet started writing this command to Redis. + + + + + Command has been sent to Redis. + + + + + Command is in the backlog, waiting to be processed and written to Redis. + + + + + The known types of connection failure. + + + + + This event is not a failure. + + + + + No viable connections were available for this operation. + + + + + The socket for this connection failed. + + + + + Either SSL Stream or Redis authentication failed. + + + + + An unexpected response was received from the server. + + + + + An unknown internal error occurred. + + + + + The socket was closed. + + + + + The socket was closed. + + + + + The database is loading and is not available for use. + + + + + It has not been possible to create an initial connection to the redis server(s). + + + + + High-integrity mode was enabled, and a failure was detected. + + + + + The type of a connection. + + + + + Not connection-type related. + + + + + An interactive connection handles request/response commands for accessing data on demand. + + + + + A subscriber connection receives unsolicited messages from the server as pub/sub events occur. + + + + + When performing a range query, by default the start / stop limits are inclusive; + however, both can also be specified separately as exclusive. + + + + + Both start and stop are inclusive. + + + + + Start is exclusive, stop is inclusive. + + + + + Start is inclusive, stop is exclusive. + + + + + Both start and stop are exclusive. + + + + + Specifies the result of operation to set expire time. + + + + + Field deleted because the specified expiration time is due. + + + + + Expiration time/duration updated successfully. + + + + + Expiration not set because of a specified NX | XX | GT | LT condition not met. + + + + + No such field. + + + + + Specifies when to set the expiry for a key. + + + + + Set expiry whether or not there is an existing expiry. + + + + + Set expiry only when the new expiry is greater than current one. + + + + + Set expiry only when the key has an existing expiry. + + + + + Set expiry only when the key has no expiry. + + + + + Set expiry only when the new expiry is less than current one. + + + + + Which settings to export. + + + + + No options. + + + + + The output of INFO. + + + + + The output of CONFIG GET *. + + + + + The output of CLIENT LIST. + + + + + The output of CLUSTER NODES. + + + + + Everything available. + + + + + Units associated with Geo Commands. + + + + + Meters. + + + + + Kilometers. + + + + + Miles. + + + + + Feet. + + + + + Specifies what side of the list to refer to. + + + + + The head of the list. + + + + + The tail of the list. + + + + + Additional options for the MIGRATE command. + + + + + No options specified. + + + + + Do not remove the key from the local instance. + + + + + Replace existing key on the remote instance. + + + + + The direction in which to sequence elements. + + + + + Ordered from low values to high values. + + + + + Ordered from high values to low values. + + + + + Specifies the result of operation to remove the expire time. + + + + + Expiration removed successfully. + + + + + Expiration not removed because of a specified NX | XX | GT | LT condition not met. + + + + + No such field. + + + + + Specifies the proxy that is being used to communicate to redis. + + + + + Direct communication to the redis server(s). + + + + + Communication via twemproxy. + + + + + Communication via envoyproxy. + + + + + Whether a proxy supports databases (e.g. database > 0). + + + + + Whether a proxy supports pub/sub. + + + + + Whether a proxy supports the ConnectionMultiplexer.GetServer. + + + + + Gets whether a given command can be issued only to a primary, or if any server is eligible. + + The to check. + if the command is primary-only, otherwise. + + + + The intrinsic data-types supported by redis. + + + + + + The specified key does not exist. + + + + + Strings are the most basic kind of Redis value. Redis Strings are binary safe, this means that + a Redis string can contain any kind of data, for instance a JPEG image or a serialized Ruby object. + A String value can be at max 512 Megabytes in length. + + + + + + Redis Lists are simply lists of strings, sorted by insertion order. + It is possible to add elements to a Redis List pushing new elements on the head (on the left) or + on the tail (on the right) of the list. + + + + + + Redis Sets are an unordered collection of Strings. It is possible to add, remove, and test for + existence of members in O(1) (constant time regardless of the number of elements contained inside the Set). + Redis Sets have the desirable property of not allowing repeated members. + Adding the same element multiple times will result in a set having a single copy of this element. + Practically speaking this means that adding a member does not require a check if exists then add operation. + + + + + + Redis Sorted Sets are, similarly to Redis Sets, non repeating collections of Strings. + The difference is that every member of a Sorted Set is associated with score, that is used + in order to take the sorted set ordered, from the smallest to the greatest score. + While members are unique, scores may be repeated. + + + + + + Redis Hashes are maps between string fields and string values, so they are the perfect data type + to represent objects (e.g. A User with a number of fields like name, surname, age, and so forth). + + + + + + A Redis Stream is a data structure which models the behavior of an append only log but it has more + advanced features for manipulating the data contained within the stream. Each entry in a + stream contains a unique message ID and a list of name/value pairs containing the entry's data. + + + + + + The data-type was not recognised by the client library. + + + + + Additional operations to perform when making a server a primary. + + + + + No additional operations. + + + + + Set the tie-breaker key on all available primaries, to specify this server. + + + + + Broadcast to the pub-sub channel to listening clients to reconfigure themselves. + + + + + Issue a REPLICAOF to all other known nodes, making this primary of all. + + + + + Issue a REPLICAOF to all other known nodes, making this primary of all. + + + + + All additional operations. + + + + + The underlying result type as defined by Redis. + + + + + No value was received. + + + + + Basic strings typically represent status results such as "OK". + + + + + Error strings represent invalid operation results from the server. + + + + + Integers are returned for count operations and some integer-based increment operations. + + + + + Bulk strings represent typical user content values. + + + + + Array of results (former Multi-bulk). + + + + + Multi-bulk replies represent complex results such as arrays. + + + + + A single null value replacing RESP v2 blob and multi-bulk nulls. + + + + + True or false. + + + + + A floating point number. + + + + + A large number non representable by the type. + + + + + Binary safe error code and message. + + + + + A binary safe string that should be displayed to humans without any escaping or filtering. For instance the output of LATENCY DOCTOR in Redis. + + + + + An unordered collection of key-value pairs. Keys and values can be any other RESP3 type. + + + + + An unordered collection of N other types. + + + + + Like the type, but the client should keep reading the reply ignoring the attribute type, and return it to the client as additional information. + + + + + Out of band data. The format is like the type, but the client should just check the first string element, + stating the type of the out of band data, a call a callback if there is one registered for this specific type of push information. + Push types are not related to replies, since they are information that the server may push at any time in the connection, + so the client should keep reading if it is reading the reply of a command. + + + + + + If an IProfiledCommand is a retransmission of a previous command, this enum + is used to indicate what prompted the retransmission. + + + This can be used to distinguish between transient causes (moving hashslots, joining nodes, etc.) + and incorrect routing. + + + + + + No stated reason. + + + + + Issued to investigate which node owns a key. + + + + + A node has indicated that it does *not* own the given key. + + + + + The type of save operation to perform. + + + + + Instruct Redis to start an Append Only File rewrite process. + The rewrite will create a small optimized version of the current Append Only File. + + + + + + Save the DB in background. The OK code is immediately returned. + Redis forks, the parent continues to serve the clients, the child saves the DB on disk then exits. + A client my be able to check if the operation succeeded using the LASTSAVE command. + + + + + + Save the DB in foreground. + This is almost never a good thing to do, and could cause significant blocking. + Only do this if you know you need to save. + + + + + + Indicates the flavor of a particular redis server. + + + + + Classic redis-server server. + + + + + Monitoring/configuration redis-sentinel server. + + + + + Distributed redis-cluster server. + + + + + Distributed redis installation via twemproxy. + + + + + Redis cluster via envoyproxy. + + + + + Whether a server type can have only a single primary, meaning an election if multiple are found. + + + + + Whether a server type supports . + + + + + Describes an algebraic set operation that can be performed to combine multiple sets. + + + + + Returns the members of the set resulting from the union of all the given sets. + + + + + Returns the members of the set resulting from the intersection of all the given sets. + + + + + Returns the members of the set resulting from the difference between the first set and all the successive sets. + + + + + Defines the persistence behaviour of the server during shutdown. + + + + + The data is persisted if save points are configured. + + + + + The data is NOT persisted even if save points are configured. + + + + + The data is persisted even if save points are NOT configured. + + + + + Enum to manage ordering in sorted sets. + + + + + Bases ordering off of the rank in the sorted set. This means that your start and stop inside the sorted set will be some offset into the set. + + + + + Bases ordering off of the score in the sorted set. This means your start/stop will be some number which is the score for each member in the sorted set. + + + + + Bases ordering off of lexicographical order, this is only appropriate in an instance where all the members of your sorted set are given the same score. + + + + + Indicates when this operation should be performed (only some variations are legal in a given context). + + + + + The operation won't be prevented. + + + + + The operation should only occur when there is an existing value. + + + + + The operation should only occur when the new score is greater than the current score. + + + + + The operation should only occur when the new score is less than the current score. + + + + + The operation should only occur when there is not an existing value. + + + + + Specifies how to compare elements for sorting. + + + + + Elements are interpreted as a double-precision floating point number and sorted numerically. + + + + + Elements are sorted using their alphabetic form + (Redis is UTF-8 aware as long as the !LC_COLLATE environment variable is set at the server). + + + + + Indicates if we index into a string based on bits or bytes. + + + + + Indicates the index is the number of bytes into a string. + + + + + Indicates the index is the number of bits into a string. + + + + + Indicates when this operation should be performed (only some variations are legal in a given context). + + + + + The operation should occur whether or not there is an existing value. + + + + + The operation should only occur when there is an existing value. + + + + + The operation should only occur when there is not an existing value. + + + + + Indicates that a command was illegal and was not sent to the server. + + + + + Creates a new . + + The message for the exception. + + + + Creates a new . + + The message for the exception. + The inner exception. + + + + Indicates the time allotted for a command or operation has expired. + + + + + Creates a new . + + The message for the exception. + The command status, as of when the timeout happened. + + + + status of the command while communicating with Redis. + + + + + Serialization implementation; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates a connection fault when communicating with redis. + + + + + Creates a new . + + The type of connection failure. + The message for the exception. + + + + Creates a new . + + The type of connection failure. + The message for the exception. + The inner exception. + + + + Creates a new . + + The type of connection failure. + The message for the exception. + The inner exception. + The status of the command. + + + + The type of connection failure. + + + + + Status of the command while communicating with Redis. + + + + + Serialization implementation; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates an issue communicating with redis. + + + + + Creates a new . + + The message for the exception. + + + + Creates a new . + + The message for the exception. + The inner exception. + + + + Deserialization constructor; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates an exception raised by a redis server. + + + + + Creates a new . + + The message for the exception. + + + + Represents a retry policy that performs retries, using a randomized exponential back off scheme to determine the interval between retries. + + + + + Initializes a new instance using the specified back off interval with default maxDeltaBackOffMilliseconds of 10 seconds. + + Time in milliseconds for the back-off interval between retries. + + + + Initializes a new instance using the specified back off interval. + + Time in milliseconds for the back-off interval between retries. + Time in milliseconds for the maximum value that the back-off interval can exponentially grow up to. + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state. + Total elapsed time in milliseconds since the last reconnect retry was made. + + + + Utility methods. + + + + + Create a dictionary from an array of HashEntry values. + + The entry to convert to a dictionary. + + + + Create a dictionary from an array of HashEntry values. + + The entry to convert to a dictionary. + + + + Create a dictionary from an array of SortedSetEntry values. + + The set entries to convert to a dictionary. + + + + Create a dictionary from an array of SortedSetEntry values. + + The set entries to convert to a dictionary. + + + + Create a dictionary from an array of key/value pairs. + + The pairs to convert to a dictionary. + + + + Create a dictionary from an array of key/value pairs. + + The pairs to convert to a dictionary. + + + + Create a dictionary from an array of string pairs. + + The pairs to convert to a dictionary. + + + + Create an array of RedisValues from an array of strings. + + The string array to convert to RedisValues. + + + + Create an array of strings from an array of values. + + The values to convert to an array. + + + + Represent a byte-Lease as a read-only Stream. + + The lease upon which to base the stream. + If true, disposing the stream also disposes the lease. + + + + Decode a byte-Lease as a String, optionally specifying the encoding (UTF-8 if omitted). + + The bytes to decode. + The encoding to use. + + + + Decode a byte-Lease as a String, optionally specifying the encoding (UTF-8 if omitted). + + The bytes to decode. + The encoding to use. + + + + + Adapted from IPEndPointParser in Microsoft.AspNetCore + Link: . + + + Copyright (c) .NET Foundation. All rights reserved. + Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + + + If Unix sockets are attempted but not supported. + + + + Contains information about individual hash-slot relocations. + + + + + The hash-slot that was relocated. + + + + + The old endpoint for this hash-slot (if known). + + + + + The new endpoint for this hash-slot (if known). + + + + + This constructor is only for testing purposes. + + The source of the event. + Hash slot. + Old endpoint. + New endpoint. + + + + Represents a block of operations that will be sent to the server together. + This can be useful to reduce packet fragmentation on slow connections - it + can improve the time to get *all* the operations processed, with the trade-off + of a slower time to get the *first* operation processed; this is usually + a good thing. Unless this batch is a transaction, there is no guarantee + that these operations will be processed either contiguously or atomically by the server. + + + + + Execute the batch operation, sending all queued commands to the server. + Note that this operation is neither synchronous nor truly asynchronous - it simply enqueues the buffered messages. + To check on completion, you should check the individual responses. + + + + + Represents the abstract multiplexer API. + + + + + Gets the client-name that will be used on all new connections. + + + + + Gets the configuration of the connection. + + + + + Gets the timeout associated with the connections. + + + + + The number of operations that have been performed on all connections. + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Indicates whether any servers are connected. + + + + + Indicates whether any servers are connecting. + + + + + Should exceptions include identifiable details? (key names, additional annotations). + + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time. + Set to a negative value to disable this feature). + + + + + Register a callback to provide an on-demand ambient session provider based on the calling context. + The implementing code is responsible for reliably resolving the same provider + based on ambient context, or returning null to not profile. + + The profiling session provider. + + + + Get summary statistics associates with this server. + + + + + A server replied with an error message. + + + + + Raised whenever a physical connection fails. + + + + + Raised whenever an internal error occurs (this is primarily for debugging). + + + + + Raised whenever a physical connection is established. + + + + + Raised when configuration changes are detected. + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast. + This usually means primary/replica changes. + + + + + Raised when server indicates a maintenance event is going to happen. + + + + + Gets all endpoints defined on the multiplexer. + + Whether to return only the explicitly configured endpoints. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type in . + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Raised when a hash-slot has been relocated. + + + + + Compute the hash-slot of a specified key. + + The key to get a slot ID for. + + + + Obtain a pub/sub subscriber connection to the specified server. + + The async state to pass to the created . + + + + Obtain an interactive connection to a database inside redis. + + The database ID to get. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The specific port for to get a server for. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The "host:port" string to get a server for. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The specific port for to get a server for. + + + + Obtain a configuration API for an individual server. + + The endpoint to get a server for. + The async state to pass to the created . + + + + Obtain configuration APIs for all servers in this multiplexer. + + + + + Reconfigure the current connections based on the existing configuration. + + The log to write output to. + + + + Reconfigure the current connections based on the existing configuration. + + The log to write output to. + + + + Provides a text overview of the status of all connections. + + + + + Provides a text overview of the status of all connections. + + The log to write output to. + + + + See . + + + + + Close all connections and release all resources associated with this object. + + Whether to allow in-queue commands to complete first. + + + + Close all connections and release all resources associated with this object. + + Whether to allow in-queue commands to complete first. + + + + Obtains the log of unusual busy patterns. + + + + + Resets the log of unusual busy patterns. + + + + + Request all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending). + + + + Request all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher). + + + + Get the hash-slot associated with a given key, if applicable; this can be useful for grouping operations. + + The key to get a the slot for. + + + + Write the configuration of all servers to an output stream. + + The destination stream to write the export to. + The options to use for this export. + + + + Append a usage-specific modifier to the advertised library name; suffixes are de-duplicated + and sorted alphabetically (so adding 'a', 'b' and 'a' will result in suffix '-a-b'). + Connections will be updated as necessary (RESP2 subscription + connections will not show updates until those connections next connect). + + + + + Describes functionality that is common to both standalone redis servers and redis clusters. + + + + + The numeric identifier of this database. + + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + but which may or may not be processed on the server contiguously. + + The async object state to be passed into the created . + The created batch. + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. + + The async object state to be passed into the created . + The created transaction. + + + + Atomically transfer a key from a source Redis instance to a destination Redis instance. + On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance. + + The key to migrate. + The server to migrate the key to. + The database to migrate the key to. + The timeout to use for the transfer. + The options to use for this migration. + The flags to use for this operation. + + + + + Returns the raw DEBUG OBJECT output for a key. + This command is not fully documented and should be avoided unless you have good reason, and then avoided anyway. + + The key to debug. + The flags to use for this migration. + The raw output from DEBUG OBJECT. + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The longitude of geo entry. + The latitude of the geo entry. + The value to set at this entry. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The geo value to store. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified members to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The geo values add to the set. + The flags to use for this operation. + The number of elements that were added to the set, not including all the elements already present into the set. + + + + + Removes the specified member from the geo sorted set stored at key. + Non existing members are ignored. + + The key of the set. + The geo value to remove. + The flags to use for this operation. + if the member existed in the sorted set and was removed, else . + + + + + Return the distance between two members in the geospatial index represented by the sorted set. + + The key of the set. + The first member to check. + The second member to check. + The unit of distance to return (defaults to meters). + The flags to use for this operation. + The command returns the distance as a double (represented as a string) in the specified unit, or if one or both the elements are missing. + + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The key of the set. + The members to get. + The flags to use for this operation. + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The key of the set. + The member to get. + The flags to use for this operation. + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The key of the set. + The members to get. + The flags to use for this operation. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command. + Non existing elements are reported as NULL elements of the array. + + + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The key of the set. + The member to get. + The flags to use for this operation. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command. + Non existing elements are reported as NULL elements of the array. + + + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are + within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + The key of the set. + The member to get a radius of results from. + The radius to check. + The unit of (defaults to meters). + The count of results to get, -1 for unlimited. + The order of the results. + The search options to use. + The flags to use for this operation. + The results found within the radius, if any. + + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are + within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + The key of the set. + The longitude of the point to get a radius of results from. + The latitude of the point to get a radius of results from. + The radius to check. + The unit of (defaults to meters). + The count of results to get, -1 for unlimited. + The order of the results. + The search options to use. + The flags to use for this operation. + The results found within the radius, if any. + + + + + Return the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the provided set . + + The key of the set. + The set member to use as the center of the shape. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + The search options to use. + The flags for this operation. + The results found within the shape, if any. + + + + + Return the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the point provided by the and . + + The key of the set. + The longitude of the center point. + The latitude of the center point. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + The search options to use. + The flags for this operation. + The results found within the shape, if any. + + + + + Stores the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the provided set . + + The key of the set. + The key to store the result at. + The set member to use as the center of the shape. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + If set to true, the resulting set will be a regular sorted-set containing only distances, rather than a geo-encoded sorted-set. + The flags for this operation. + The size of the set stored at . + + + + + Stores the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the point provided by the and . + + The key of the set. + The key to store the result at. + The longitude of the center point. + The latitude of the center point. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + If set to true, the resulting set will be a regular sorted-set containing only distances, rather than a geo-encoded sorted-set. + The flags for this operation. + The size of the set stored at . + + + + + Decrements the number stored at field in the hash stored at key by decrement. + If key does not exist, a new key holding a hash is created. + If field does not exist the value is set to 0 before the operation is performed. + + The key of the hash. + The field in the hash to decrement. + The amount to decrement by. + The flags to use for this operation. + The value at field after the decrement operation. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + + + + + + Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. + If the field does not exist, it is set to 0 before performing the operation. + + The key of the hash. + The field in the hash to decrement. + The amount to decrement by. + The flags to use for this operation. + The value at field after the decrement operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + + + + + Removes the specified fields from the hash stored at key. + Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + The key of the hash. + The field in the hash to delete. + The flags to use for this operation. + if the field was removed. + + + + + Removes the specified fields from the hash stored at key. + Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + The key of the hash. + The fields in the hash to delete. + The flags to use for this operation. + The number of fields that were removed. + + + + + Returns if field is an existing field in the hash stored at key. + + The key of the hash. + The field in the hash to check. + The flags to use for this operation. + if the hash contains field, if the hash does not contain field, or key does not exist. + + + + + Set the remaining time to live in milliseconds for the given set of fields of hash + After the timeout has expired, the field of the hash will automatically be deleted. + + The key of the hash. + The fields in the hash to set expire time. + The timeout to set. + under which condition the expiration will be set using . + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns an array where each item is the result of operation for given fields: + + + Result + Description + + + 2 + Field deleted because the specified expiration time is due. + + + 1 + Expiration time set/updated. + + + 0 + Expiration time is not set/update (a specified ExpireWhen condition is not met). + + + -1 + No such field exists. + + + + + + + Set the time out on a field of the given set of fields of hash. + After the timeout has expired, the field of the hash will automatically be deleted. + + The key of the hash. + The fields in the hash to set expire time. + The exact date to expiry to set. + under which condition the expiration will be set using . + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns an array where each item is the result of operation for given fields: + + + Result + Description + + + 2 + Field deleted because the specified expiration time is due. + + + 1 + Expiration time set/updated. + + + 0 + Expiration time is not set/update (a specified ExpireWhen condition is not met). + + + -1 + No such field exists. + + + + + + + For each specified field, it gets the expiration time as a Unix timestamp in milliseconds (milliseconds since the Unix epoch). + + The key of the hash. + The fields in the hash to get expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + > 0 + Expiration time, as a Unix timestamp in milliseconds. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + For each specified field, it removes the expiration time. + + The key of the hash. + The fields in the hash to remove expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + 1 + Expiration time was removed. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + For each specified field, it gets the remaining time to live in milliseconds. + + The key of the hash. + The fields in the hash to get expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + > 0 + Time to live, in milliseconds. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + Returns the value associated with field in the hash stored at key. + + The key of the hash. + The field in the hash to get. + The flags to use for this operation. + The value associated with field, or when field is not present in the hash or key does not exist. + + + + + Returns the value associated with field in the hash stored at key. + + The key of the hash. + The field in the hash to get. + The flags to use for this operation. + The value associated with field, or when field is not present in the hash or key does not exist. + + + + + Returns the values associated with the specified fields in the hash stored at key. + For every field that does not exist in the hash, a value is returned. + Because non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of values. + + The key of the hash. + The fields in the hash to get. + The flags to use for this operation. + List of values associated with the given fields, in the same order as they are requested. + + + + + Returns all fields and values of the hash stored at key. + + The key of the hash to get all entries from. + The flags to use for this operation. + List of fields and their values stored in the hash, or an empty list when key does not exist. + + + + + Increments the number stored at field in the hash stored at key by increment. + If key does not exist, a new key holding a hash is created. + If field does not exist the value is set to 0 before the operation is performed. + + The key of the hash. + The field in the hash to increment. + The amount to increment by. + The flags to use for this operation. + The value at field after the increment operation. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + + + + + + Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. + If the field does not exist, it is set to 0 before performing the operation. + + The key of the hash. + The field in the hash to increment. + The amount to increment by. + The flags to use for this operation. + The value at field after the increment operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + + + + + Returns all field names in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + List of fields in the hash, or an empty list when key does not exist. + + + + + Returns the number of fields contained in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + The number of fields in the hash, or 0 when key does not exist. + + + + + Gets a random field from the hash at . + + The key of the hash. + The flags to use for this operation. + A random hash field name or if the hash does not exist. + + + + + Gets field names from the hash at . + + The key of the hash. + The number of fields to return. + The flags to use for this operation. + An array of hash field names of size of at most , or if the hash does not exist. + + + + + Gets field names and values from the hash at . + + The key of the hash. + The number of fields to return. + The flags to use for this operation. + An array of hash entries of size of at most , or if the hash does not exist. + + + + + The HSCAN command is used to incrementally iterate over a hash. + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + The HSCAN command is used to incrementally iterate over a hash. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + The HSCAN command is used to incrementally iterate over a hash and return only field names. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + Sets the specified fields to their respective values in the hash stored at key. + This command overwrites any specified fields that already exist in the hash, leaving other unspecified fields untouched. + If key does not exist, a new key holding a hash is created. + + The key of the hash. + The entries to set in the hash. + The flags to use for this operation. + + + + + Sets field in the hash stored at key to value. + If key does not exist, a new key holding a hash is created. + If field already exists in the hash, it is overwritten. + + The key of the hash. + The field to set in the hash. + The value to set. + Which conditions under which to set the field value (defaults to always). + The flags to use for this operation. + if field is a new field in the hash and value was set, if field already exists in the hash and the value was updated. + + See + , + . + + + + + Returns the string length of the value associated with field in the hash stored at key. + + The key of the hash. + The field containing the string. + The flags to use for this operation. + The length of the string at field, or 0 when key does not exist. + + + + + Returns all values in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + List of values in the hash, or an empty list when key does not exist. + + + + + Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument. + + The key of the hyperloglog. + The value to add. + The flags to use for this operation. + if at least 1 HyperLogLog internal register was altered, otherwise. + + + + + Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument. + + The key of the hyperloglog. + The values to add. + The flags to use for this operation. + if at least 1 HyperLogLog internal register was altered, otherwise. + + + + + Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist. + + The key of the hyperloglog. + The flags to use for this operation. + The approximated number of unique elements observed via HyperLogLogAdd. + + + + + Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist. + + The keys of the hyperloglogs. + The flags to use for this operation. + The approximated number of unique elements observed via HyperLogLogAdd. + + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + The key of the merged hyperloglog. + The key of the first hyperloglog to merge. + The key of the second hyperloglog to merge. + The flags to use for this operation. + + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + The key of the merged hyperloglog. + The keys of the hyperloglogs to merge. + The flags to use for this operation. + + + + + Indicate exactly which redis server we are talking to. + + The key to check. + The flags to use for this operation. + The endpoint serving the key. + + + + Copies the value from the to the specified . + + The key of the source value to copy. + The destination key to copy the source to. + The database ID to store in. If default (-1), current database is used. + Whether to overwrite an existing values at . If and the key exists, the copy will not succeed. + The flags to use for this operation. + if key was copied. if key was not copied. + + + + + Removes the specified key. A key is ignored if it does not exist. + If UNLINK is available (Redis 4.0+), it will be used. + + The key to delete. + The flags to use for this operation. + if the key was removed. + + See + , + . + + + + + Removes the specified keys. A key is ignored if it does not exist. + If UNLINK is available (Redis 4.0+), it will be used. + + The keys to delete. + The flags to use for this operation. + The number of keys that were removed. + + See + , + . + + + + + Serialize the value stored at key in a Redis-specific format and return it to the user. + The returned value can be synthesized back into a Redis key using the RESTORE command. + + The key to dump. + The flags to use for this operation. + The serialized value. + + + + + Returns the internal encoding for the Redis object stored at . + + The key to dump. + The flags to use for this operation. + The Redis encoding for the value or is the key does not exist. + + + + + Returns if key exists. + + The key to check. + The flags to use for this operation. + if the key exists. if the key does not exist. + + + + + Indicates how many of the supplied keys exists. + + The keys to check. + The flags to use for this operation. + The number of keys that existed. + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. + So, if key already has an associated timeout, it will do nothing and return 0. + + + Since Redis 2.1.3, you can update the timeout of a key. + It is also possible to remove the timeout using the PERSIST command. + See the page on key expiry for more information. + + + See + , + , + . + + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + In Redis 7+, we can choose under which condition the expiration will be set using . + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + See + , + . + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The exact date to expiry to set. + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. + So, if key already has an associated timeout, it will do nothing and return 0. + + + Since Redis 2.1.3, you can update the timeout of a key. + It is also possible to remove the timeout using the PERSIST command. + See the page on key expiry for more information. + + + See + , + , + . + + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + In Redis 7+, we choose under which condition the expiration will be set using . + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + See + , + . + + + + + Returns the absolute time at which the given will expire, if it exists and has an expiration. + + The key to get the expiration for. + The flags to use for this operation. + The time at which the given key will expire, or if the key does not exist or has no associated expiration time. + + See + , + . + + + + + Returns the logarithmic access frequency counter of the object stored at . + The command is only available when the maxmemory-policy configuration directive is set to + one of the LFU policies. + + The key to get a frequency count for. + The flags to use for this operation. + The number of logarithmic access frequency counter, ( if the key does not exist). + + + + + Returns the time since the object stored at the specified key is idle (not requested by read or write operations). + + The key to get the time of. + The flags to use for this operation. + The time since the object stored at the specified key is idle. + + + + + Move key from the currently selected database (see SELECT) to the specified destination database. + When key already exists in the destination database, or it does not exist in the source database, it does nothing. + It is possible to use MOVE as a locking primitive because of this. + + The key to move. + The database to move the key to. + The flags to use for this operation. + if key was moved. if key was not moved. + + + + + Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated). + + The key to persist. + The flags to use for this operation. + if the timeout was removed. if key does not exist or does not have an associated timeout. + + + + + Return a random key from the currently selected database. + + The flags to use for this operation. + The random key, or when the database is empty. + + + + + Returns the reference count of the object stored at . + + The key to get a reference count for. + The flags to use for this operation. + The number of references ( if the key does not exist). + + + + + Renames to . + It returns an error when the source and destination names are the same, or when key does not exist. + + The key to rename. + The key to rename to. + What conditions to rename under (defaults to always). + The flags to use for this operation. + if the key was renamed, otherwise. + + See + , + . + + + + + Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP). + If is 0 the key is created without any expire, otherwise the specified expire time (in milliseconds) is set. + + The key to restore. + The value of the key. + The expiry to set. + The flags to use for this operation. + + + + + Returns the remaining time to live of a key that has a timeout. + This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. + + The key to check. + The flags to use for this operation. + TTL, or when key does not exist or does not have a timeout. + + + + + Alters the last access time of a key. + + The key to touch. + The flags to use for this operation. + if the key was touched, otherwise. + + + + + Alters the last access time of the specified . A key is ignored if it does not exist. + + The keys to touch. + The flags to use for this operation. + The number of keys that were touched. + + + + + Returns the string representation of the type of the value stored at key. + The different types that can be returned are: string, list, set, zset and hash. + + The key to get the type of. + The flags to use for this operation. + Type of key, or none when key does not exist. + + + + + Returns the element at index in the list stored at key. + The index is zero-based, so 0 means the first element, 1 the second element and so on. + Negative indices can be used to designate elements starting at the tail of the list. + Here, -1 means the last element, -2 means the penultimate and so forth. + + The key of the list. + The index position to get the value at. + The flags to use for this operation. + The requested element, or when index is out of range. + + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + The key of the list. + The value to insert after. + The value to insert. + The flags to use for this operation. + The length of the list after the insert operation, or -1 when the value pivot was not found. + + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + The key of the list. + The value to insert before. + The value to insert. + The flags to use for this operation. + The length of the list after the insert operation, or -1 when the value pivot was not found. + + + + + Removes and returns the first element of the list stored at key. + + The key of the list. + The flags to use for this operation. + The value of the first element, or when key does not exist. + + + + + Removes and returns count elements from the head of the list stored at key. + If the list contains less than count elements, removes and returns the number of elements in the list. + + The key of the list. + The number of elements to remove. + The flags to use for this operation. + Array of values that were popped, or if the key doesn't exist. + + + + + Removes and returns at most elements from the first non-empty list in . + Starts on the left side of the list. + + The keys to look through for elements to pop. + The maximum number of elements to pop from the list. + The flags to use for this operation. + A span of contiguous elements from the list, or if no non-empty lists are found. + + + + + Scans through the list stored at looking for , returning the 0-based + index of the first matching element. + + The key of the list. + The element to search for. + The rank of the first element to return, within the sub-list of matching indexes in the case of multiple matches. + The maximum number of elements to scan through before stopping, defaults to 0 (a full scan of the list.) + The flags to use for this operation. + The 0-based index of the first matching element, or -1 if not found. + + + + + Scans through the list stored at looking for instances of , returning the 0-based + indexes of any matching elements. + + The key of the list. + The element to search for. + The number of matches to find. A count of 0 will return the indexes of all occurrences of the element. + The rank of the first element to return, within the sub-list of matching indexes in the case of multiple matches. + The maximum number of elements to scan through before stopping, defaults to 0 (a full scan of the list.) + The flags to use for this operation. + An array of at most of indexes of matching elements. If none are found, and empty array is returned. + + + + + Insert the specified value at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + + The key of the list. + The value to add to the head of the list. + Which conditions to add to the list under (defaults to always). + The flags to use for this operation. + The length of the list after the push operations. + + See + , + . + + + + + Insert the specified value at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + + The key of the list. + The value to add to the head of the list. + Which conditions to add to the list under (defaults to always). + The flags to use for this operation. + The length of the list after the push operations. + + See + , + . + + + + + Insert all the specified values at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. + So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element. + + The key of the list. + The values to add to the head of the list. + The flags to use for this operation. + The length of the list after the push operations. + + + + + Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. + + The key of the list. + The flags to use for this operation. + The length of the list at key. + + + + + Returns and removes the first or last element of the list stored at , and pushes the element + as the first or last element of the list stored at . + + The key of the list to remove from. + The key of the list to move to. + What side of the list to remove from. + What side of the list to move to. + The flags to use for this operation. + The element being popped and pushed or if there is no element to move. + + + + + Returns the specified elements of the list stored at key. + The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. + These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on. + Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. + + The key of the list. + The start index of the list. + The stop index of the list. + The flags to use for this operation. + List of elements in the specified range. + + + + + Removes the first count occurrences of elements equal to value from the list stored at key. + The count argument influences the operation in the following ways: + + count > 0: Remove elements equal to value moving from head to tail. + count < 0: Remove elements equal to value moving from tail to head. + count = 0: Remove all elements equal to value. + + + The key of the list. + The value to remove from the list. + The count behavior (see method summary). + The flags to use for this operation. + The number of removed elements. + + + + + Removes and returns the last element of the list stored at key. + + The key of the list. + The flags to use for this operation. + The element being popped, or when key does not exist.. + + + + + Removes and returns count elements from the end the list stored at key. + If the list contains less than count elements, removes and returns the number of elements in the list. + + The key of the list. + The number of elements to pop. + The flags to use for this operation. + Array of values that were popped, or if the key doesn't exist. + + + + + Removes and returns at most elements from the first non-empty list in . + Starts on the right side of the list. + + The keys to look through for elements to pop. + The maximum number of elements to pop from the list. + The flags to use for this operation. + A span of contiguous elements from the list, or if no non-empty lists are found. + + + + + Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination. + + The key of the source list. + The key of the destination list. + The flags to use for this operation. + The element being popped and pushed. + + + + + Insert the specified value at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + + The key of the list. + The value to add to the tail of the list. + Which conditions to add to the list under. + The flags to use for this operation. + The length of the list after the push operation. + + See + , + . + + + + + Insert the specified value at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + + The key of the list. + The values to add to the tail of the list. + Which conditions to add to the list under. + The flags to use for this operation. + The length of the list after the push operation. + + See + , + . + + + + + Insert all the specified values at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. + So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element. + + The key of the list. + The values to add to the tail of the list. + The flags to use for this operation. + The length of the list after the push operation. + + + + + Sets the list element at index to value. + For more information on the index argument, see . + An error is returned for out of range indexes. + + The key of the list. + The index to set the value at. + The values to add to the list. + The flags to use for this operation. + + + + + Trim an existing list so that it will contain only the specified range of elements specified. + Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on. + For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain. + start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on. + + The key of the list. + The start index of the list to trim to. + The end index of the list to trim to. + The flags to use for this operation. + + + + + Extends a lock, if the token value is correct. + + The key of the lock. + The value to set at the key. + The expiration of the lock key. + The flags to use for this operation. + if the lock was successfully extended. + + + + Queries the token held against a lock. + + The key of the lock. + The flags to use for this operation. + The current value of the lock, if any. + + + + Releases a lock, if the token value is correct. + + The key of the lock. + The value at the key that must match. + The flags to use for this operation. + if the lock was successfully released, otherwise. + + + + Takes a lock (specifying a token value) if it is not already taken. + + The key of the lock. + The value to set at the key. + The expiration of the lock key. + The flags to use for this operation. + if the lock was successfully taken, otherwise. + + + + Posts a message to the given channel. + + The channel to publish to. + The message to send. + The flags to use for this operation. + + The number of clients that received the message *on the destination server*, + note that this doesn't mean much in a cluster as clients can get the message through other nodes. + + + + + + Execute an arbitrary command against the server; this is primarily intended for executing modules, + but may also be used to provide access to new features that lack a direct API. + + The command to run. + The arguments to pass for the command. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + Execute an arbitrary command against the server; this is primarily intended for executing modules, + but may also be used to provide access to new features that lack a direct API. + + The command to run. + The arguments to pass for the command. + The flags to use for this operation. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + Execute a Lua script against the server. + + The script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + See + , + . + + + + + Execute a Lua script against the server using just the SHA1 hash. + + The hash of the script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + Be aware that this method is not resilient to Redis server restarts. Use instead. + + + + + + Execute a lua script against the server, using previously prepared script. + Named parameters, if any, are provided by the `parameters` object. + + The script to execute. + The parameters to pass to the script. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Execute a lua script against the server, using previously prepared and loaded script. + This method sends only the SHA1 hash of the lua script to Redis. + Named parameters, if any, are provided by the `parameters` object. + + The already-loaded script to execute. + The parameters to pass to the script. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Read-only variant of the EVAL command that cannot execute commands that modify data, Execute a Lua script against the server. + + The script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + See + , + . + + + + + Read-only variant of the EVALSHA command that cannot execute commands that modify data, Execute a Lua script against the server using just the SHA1 hash. + + The hash of the script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The value to add to the set. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified members to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The values to add to the set. + The flags to use for this operation. + The number of elements that were added to the set, not including all the elements already present into the set. + + + + + Returns the members of the set resulting from the specified operation against the given sets. + + The operation to perform. + The key of the first set. + The key of the second set. + The flags to use for this operation. + List with members of the resulting set. + + See + , + , + . + + + + + Returns the members of the set resulting from the specified operation against the given sets. + + The operation to perform. + The keys of the sets to operate on. + The flags to use for this operation. + List with members of the resulting set. + + See + , + , + . + + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. + If destination already exists, it is overwritten. + + The operation to perform. + The key of the destination set. + The key of the first set. + The key of the second set. + The flags to use for this operation. + The number of elements in the resulting set. + + See + , + , + . + + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. + If destination already exists, it is overwritten. + + The operation to perform. + The key of the destination set. + The keys of the sets to operate on. + The flags to use for this operation. + The number of elements in the resulting set. + + See + , + , + . + + + + + Returns whether is a member of the set stored at . + + The key of the set. + The value to check for. + The flags to use for this operation. + + if the element is a member of the set. + if the element is not a member of the set, or if key does not exist. + + + + + + Returns whether each of is a member of the set stored at . + + The key of the set. + The members to check for. + The flags to use for this operation. + + if the element is a member of the set. + if the element is not a member of the set, or if key does not exist. + + + + + + + Returns the set cardinality (number of elements) of the intersection between the sets stored at the given . + + + If the intersection cardinality reaches partway through the computation, + the algorithm will exit and yield as the cardinality. + + + The keys of the sets. + The number of elements to check (defaults to 0 and means unlimited). + The flags to use for this operation. + The cardinality (number of elements) of the set, or 0 if key does not exist. + + + + + Returns the set cardinality (number of elements) of the set stored at key. + + The key of the set. + The flags to use for this operation. + The cardinality (number of elements) of the set, or 0 if key does not exist. + + + + + Returns all the members of the set value stored at key. + + The key of the set. + The flags to use for this operation. + All elements of the set. + + + + + Move member from the set at source to the set at destination. + This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients. + When the specified element already exists in the destination set, it is only removed from the source set. + + The key of the source set. + The key of the destination set. + The value to move. + The flags to use for this operation. + + if the element is moved. + if the element is not a member of source and no operation was performed. + + + + + + Removes and returns a random element from the set value stored at key. + + The key of the set. + The flags to use for this operation. + The removed element, or when key does not exist. + + + + + Removes and returns the specified number of random elements from the set value stored at key. + + The key of the set. + The number of elements to return. + The flags to use for this operation. + An array of elements, or an empty array when key does not exist. + + + + + Return a random element from the set value stored at . + + The key of the set. + The flags to use for this operation. + The randomly selected element, or when does not exist. + + + + + Return an array of count distinct elements if count is positive. + If called with a negative count the behavior changes and the command is allowed to return the same element multiple times. + In this case the number of returned elements is the absolute value of the specified count. + + The key of the set. + The count of members to get. + The flags to use for this operation. + An array of elements, or an empty array when does not exist. + + + + + Remove the specified member from the set stored at key. + Specified members that are not a member of this set are ignored. + + The key of the set. + The value to remove. + The flags to use for this operation. + if the specified member was already present in the set, otherwise. + + + + + Remove the specified members from the set stored at key. + Specified members that are not a member of this set are ignored. + + The key of the set. + The values to remove. + The flags to use for this operation. + The number of members that were removed from the set, not including non existing members. + + + + + The SSCAN command is used to incrementally iterate over a set. + + The key of the set. + The pattern to match. + The page size to iterate by. + The flags to use for this operation. + Yields all matching elements of the set. + + + + + The SSCAN command is used to incrementally iterate over set. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the set. + The pattern to match. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all matching elements of the set. + + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default). + By default, the elements themselves are compared, but the values can also be used to perform external key-lookups using the by parameter. + By default, the elements themselves are returned, but external key-lookups (one or many) can be performed instead by specifying + the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. + When used in hashes, by and get can be used to specify fields using -> notation (again, refer to redis documentation). + Uses SORT_RO when possible. + + The key of the list, set, or sorted set. + How many entries to skip on the return. + How many entries to take on the return. + The ascending or descending order (defaults to ascending). + The sorting method (defaults to numeric). + The key pattern to sort by, if any. e.g. ExternalKey_* would sort by ExternalKey_{listvalue} as a lookup. + The key pattern to sort by, if any e.g. ExternalKey_* would return the value of ExternalKey_{listvalue} for each entry. + The flags to use for this operation. + The sorted elements, or the external values if get is specified. + + See + , + . + + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default). + By default, the elements themselves are compared, but the values can also be used to perform external key-lookups using the by parameter. + By default, the elements themselves are returned, but external key-lookups (one or many) can be performed instead by specifying + the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. + When used in hashes, by and get can be used to specify fields using -> notation (again, refer to redis documentation). + + The destination key to store results in. + The key of the list, set, or sorted set. + How many entries to skip on the return. + How many entries to take on the return. + The ascending or descending order (defaults to ascending). + The sorting method (defaults to numeric). + The key pattern to sort by, if any. e.g. ExternalKey_* would sort by ExternalKey_{listvalue} as a lookup. + The key pattern to sort by, if any e.g. ExternalKey_* would return the value of ExternalKey_{listvalue} for each entry. + The flags to use for this operation. + The number of elements stored in the new list. + + + + + + + + + + + Adds the specified member with the specified score to the sorted set stored at key. + If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The key of the sorted set. + The member to add to the sorted set. + The score for the member to add to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + if the value was added. if it already existed (the score is still updated). + + + + + + + + + + + Adds all the specified members with the specified scores to the sorted set stored at key. + If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The key of the sorted set. + The members and values to add to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + + + + + Computes a set operation for multiple sorted sets (optionally using per-set ), + optionally performing a specific aggregation (defaults to ). + cannot be used with weights or aggregation. + + The operation to perform. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to ). + The flags to use for this operation. + The resulting sorted set. + + See + , + , + . + + + + + Computes a set operation for multiple sorted sets (optionally using per-set ), + optionally performing a specific aggregation (defaults to ). + cannot be used with weights or aggregation. + + The operation to perform. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to ). + The flags to use for this operation. + The resulting sorted set with scores. + + See + , + , + . + + + + + Computes a set operation over two sorted sets, and stores the result in destination, optionally performing + a specific aggregation (defaults to sum). + cannot be used with aggregation. + + The operation to perform. + The key to store the results in. + The key of the first sorted set. + The key of the second sorted set. + The aggregation method (defaults to sum). + The flags to use for this operation. + The number of elements in the resulting sorted set at destination. + + See + , + , + . + + + + + Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing + a specific aggregation (defaults to sum). + cannot be used with aggregation. + + The operation to perform. + The key to store the results in. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to sum). + The flags to use for this operation. + The number of elements in the resulting sorted set at destination. + + See + , + , + . + + + + + Decrements the score of member in the sorted set stored at key by decrement. + If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0). + + The key of the sorted set. + The member to decrement. + The amount to decrement by. + The flags to use for this operation. + The new score of member. + + + + + Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0). + + The key of the sorted set. + The member to increment. + The amount to increment by. + The flags to use for this operation. + The new score of member. + + + + + Returns the cardinality of the intersection of the sorted sets at . + + The keys of the sorted sets. + If the intersection cardinality reaches partway through the computation, the algorithm will exit and yield as the cardinality (defaults to 0 meaning unlimited). + The flags to use for this operation. + The number of elements in the resulting intersection. + + + + + Returns the sorted set cardinality (number of elements) of the sorted set stored at key. + + The key of the sorted set. + The min score to filter by (defaults to negative infinity). + The max score to filter by (defaults to positive infinity). + Whether to exclude and from the range check (defaults to both inclusive). + The flags to use for this operation. + The cardinality (number of elements) of the sorted set, or 0 if key does not exist. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns the number of elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Whether to exclude and from the range check (defaults to both inclusive). + The flags to use for this operation. + The number of elements in the specified score range. + + + + + Returns a random element from the sorted set value stored at . + + The key of the sorted set. + The flags to use for this operation. + The randomly selected element, or when does not exist. + + + + + Returns an array of random elements from the sorted set value stored at . + + The key of the sorted set. + + + If the provided count argument is positive, returns an array of distinct elements. + The array's length is either or the sorted set's cardinality (ZCARD), whichever is lower. + + + If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. + In this case, the number of returned elements is the absolute value of the specified count. + + + The flags to use for this operation. + The randomly selected elements, or an empty array when does not exist. + + + + + Returns an array of random elements from the sorted set value stored at . + + The key of the sorted set. + + + If the provided count argument is positive, returns an array of distinct elements. + The array's length is either or the sorted set's cardinality (ZCARD), whichever is lower. + + + If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. + In this case, the number of returned elements is the absolute value of the specified count. + + + The flags to use for this operation. + The randomly selected elements with scores, or an empty array when does not exist. + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. + They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + The key of the sorted set. + The start index to get. + The stop index to get. + The order to sort by (defaults to ascending). + The flags to use for this operation. + List of elements in the specified range. + + See + , + . + + + + + Takes the specified range of elements in the sorted set of the + and stores them in a new sorted set at the . + + The sorted set to take the range from. + Where the resulting set will be stored. + The starting point in the sorted set. If is , this should be a string. + The stopping point in the range of the sorted set. If is , this should be a string. + The ordering criteria to use for the range. Choices are , , and (defaults to ). + Whether to exclude and from the range check (defaults to both inclusive). + + The direction to consider the and in. + If , the must be smaller than the . + If , must be smaller than . + + The number of elements into the sorted set to skip. Note: this iterates after sorting so incurs O(n) cost for large values. + The maximum number of elements to pull into the new () set. + The flags to use for this operation. + The cardinality of (number of elements in) the newly created sorted set. + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. + They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + The key of the sorted set. + The start index to get. + The stop index to get. + The order to sort by (defaults to ascending). + The flags to use for this operation. + List of elements in the specified range. + + See + , + . + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. + Similar to other range methods the values are inclusive. + + The key of the sorted set. + The minimum score to filter by. + The maximum score to filter by. + Which of and to exclude (defaults to both inclusive). + The order to sort by (defaults to ascending). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. + Similar to other range methods the values are inclusive. + + The key of the sorted set. + The minimum score to filter by. + The maximum score to filter by. + Which of and to exclude (defaults to both inclusive). + The order to sort by (defaults to ascending). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns all the elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Which of and to exclude (defaults to both inclusive). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns all the elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Which of and to exclude (defaults to both inclusive). + Whether to order the data ascending or descending. + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. + The rank (or index) is 0-based, which means that the member with the lowest score has rank 0. + + The key of the sorted set. + The member to get the rank of. + The order to sort by (defaults to ascending). + The flags to use for this operation. + If member exists in the sorted set, the rank of member. If member does not exist in the sorted set or key does not exist, . + + See + , + . + + + + + Removes the specified member from the sorted set stored at key. Non existing members are ignored. + + The key of the sorted set. + The member to remove. + The flags to use for this operation. + if the member existed in the sorted set and was removed. otherwise. + + + + + Removes the specified members from the sorted set stored at key. Non existing members are ignored. + + The key of the sorted set. + The members to remove. + The flags to use for this operation. + The number of members removed from the sorted set, not including non existing members. + + + + + Removes all elements in the sorted set stored at key with rank between start and stop. + Both start and stop are 0 -based indexes with 0 being the element with the lowest score. + These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. + For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth. + + The key of the sorted set. + The minimum rank to remove. + The maximum rank to remove. + The flags to use for this operation. + The number of elements removed. + + + + + Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default). + + The key of the sorted set. + The minimum score to remove. + The maximum score to remove. + Which of and to exclude (defaults to both inclusive). + The flags to use for this operation. + The number of elements removed. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max. + + The key of the sorted set. + The minimum value to remove. + The maximum value to remove. + Which of and to exclude (defaults to both inclusive). + The flags to use for this operation. + The number of elements removed. + + + + + The ZSCAN command is used to incrementally iterate over a sorted set. + + The key of the sorted set. + The pattern to match. + The page size to iterate by. + The flags to use for this operation. + Yields all matching elements of the sorted set. + + + + + The ZSCAN command is used to incrementally iterate over a sorted set + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + The key of the sorted set. + The pattern to match. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all matching elements of the sorted set. + + + + + Returns the score of member in the sorted set at key. + If member does not exist in the sorted set, or key does not exist, is returned. + + The key of the sorted set. + The member to get a score for. + The flags to use for this operation. + The score of the member. + + + + + Returns the scores of members in the sorted set at . + If a member does not exist in the sorted set, or key does not exist, is returned. + + The key of the sorted set. + The members to get a score for. + The flags to use for this operation. + + The scores of the members in the same order as the array. + If a member does not exist in the set, is returned. + + + + + + Removes and returns the first element from the sorted set stored at key, by default with the scores ordered from low to high. + + The key of the sorted set. + The order to sort by (defaults to ascending). + The flags to use for this operation. + The removed element, or when key does not exist. + + See + , + . + + + + + Removes and returns the specified number of first elements from the sorted set stored at key, by default with the scores ordered from low to high. + + The key of the sorted set. + The number of elements to return. + The order to sort by (defaults to ascending). + The flags to use for this operation. + An array of elements, or an empty array when key does not exist. + + See + , + . + + + + + Removes and returns up to entries from the first non-empty sorted set in . + Returns if none of the sets exist or contain any elements. + + The keys to check. + The maximum number of records to pop out of the sorted set. + The order to sort by when popping items out of the set. + The flags to use for the operation. + A contiguous collection of sorted set entries with the key they were popped from, or if no non-empty sorted sets are found. + + + + + Same as but return the number of the elements changed. + + The key of the sorted set. + The member to add/update to the sorted set. + The score for the member to add/update to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements changed. + + + + + Same as but return the number of the elements changed. + + The key of the sorted set. + The members and values to add/update to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements changed. + + + + + Allow the consumer to mark a pending message as correctly processed. Returns the number of messages acknowledged. + + The key of the stream. + The name of the consumer group that received the message. + The ID of the message to acknowledge. + The flags to use for this operation. + The number of messages acknowledged. + + + + + Allow the consumer to mark a pending message as correctly processed. Returns the number of messages acknowledged. + + The key of the stream. + The name of the consumer group that received the message. + The IDs of the messages to acknowledge. + The flags to use for this operation. + The number of messages acknowledged. + + + + + Adds an entry using the specified values to the given stream key. + If key does not exist, a new key holding a stream is created. + The command returns the ID of the newly created stream entry. + + The key of the stream. + The field name for the stream entry. + The value to set in the stream entry. + The ID to assign to the stream entry, defaults to an auto-generated ID ("*"). + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The ID of the newly created message. + + + + + Adds an entry using the specified values to the given stream key. + If key does not exist, a new key holding a stream is created. + The command returns the ID of the newly created stream entry. + + The key of the stream. + The fields and their associated values to set in the stream entry. + The ID to assign to the stream entry, defaults to an auto-generated ID ("*"). + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The ID of the newly created message. + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + Messages that have been idle for more than will be claimed. + + The key of the stream. + The consumer group. + The consumer claiming the messages(s). + The minimum idle time threshold for pending messages to be claimed. + The starting ID to scan for pending messages that have an idle time greater than . + The upper limit of the number of entries that the command attempts to claim. If , Redis will default the value to 100. + The flags to use for this operation. + An instance of . + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + Messages that have been idle for more than will be claimed. + The result will contain the claimed message IDs instead of a instance. + + The key of the stream. + The consumer group. + The consumer claiming the messages(s). + The minimum idle time threshold for pending messages to be claimed. + The starting ID to scan for pending messages that have an idle time greater than . + The upper limit of the number of entries that the command attempts to claim. If , Redis will default the value to 100. + The flags to use for this operation. + An instance of . + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + This method returns the complete message for the claimed message(s). + + The key of the stream. + The consumer group. + The consumer claiming the given message(s). + The minimum message idle time to allow the reassignment of the message(s). + The IDs of the messages to claim for the given consumer. + The flags to use for this operation. + The messages successfully claimed by the given consumer. + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + This method returns the IDs for the claimed message(s). + + The key of the stream. + The consumer group. + The consumer claiming the given message(s). + The minimum message idle time to allow the reassignment of the message(s). + The IDs of the messages to claim for the given consumer. + The flags to use for this operation. + The message IDs for the messages successfully claimed by the given consumer. + + + + + Set the position from which to read a stream for a consumer group. + + The key of the stream. + The name of the consumer group. + The position from which to read for the consumer group. + The flags to use for this operation. + if successful, otherwise. + + + + + Retrieve information about the consumers for the given consumer group. + This is the equivalent of calling "XINFO GROUPS key group". + + The key of the stream. + The consumer group name. + The flags to use for this operation. + An instance of for each of the consumer group's consumers. + + + + + Create a consumer group for the given stream. + + The key of the stream. + The name of the group to create. + The position to begin reading the stream. Defaults to . + The flags to use for this operation. + if the group was created, otherwise. + + + + + Create a consumer group for the given stream. + + The key of the stream. + The name of the group to create. + The position to begin reading the stream. Defaults to . + Create the stream if it does not already exist. + The flags to use for this operation. + if the group was created, otherwise. + + + + + Delete messages in the stream. This method does not delete the stream. + + The key of the stream. + The IDs of the messages to delete. + The flags to use for this operation. + Returns the number of messages successfully deleted from the stream. + + + + + Delete a consumer from a consumer group. + + The key of the stream. + The name of the consumer group. + The name of the consumer. + The flags to use for this operation. + The number of messages that were pending for the deleted consumer. + + + + + Delete a consumer group. + + The key of the stream. + The name of the consumer group. + The flags to use for this operation. + if deleted, otherwise. + + + + + Retrieve information about the groups created for the given stream. This is the equivalent of calling "XINFO GROUPS key". + + The key of the stream. + The flags to use for this operation. + An instance of for each of the stream's groups. + + + + + Retrieve information about the given stream. This is the equivalent of calling "XINFO STREAM key". + + The key of the stream. + The flags to use for this operation. + A instance with information about the stream. + + + + + Return the number of entries in a stream. + + The key of the stream. + The flags to use for this operation. + The number of entries inside the given stream. + + + + + View information about pending messages for a stream. + A pending message is a message read using StreamReadGroup (XREADGROUP) but not yet acknowledged. + + The key of the stream. + The name of the consumer group. + The flags to use for this operation. + + An instance of . + contains the number of pending messages. + The highest and lowest ID of the pending messages, and the consumers with their pending message count. + + The equivalent of calling XPENDING key group. + + + + + View information about each pending message. + + The key of the stream. + The name of the consumer group. + The maximum number of pending messages to return. + The consumer name for the pending messages. Pass RedisValue.Null to include pending messages for all consumers. + The minimum ID from which to read the stream of pending messages. The method will default to reading from the beginning of the stream. + The maximum ID to read to within the stream of pending messages. The method will default to reading to the end of the stream. + The flags to use for this operation. + An instance of for each pending message. + Equivalent of calling XPENDING key group start-id end-id count consumer-name. + + + + + Read a stream using the given range of IDs. + + The key of the stream. + The minimum ID from which to read the stream. The method will default to reading from the beginning of the stream. + The maximum ID to read to within the stream. The method will default to reading to the end of the stream. + The maximum number of messages to return. + The order of the messages. will execute XRANGE and will execute XREVRANGE. + The flags to use for this operation. + Returns an instance of for each message returned. + + + + + Read from a single stream. + + The key of the stream. + The position from which to read the stream. + The maximum number of messages to return. + The flags to use for this operation. + Returns an instance of for each message returned. + + Equivalent of calling XREAD COUNT num STREAMS key id. + + + + + + Read from multiple streams. + + Array of streams and the positions from which to begin reading for each stream. + The maximum number of messages to return from each stream. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREAD COUNT num STREAMS key1 key2 id1 id2. + + + + + + Read messages from a stream into an associated consumer group. + + The key of the stream. + The name of the consumer group. + The consumer name. + The position from which to read the stream. Defaults to when . + The maximum number of messages to return. + The flags to use for this operation. + Returns a value of for each message returned. + + + + + Read messages from a stream into an associated consumer group. + + The key of the stream. + The name of the consumer group. + The consumer name. + The position from which to read the stream. Defaults to when . + The maximum number of messages to return. + When true, the message will not be added to the pending message list. + The flags to use for this operation. + Returns a value of for each message returned. + + + + + Read from multiple streams into the given consumer group. + The consumer group with the given will need to have been created for each stream prior to calling this method. + + Array of streams and the positions from which to begin reading for each stream. + The name of the consumer group. + The name of the consumer. + The maximum number of messages to return from each stream. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREADGROUP GROUP groupName consumerName COUNT countPerStream STREAMS stream1 stream2 id1 id2. + + + + + + Read from multiple streams into the given consumer group. + The consumer group with the given will need to have been created for each stream prior to calling this method. + + Array of streams and the positions from which to begin reading for each stream. + The name of the consumer group. + The name of the consumer. + The maximum number of messages to return from each stream. + When true, the message will not be added to the pending message list. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREADGROUP GROUP groupName consumerName COUNT countPerStream STREAMS stream1 stream2 id1 id2. + + + + + + Trim the stream to a specified maximum length. + + The key of the stream. + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The number of messages removed from the stream. + + + + + If key already exists and is a string, this command appends the value at the end of the string. + If key does not exist it is created and set as an empty string, so APPEND will be similar to SET in this special case. + + The key of the string. + The value to append to the string. + The flags to use for this operation. + The length of the string after the append operation. + + + + + + + + Count the number of set bits (population counting) in a string. + By default all the bytes contained in the string are examined. + It is possible to specify the counting operation only in an interval passing the additional arguments start and end. + Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The key of the string. + The start byte to count at. + The end byte to count at. + In Redis 7+, we can choose if and specify a bit index or byte index (defaults to ). + The flags to use for this operation. + The number of bits set to 1. + + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case + and only the first key will be considered. + The result of the operation is always stored at . + + The operation to perform. + The destination key to store the result in. + The first key to get the bit value from. + The second key to get the bit value from. + The flags to use for this operation. + The size of the string stored in the destination key, that is equal to the size of the longest input string. + + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator. + The result of the operation is always stored at . + + The operation to perform. + The destination key to store the result in. + The keys to get the bit values from. + The flags to use for this operation. + The size of the string stored in the destination key, that is equal to the size of the longest input string. + + + + + + + + Return the position of the first bit set to 1 or 0 in a string. + The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant bit is at position 8 and so forth. + A and may be specified - these are in bytes, not bits. + and can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The key of the string. + True to check for the first 1 bit, false to check for the first 0 bit. + The position to start looking (defaults to 0). + The position to stop looking (defaults to -1, unlimited). + In Redis 7+, we can choose if and specify a bit index or byte index (defaults to ). + The flags to use for this operation. + + The command returns the position of the first bit set to 1 or 0 according to the request. + If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned. + + + + + + Decrements the number stored at key by decrement. + If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. + This operation is limited to 64 bit signed integers. + + The key of the string. + The amount to decrement by (defaults to 1). + The flags to use for this operation. + The value of key after the decrement. + + See + , + . + + + + + Decrements the string representing a floating point number stored at key by the specified decrement. + If the key does not exist, it is set to 0 before performing the operation. + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + The key of the string. + The amount to decrement by (defaults to 1). + The flags to use for this operation. + The value of key after the decrement. + + + + + Get the value of key. If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Returns the values of all specified keys. + For every key that does not hold a string value or does not exist, the special value is returned. + + The keys of the strings. + The flags to use for this operation. + The values of the strings with for keys do not exist. + + + + + Get the value of key. If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Returns the bit value at offset in the string value stored at key. + When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits. + + The key of the string. + The offset in the string to get a bit at. + The flags to use for this operation. + The bit value stored at offset. + + + + + Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). + Negative offsets can be used in order to provide an offset starting from the end of the string. + So -1 means the last character, -2 the penultimate and so forth. + + The key of the string. + The start index of the substring to get. + The end index of the substring to get. + The flags to use for this operation. + The substring of the string value stored at key. + + + + + Atomically sets key to value and returns the old value stored at key. + + The key of the string. + The value to replace the existing value with. + The flags to use for this operation. + The old value stored at key, or when key did not exist. + + + + + Gets the value of and update its (relative) expiry. + If the key does not exist, the result will be . + + The key of the string. + The expiry to set. will remove expiry. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Gets the value of and update its (absolute) expiry. + If the key does not exist, the result will be . + + The key of the string. + The exact date and time to expire at. will remove expiry. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Get the value of key and delete the key. + If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Get the value of key. + If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key and its expiry, or when key does not exist. + + + + + Increments the number stored at key by increment. + If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. + This operation is limited to 64 bit signed integers. + + The key of the string. + The amount to increment by (defaults to 1). + The flags to use for this operation. + The value of key after the increment. + + See + , + . + + + + + Increments the string representing a floating point number stored at key by the specified increment. + If the key does not exist, it is set to 0 before performing the operation. + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + The key of the string. + The amount to increment by (defaults to 1). + The flags to use for this operation. + The value of key after the increment. + + + + + Returns the length of the string value stored at key. + + The key of the string. + The flags to use for this operation. + The length of the string at key, or 0 when key does not exist. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning a string containing the common sequence. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + The flags to use for this operation. + A string (sequence of characters) of the LCS match. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning the legnth of the common sequence. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + The flags to use for this operation. + The length of the LCS match. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning a list of all common sequences. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + Can be used to restrict the list of matches to the ones of a given minimum length. + The flags to use for this operation. + The result of LCS algorithm, based on the given parameters. + + + + + + + + + + + Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type. + + The key of the string. + The value to set. + The expiry to set. + Whether to maintain the existing key's TTL (KEEPTTL flag). + Which condition to set the value under (defaults to always). + The flags to use for this operation. + if the string was set, otherwise. + + + + + Sets the given keys to their respective values. + If is specified, this will not perform any operation at all even if just a single key already exists. + + The keys and values to set. + Which condition to set the value under (defaults to always). + The flags to use for this operation. + if the keys were set, otherwise. + + See + , + . + + + + + Atomically sets key to value and returns the previous value (if any) stored at . + + The key of the string. + The value to set. + The expiry to set. + Which condition to set the value under (defaults to ). + The flags to use for this operation. + The previous value stored at , or when key did not exist. + + This method uses the SET command with the GET option introduced in Redis 6.2.0 instead of the deprecated GETSET command. + + + + + + Atomically sets key to value and returns the previous value (if any) stored at . + + The key of the string. + The value to set. + The expiry to set. + Whether to maintain the existing key's TTL (KEEPTTL flag). + Which condition to set the value under (defaults to ). + The flags to use for this operation. + The previous value stored at , or when key did not exist. + This method uses the SET command with the GET option introduced in Redis 6.2.0 instead of the deprecated GETSET command. + + + + + Sets or clears the bit at offset in the string value stored at key. + The bit is either set or cleared depending on value, which can be either 0 or 1. + When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset. + + The key of the string. + The offset in the string to set . + The bit value to set, true for 1, false for 0. + The flags to use for this operation. + The original bit value stored at offset. + + + + + Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. + If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. + Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset. + + The key of the string. + The offset in the string to overwrite. + The value to overwrite with. + The flags to use for this operation. + The length of the string after it was modified by the command. + + + + + Describes functionality that is common to both standalone redis servers and redis clusters. + + + + + Indicates whether the instance can communicate with the server (resolved using the supplied key and optional flags). + + The key to check for. + The flags to use for this operation. + + + + + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Describes retry policy functionality that can be provided to the multiplexer to be used for connection reconnects. + + + + + This method is called by the multiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the multiplexer while it was in connecting state. + Total time elapsed in milliseconds since the last reconnect retry was made. + + + + Common operations available to all redis connections. + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The command flags to use when pinging. + The observed latency. + + + + + Common operations available to all redis connections. + + + + + Gets the multiplexer that created this instance. + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The command flags to use. + The observed latency. + + + + + Wait for a given asynchronous operation to complete (or timeout), reporting which. + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type of task to wait on. + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Represents a resumable, cursor-based scanning operation. + + + + + Returns the cursor that represents the *active* page of results (not the pending/next page of results as returned by SCAN/HSCAN/ZSCAN/SSCAN). + + + + + The page size of the current operation. + + + + + The offset into the current page. + + + + + Provides configuration controls of a redis server. + + + + + Gets the cluster configuration associated with this server, if known. + + + + + Gets the address of the connected server. + + + + + Gets the features available to the connected server. + + + + + Gets whether the connection to the server is active and usable. + + + + + The protocol being used to communicate with this server (if not connected/known, then the anticipated protocol from the configuration is returned, assuming success). + + + + + Gets whether the connected server is a replica. + + + + + Gets whether the connected server is a replica. + + + + + Explicitly opt in for replica writes on writable replica. + + + + + Explicitly opt in for replica writes on writable replica. + + + + + Gets the operating mode of the connected server. + + + + + Gets the version of the connected server. + + + + + The number of databases supported on this server. + + + + + The CLIENT KILL command closes a given client connection identified by ip:port. + The ip:port should match a line returned by the CLIENT LIST command. + Due to the single-threaded nature of Redis, it is not possible to kill a client connection while it is executing a command. + From the client point of view, the connection can never be closed in the middle of the execution of a command. + However, the client will notice the connection has been closed only when the next command is sent (and results in network error). + + The endpoint of the client to kill. + The command flags to use. + + + + + + + + The CLIENT KILL command closes multiple connections that match the specified filters. + + The ID of the client to kill. + The type of client. + The endpoint to kill. + Whether to skip the current connection. + The command flags to use. + the number of clients killed. + + + + + + + + The CLIENT KILL command closes multiple connections that match the specified filters. + + The filter to use in choosing which clients to kill. + The command flags to use. + the number of clients killed. + + + + + + + The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. + + The command flags to use. + + + + + + + + Obtains the current CLUSTER NODES output from a cluster server. + + The command flags to use. + + + + + + + + Obtains the current raw CLUSTER NODES output from a cluster server. + + The command flags to use. + + + + + + + + Get all configuration parameters matching the specified pattern. + + The pattern of config values to get. + The command flags to use. + All matching configuration parameters. + + + + + + + + Resets the statistics reported by Redis using the INFO command. + + The command flags to use. + + + + + + + + The CONFIG REWRITE command rewrites the redis.conf file the server was started with, + applying the minimal changes needed to make it reflecting the configuration currently + used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. + + The command flags to use. + + + + + + + + The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. + You can change both trivial parameters or switch from one to another persistence option using this command. + + The setting name. + The new setting value. + The command flags to use. + + + + + + + + Returns the number of total commands available in this Redis server. + + The command flags to use. + + + + + + + + Returns list of keys from a full Redis command. + + The command to get keys from. + The command flags to use. + + + + + + + + Returns a list of command names available on this Redis server. + Only one of the filter options is usable at a time. + + The module name to filter the command list by. + The category to filter the command list by. + The pattern to filter the command list by. + The command flags to use. + + + + + + + + Return the number of keys in the database. + + The database ID. + The command flags to use. + + + + + + + + Return the same message passed in. + + The message to echo. + The command flags to use. + + + + + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API. + + The command to run. + The arguments to pass for the command. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API. + + The command to run. + The arguments to pass for the command. + The flags to use for this operation. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + + + + Delete all the keys of all databases on the server. + + The command flags to use. + + + + + + + + Delete all the keys of the database. + + The database ID. + The command flags to use. + + + + + + + + Get summary statistics associates with this server. + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + The info section to get, if getting a specific one. + The command flags to use. + A grouping of key/value pairs, grouped by their section header. + + + + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + The info section to get, if getting a specific one. + The command flags to use. + The entire raw INFO string. + + + + + + + + + + + Returns all keys matching . + The KEYS or SCAN commands will be used based on the server capabilities. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The database ID. + The pattern to use. + The page size to iterate by. + The cursor position to resume at. + The page offset to start at. + The command flags to use. + An enumeration of matching redis keys. + + Warning: consider KEYS as a command that should only be used in production environments with extreme care. + + See + , + . + + + + + + + + + Return the time of the last DB save executed with success. + A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command + and checking at regular intervals every N seconds if LASTSAVE changed. + + The command flags to use. + The last time a save was performed. + + + + + + + + + + + Promote the selected node to be primary. + + The options to use for this topology change. + The log to write output to. + + + + + Returns the role info for the current server. + + + + + + + + + Explicitly request the database to persist the current state to disk. + + The method of the save (e.g. background or foreground). + The command flags to use. + + See + , + , + , + . + + + + + + + + Indicates whether the specified script is defined on the server. + + The text of the script to check for on the server. + The command flags to use. + + + + + + + + Indicates whether the specified script hash is defined on the server. + + The SHA1 of the script to check for on the server. + The command flags to use. + + + + + + + + Removes all cached scripts on this server. + + The command flags to use. + + + + + + + + Explicitly defines a script on the server. + + The script to load. + The command flags to use. + The SHA1 of the loaded script. + + + + + + + + Explicitly defines a script on the server. + + The script to load. + The command flags to use. + The loaded script, ready for rapid reuse based on the SHA1. + + + + + + + + Asks the redis server to shutdown, killing all connections. Please FULLY read the notes on the SHUTDOWN command. + + The mode of the shutdown. + The command flags to use. + + + + + + + + + + + + + + The REPLICAOF command can change the replication settings of a replica on the fly. + If a Redis server is already acting as replica, specifying a null primary will turn off the replication, + turning the Redis server into a PRIMARY. Specifying a non-null primary will make the server a replica of + another server listening at the specified hostname and port. + + Endpoint of the new primary to replicate from. + The command flags to use. + + + + + To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. + It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). + + The count of items to get. + The command flags to use. + The slow command traces as recorded by the Redis server. + + + + + + + + You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. + + The command flags to use. + + + + + + + + Lists the currently active channels. + An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). + + The channel name pattern to get channels for. + The command flags to use. + a list of active channels, optionally matching the specified pattern. + + + + + + + + Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). + Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. + + The command flags to use. + the number of patterns all the clients are subscribed to. + + + + + + + + Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. + + The channel to get a subscriber count for. + The command flags to use. + The number of subscribers on this server. + + + + + + + + Swaps two Redis databases, so that immediately all the clients connected to a given database will see the data of the other database, and the other way around. + + The ID of the first database. + The ID of the second database. + The command flags to use. + + + + + + + + The TIME command returns the current server time in UTC format. + Use the method to get local time. + + The command flags to use. + The server's current time. + + + + + + + + Gets a text-based latency diagnostic. + + The full text result of latency doctor. + + See + , + . + + + + + + + + Resets the given events (or all if none are specified), discarding the currently logged latency spike events, and resetting the maximum event time register. + + The number of events that were reset. + + See + , + . + + + + + + + + Fetch raw latency data from the event time series, as timestamp-latency pairs. + + An array of latency history entries. + + See + , + . + + + + + + + + Fetch raw latency data from the event time series, as timestamp-latency pairs. + + An array of the latest latency history entries. + + See + , + . + + + + + + + + Reports about different memory-related issues that the Redis server experiences, and advises about possible remedies. + + The full text result of memory doctor. + + + + + + + + Attempts to purge dirty pages so these can be reclaimed by the allocator. + + + + + + + + + Returns an array reply about the memory usage of the server. + + An array reply of memory stat metrics and values. + + + + + + + + Provides an internal statistics report from the memory allocator. + + The full text result of memory allocation stats. + + + + + + + + Returns the IP and port number of the primary with that name. + If a failover is in progress or terminated successfully for this primary it returns the address and port of the promoted replica. + + The sentinel service name. + The command flags to use. + The primary IP and port. + + + + + + + + Returns the IP and port numbers of all known Sentinels for the given service name. + + The sentinel service name. + The command flags to use. + A list of the sentinel IPs and ports. + + + + + + + + Returns the IP and port numbers of all known Sentinel replicas for the given service name. + + The sentinel service name. + The command flags to use. + A list of the replica IPs and ports. + + + + + + + + Show the state and info of the specified primary. + + The sentinel service name. + The command flags to use. + The primaries state as KeyValuePairs. + + + + + + + + Show a list of monitored primaries and their state. + + The command flags to use. + An array of primaries state KeyValuePair arrays. + + + + + + + + + + + + + + Show a list of replicas for this primary, and their state. + + The sentinel service name. + The command flags to use. + An array of replica state KeyValuePair arrays. + + + + + + + + Force a failover as if the primary was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + The sentinel service name. + The command flags to use. + + + + + + + + Show a list of sentinels for a primary, and their state. + + The sentinel service name. + The command flags to use. + + + + + + + + For testing only: Break the connection without mercy or thought. + + The server to simulate failure on. + The type of failure(s) to simulate. + + + + A redis connection used as the subscriber in a pub/sub scenario. + + + + + Indicate exactly which redis server we are talking to. + + The channel to identify the server endpoint by. + The command flags to use. + + + + + + + Indicates whether the instance can communicate with the server. + If a channel is specified, the existing subscription map is queried to + resolve the server responsible for that subscription - otherwise the + server is chosen arbitrarily from the primaries. + + The channel to identify the server endpoint by. + if connected, otherwise. + + + + Posts a message to the given channel. + + The channel to publish to. + The message to publish. + The command flags to use. + + The number of clients that received the message *on the destination server*, + note that this doesn't mean much in a cluster as clients can get the message through other nodes. + + + + + + + + + Subscribe to perform some operation when a message to the preferred/active node is broadcast, without any guarantee of ordered handling. + + The channel to subscribe to. + The handler to invoke when a message is received on . + The command flags to use. + + See + , + . + + + + + + + + Subscribe to perform some operation when a message to the preferred/active node is broadcast, as a queue that guarantees ordered handling. + + The redis channel to subscribe to. + The command flags to use. + A channel that represents this source. + + See + , + . + + + + + + + + Indicate to which redis server we are actively subscribed for a given channel. + + The channel to check which server endpoint was subscribed on. + The subscribed endpoint for the given , if the channel is not actively subscribed. + + + + Unsubscribe from a specified message channel. + Note: if no handler is specified, the subscription is canceled regardless of the subscribers. + If a handler is specified, the subscription is only canceled if this handler is the last handler remaining against the channel. + + The channel that was subscribed to. + The handler to no longer invoke when a message is received on . + The command flags to use. + + See + , + . + + + + + + + + Unsubscribe all subscriptions on this instance. + + The command flags to use. + + See + , + . + + + + + + + + Represents a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. Transactions can also include constraints + (implemented via WATCH), but note that constraint checking involves will (very briefly) + block the connection, since the transaction cannot be correctly committed (EXEC), + aborted (DISCARD) or not applied in the first place (UNWATCH) until the responses from + the constraint checks have arrived. + + + Note that on a cluster, it may be required that all keys involved in the transaction (including constraints) are in the same hash-slot. + + + + + + Adds a precondition for this transaction. + + The condition to add to the transaction. + + + + Execute the batch operation, sending all queued commands to the server. + + The command flags to use. + + + + Execute the batch operation, sending all queued commands to the server. + + The command flags to use. + + + + Describes internal errors (mainly intended for debugging). + + + + + This constructor is only for testing purposes. + + The source of the event. + The endpoint (if any) involved in the event. + Redis connection type. + The exception that occurred. + Origin. + + + + Gets the connection-type of the failing connection. + + + + + Gets the failing server-endpoint (this can be null). + + + + + Gets the exception if available (this can be null). + + + + + The underlying origin of the error. + + + + + Provides the extension method to . + + + + + Creates a new instance that provides an isolated key space + of the specified underlying database instance. + + + The underlying database instance that the returned instance shall use. + + + The prefix that defines a key space isolation for the returned database instance. + + + A new instance that invokes the specified underlying + but prepends the specified + to all key parameters and thus forms a logical key space isolation. + + + + The following methods are not supported in a key space isolated database and + will throw an when invoked: + + + + + + + Please notice that keys passed to a script are prefixed (as normal) but care must + be taken when a script returns the name of a key as that will (currently) not be + "unprefixed". + + + + + + A sized region of contiguous memory backed by a memory pool; disposing the lease returns the memory to the pool. + + The type of data being leased. + + + + A lease of length zero. + + + + + The length of the lease. + + + + + Create a new lease. + + The size required. + Whether to erase the memory. + + + + Release all resources owned by the lease. + + + + + The data as a . + + + + + The data as a . + + + + + The data as an . + + + + + Represents a retry policy that performs retries at a fixed interval. The retries are performed up to a maximum allowed time. + + + + + Initializes a new instance using the specified maximum retry elapsed time allowed. + + maximum elapsed time in milliseconds to be allowed for it to perform retries. + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state. + Total elapsed time in milliseconds since the last reconnect retry was made. + + + + Represents a Lua script that can be executed on Redis. + + Unlike normal Redis Lua scripts, LuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + + Parameters of type RedisKey are sent to Redis as KEY (https://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + Since the mapping of "script text" -> LuaScript doesn't depend on any particular details of + the redis connection itself, this cache is global. + + + + + The original Lua script that was used to create this. + + + + + The Lua script that will actually be sent to Redis for execution. + All @-prefixed parameter names have been replaced at this point. + + + + + Arguments are in the order they have to passed to the script in. + + + + + Finalizer - used to prompt cleanups of the script cache when a LuaScript reference goes out of scope. + + + + + Invalidates the internal cache of LuaScript objects. + Existing LuaScripts will continue to work, but future calls to LuaScript.Prepare + return a new LuaScript instance. + + + + + Returns the number of cached LuaScripts. + + + + + Prepares a Lua script with named parameters to be run against any Redis instance. + + The script to prepare. + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + using the implicit SHA1 hash that's calculated after the script is sent to the server for the first time. + + Note: the FireAndForget command flag cannot be set. + + The server to load the script on. + The command flags to use. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + using the implicit SHA1 hash that's calculated after the script is sent to the server for the first time. + + Note: the FireAndForget command flag cannot be set. + + The server to load the script on. + The command flags to use. + + + + Represents a Lua script that can be executed on Redis. + + Unlike LuaScript, LoadedLuaScript sends the hash of it's ExecutableScript to Redis rather than pass + the whole script on each call. This requires that the script be loaded into Redis before it is used. + + + To create a LoadedLuaScript first create a LuaScript via LuaScript.Prepare(string), then + call Load(IServer, CommandFlags) on the returned LuaScript. + + + Unlike normal Redis Lua scripts, LoadedLuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + + Parameters of type RedisKey are sent to Redis as KEY (https://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + The original script that was used to create this LoadedLuaScript. + + + + + The script that will actually be sent to Redis for execution. + + + + + The SHA1 hash of ExecutableScript. + This is sent to Redis instead of ExecutableScript during Evaluate and EvaluateAsync calls. + + Be aware that using hash directly is not resilient to Redis server restarts. + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. + If the script has not been loaded into the passed Redis instance, it will fail. + + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. + If the script has not been loaded into the passed Redis instance, it will fail. + + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Azure node maintenance event. For more information, please see: . + + + + + Indicates the type of event (raw string form). + + + + + The parsed version of for easier consumption. + + + + + Indicates if the event is for a replica node. + + + + + IPAddress of the node event is intended for. + + + + + SSL Port. + + + + + Non-SSL port. + + + + + The types of notifications that Azure is sending for events happening. + + + + + Unrecognized event type, likely needs a library update to recognize new events. + + + + + Indicates that a maintenance event is scheduled. May be several minutes from now. + + + + + This event gets fired ~20s before maintenance begins. + + + + + This event gets fired when maintenance is imminent (<5s). + + + + + Indicates that the node maintenance operation is over. + + + + + Indicates that a replica has been promoted to primary. + + + + + Indicates that a scale event (adding or removing nodes) has completed for a cluster. + + + + + Base class for all server maintenance events. + + + + + Raw message received from the server. + + + + + The time the event was received. If we know when the event is expected to start will be populated. + + + + + Indicates the expected start time of the event. + + + + + Returns a string representing the maintenance event with all of its properties. + + + + + Notifies a ConnectionMultiplexer of this event, for anyone observing its handler. + + + + + Things with the potential to cause harm, or to reveal configuration information. + + + + Gets whether this is primary-only. + + Note that the constructor runs the switch statement above, so + this will already be true for primary-only commands, even if the + user specified etc. + + + + + This does a few important things: + 1: it suppresses error events for commands that the user isn't interested in + (i.e. "why does my standalone server keep saying ERR unknown command 'cluster' ?") + 2: it allows the initial PING and GET (during connect) to get queued rather + than be rejected as no-server-available (note that this doesn't apply to + handshake messages, as they bypass the queue completely). + 3: it disables non-pref logging, as it is usually server-targeted. + + + + + Gets a string representation of this message: "[{DB}]:{CommandAndKey} ({resultProcessor})". + + + + + Gets a string representation of this message without the key: "[{DB}]:{Command} ({resultProcessor})". + + + + + Gets if this command should be sent over the subscription bridge. + + + + + Sends this command to the subscription connection rather than the interactive. + + + + + Checks if this message has violated the provided timeout. + Whether it's a sync operation in a .Wait() or in the backlog queue or written/pending asynchronously, we need to timeout everything. + ...or we get indefinite Task hangs for completions. + + + + + Sets the processor and box for this message to execute. + + + Note order here is reversed to prevent overload resolution errors. + + + + + Sets the box and processor for this message to execute. + + + Note order here is reversed to prevent overload resolution errors. + + The type of the result box result. + + + + We have 1 queue in play on this bridge. + We're bypassing the queue for handshake events that go straight to the socket. + Everything else that's not an internal call goes into the queue if there is a queue. + + + In a later release we want to remove per-server events from this queue completely and shunt queued messages + to another capable primary connection if one is available to process them faster (order is already hosed). + For now, simplicity in: queue it all, replay or timeout it all. + + + + + If we have a connection, report the protocol being used. + + + + + Number of messages sent since the last heartbeat was processed. + + + + + The time this connection was connected at, if it's connected currently. + + + + + Whether the pipe writer is currently active. + + + + + Status of the currently processing backlog, if any. + + + + + The number of messages that are in the backlog queue (waiting to be sent when the connection is healthy again). + + + + + The number of messages that are in the backlog queue (waiting to be sent when the connection is healthy again). + + + + + The number of messages ever added to the backlog queue in the life of this connection. + + + + + Status for the underlying . + + + + + The default bridge stats, notable *not* the same as default since initializers don't run. + + + + + Sends a keepalive message (ECHO or PING) to keep connections alive and check validity of response. + + Whether to run even then the connection isn't idle. + + + + Crawls from the head of the backlog queue, consuming anything that should have timed out + and pruning it accordingly (these messages will get timeout exceptions). + + + + + Process the backlog(s) in play if any. + This means flushing commands to an available/active connection (if any) or spinning until timeout if not. + + + + + Reset event for monitoring backlog additions mid-run. + This allows us to keep the thread around for a full flush and prevent "feathering the throttle" trying + to flush it. In short, we don't start and stop so many threads with a bit of linger. + + + + + This writes a message to the output stream. + + The physical connection to write to. + The message to be written. + Whether this message should bypass the backlog, going straight to the pipe or failing. + + + + For testing only. + + + + + Nullable because during simulation of failure, we'll null out. + ...but in those cases, we'll accept any null ref in a race - it's fine. + + + + + Did we ask for the shutdown? If so this leads to informational messages for tracking but not errors. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Runs on every heartbeat for a bridge, timing out any commands that are overdue and returning an integer of how many we timed out. + + How many commands were overdue and threw timeout exceptions. + + + + Number of messages sent outbound, but we don't yet have a response for. + + + + + Bytes available on the socket, not yet read into the pipe. + + + + + Bytes read from the socket, pending in the reader pipe. + + + + + Bytes in the writer pipe, waiting to be written to the socket. + + + + + Byte size of the last result we processed. + + + + + Byte size on the buffer that isn't processed yet. + + + + + The inbound pipe reader status. + + + + + The outbound pipe writer status. + + + + + The default connection stats, notable *not* the same as default since initializers don't run. + + + + + The zeroed connection stats, which we want to display as zero for default exception cases. + + + + + A profiled command against a redis instance. + + TimeSpans returned by this interface use a high precision timer if possible. + DateTimes returned by this interface are no more precise than DateTime.UtcNow. + + + + + + The endpoint this command was sent to. + + + + + The Db this command was sent to. + + + + + The name of this command. + + + + + The CommandFlags the command was submitted with. + + + + + + When this command was *created*, will be approximately + when the paired method of StackExchange.Redis was called but + before that method returned. + + Note that the resolution of the returned DateTime is limited by DateTime.UtcNow. + + + + + How long this command waited to be added to the queue of pending + redis commands. A large TimeSpan indicates serious contention for + the pending queue. + + + + + How long this command spent in the pending queue before being sent to redis. + A large TimeSpan can indicate a large number of pending events, large pending events, + or network issues. + + + + + How long before Redis responded to this command and it's response could be handled after it was sent. + A large TimeSpan can indicate a large response body, an overtaxed redis instance, or network issues. + + + + + How long between Redis responding to this command and awaiting consumers being notified. + + + + + How long it took this redis command to be processed, from creation to deserializing the final response. + Note that this TimeSpan *does not* include time spent awaiting a Task in consumer code. + + + + + + If a command has to be resent due to an ASK or MOVED response from redis (in a cluster configuration), + the second sending of the command will have this property set to the original IProfiledCommand. + + This can only be set if redis is configured as a cluster. + + + + + If RetransmissionOf is not null, this property will be set to either Ask or Moved to indicate + what sort of response triggered the retransmission. + + This can be useful for determining the root cause of extra commands. + + + + + A collection of IProfiledCommands. + This is a very light weight data structure, only supporting enumeration. + + While it implements IEnumerable, it there are fewer allocations if one uses + it's explicit GetEnumerator() method. Using `foreach` does this automatically. + + This type is not threadsafe. + + + + + + Implements IEnumerator for ProfiledCommandEnumerable. + This implementation is comparable to List.Enumerator and Dictionary.Enumerator, + and is provided to reduce allocations in the common (ie. foreach) case. + + This type is not threadsafe. + + + + + The current element. + + + + + Advances the enumeration, returning true if there is a new element to consume and false + if enumeration is complete. + + + + + Resets the enumeration. + + + + + Disposes the enumeration. + subsequent attempts to enumerate results in undefined behavior. + + + + + Returns the number of commands captured in this snapshot. + + + + + Returns the number of commands captured in this snapshot that match a condition. + + The predicate to match. + + + + Returns the captured commands as an array. + + + + + Returns the captured commands as a list. + + + + + + Returns an implementor of IEnumerator that, provided it isn't accessed + though an interface, avoids allocations. + + `foreach` will automatically use this method. + + + + + Lightweight profiling session that can be optionally registered (via ConnectionMultiplexer.RegisterProfiler) to track messages. + + + + + Caller-defined state object. + + + + + Create a new profiling session, optionally including a caller-defined state object. + + The state object to use for this session. + + + + Reset the session and yield the commands that were captured for enumeration; if additional commands + are added, they can be retrieved via additional calls to FinishProfiling. + + + + + Represents a pub/sub channel name. + + + + + Indicates whether the channel-name is either null or a zero-length value. + + + + + Indicates whether this channel represents a wildcard pattern (see PSUBSCRIBE). + + + + + Indicates whether channels should use when no + is specified; this is enabled by default, but can be disabled to avoid unexpected wildcard scenarios. + + + + + Creates a new that does not act as a wildcard subscription. + + + + + Creates a new that does not act as a wildcard subscription. + + + + + Creates a new that acts as a wildcard subscription. + + + + + Creates a new that acts as a wildcard subscription. + + + + + Create a new redis channel from a buffer, explicitly controlling the pattern mode. + + The name of the channel to create. + The mode for name matching. + + + + Create a new redis channel from a string, explicitly controlling the pattern mode. + + The string name of the channel to create. + The mode for name matching. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + See . + + The to compare to. + + + + Indicate whether two channel names are equal. + + The to compare to. + + + + + + + Obtains a string representation of the channel name. + + + + + The matching pattern for this channel. + + + + + Will be treated as a pattern if it includes *. + + + + + Never a pattern. + + + + + Always a pattern. + + + + + Create a channel name from a . + + The string to get a channel from. + + + + Create a channel name from a . + + The byte array to get a channel from. + + + + Obtain the channel name as a . + + The channel to get a byte[] from. + + + + Obtain the channel name as a . + + The channel to get a string from. + + + + Gets message for . + + + + + Gets a message for . + + + + + + Notification of errors from the redis server. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + Error message. + + + + The origin of the message. + + + + + The message from the server. + + + + + Provides basic information about the features available on a particular version of Redis. + + + + + Create a new RedisFeatures instance for the given version. + + The version of redis to base the feature set on. + + + + Are BITOP and BITCOUNT available? + + + + + Is CLIENT SETNAME available? + + + + + Is CLIENT ID available? + + + + + Does EXEC support EXECABORT if there are errors? + + + + + Can EXPIRE be used to set expiration on a key that is already volatile (i.e. has an expiration)? + + + + + Is GETDEL available? + + + + + Is HSTRLEN available? + + + + + Does HDEL support variadic usage? + + + + + Are INCRBYFLOAT and HINCRBYFLOAT available? + + + + + Does INFO support sections? + + + + + Is LINSERT available? + + + + + Is MEMORY available? + + + + + Are PEXPIRE and PTTL available? + + + + + Is MODULE available? + + + + + Does SRANDMEMBER support the "count" option? + + + + + Is PERSIST available? + + + + + Are LPUSHX and RPUSHX available? + + + + + Does this support SORT_RO? + + + + + Is SCAN (cursor-based scanning) available? + + + + + Are EVAL, EVALSHA, and other script commands available? + + + + + Does SET support the GET option? + + + + + Does SET support the EX, PX, NX, and XX options? + + + + + Does SET have the KEEPTTL option? + + + + + Does SET allow the NX and GET options to be used together? + + + + + Does SADD support variadic usage? + + + + + Are ZPOPMIN and ZPOPMAX available? + + + + + Is ZRANGESTORE available? + + + + + Are Redis Streams available? + + + + + Is STRLEN available? + + + + + Is SETRANGE available? + + + + + Is SWAPDB available? + + + + + Is TIME available? + + + + + Is UNLINK available? + + + + + Are Lua changes to the calling database transparent to the calling client? + + + + + + + + Is PFCOUNT available on replicas? + + + + + Are geospatial commands available? + + + + + Can PING be used on a subscription connection? + + + + + Does SPOP support popping multiple items? + + + + + Is TOUCH available? + + + + + Does the server prefer 'replica' terminology - 'REPLICAOF', etc? + + + + + Do list-push commands support multiple arguments? + + + + + Is the RESP3 protocol available? + + + + + The Redis version of the server. + + + + + Create a string representation of the available features. + + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + Indicates whether this instance and a specified object are equal. + + + if and this instance are the same type and represent the same value, otherwise. + + The object to compare with the current instance. + + + + Indicates whether this instance and a specified object are equal. + + + if and this instance are the same type and represent the same value, otherwise. + + The object to compare with the current instance. + + + + Checks if 2 are .Equal(). + + + + + Checks if 2 are not .Equal(). + + + + + Represents a key that can be stored in redis. + + + + + Creates a from a string. + + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + See . + + The to compare to. + + + + Indicate whether two keys are equal. + + The to compare to. + + + + + + + Obtains a string representation of the key. + + + + + Create a from a . + + The string to get a key from. + + + + Create a from a . + + The byte array to get a key from. + + + + Obtain the as a . + + The key to get a byte array for. + + + + Obtain the key as a . + + The key to get a string for. + + + + Concatenate two keys. + + The first to add. + The second to add. + + + + Prepends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make it less possible. + + + The prefix to prepend. + + + + Appends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make it less possible. + + + The suffix to append. + + + + Indicates the protocol for communicating with the server. + + + + + The protocol used by all redis server versions since 1.2, as defined by https://github.com/redis/redis-specifications/blob/master/protocol/RESP2.md. + + + + + Opt-in variant introduced in server version 6, as defined by https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md. + + + + + Represents a general-purpose result from redis, that may be cast into various anticipated types. + + + + + Do not use. + + + + + Create a new RedisResult representing a single value. + + The to create a result from. + The type of result being represented. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + The explicit data type. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + The explicit data type. + new . + + + + An empty array result. + + + + + A null array result. + + + + + A null single result, to use as a default for invalid returns. + + + + + Gets the number of elements in this item if it is a valid array, or -1 otherwise. + + + + + + + + Gets the string content as per , but also obtains the declared type from verbatim strings (for example LATENCY DOCTOR). + + The type of the returned string. + The content. + + + + Internally, this is very similar to RawResult, except it is designed to be usable, + outside of the IO-processing pipeline: the buffers are standalone, etc. + + + + + Indicate the type of result that was received from redis, in RESP2 terms. + + + + + Indicate the type of result that was received from redis, in RESP3 terms. + + + + + Indicate the type of result that was received from redis, in RESP2 terms. + + + + + Indicates whether this result was a null result. + + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets a multi-bulk result with successive key/name values as a dictionary keyed by name. + + The key comparator to use, or by default. + + + + Get a sub-item by index. + + + + + Create a from a key. + + The to create a from. + + + + Create a from a channel. + + The to create a from. + + + + For testing only. + + + + + A wrapper for subscription actions. + + + By having most functionality here and state on , we can + use the baseline execution methods to take the normal message paths. + + + + + This is *could* we be connected, as in "what's the theoretical endpoint for this channel?", + rather than if we're actually connected and actually listening on that channel. + + + + + Unregisters a handler or queue and returns if we should remove it from the server. + + if we should remove the subscription from the server, otherwise. + + + + Represents values that can be stored in redis. + + + + + Creates a from a string. + + + + + Obtain this value as an object - to be used alongside Unbox. + + + + + Parse this object as a value - to be used alongside Box. + + The value to unbox. + + + + Represents the string "". + + + + + A null value. + + + + + Indicates whether the **underlying** value is a primitive integer (signed or unsigned); this is **not** + the same as whether the value can be *treated* as an integer - see + and , which is usually the more appropriate test. + + + + + Indicates whether the value should be considered a null value. + + + + + Indicates whether the value is either null or a zero-length value. + + + + + Indicates whether the value is greater than zero-length or has an integer value. + + + + + Indicates whether two RedisValue values are equivalent. + + The first to compare. + The second to compare. + + + + Indicates whether two RedisValue values are equivalent. + + The first to compare. + The second to compare. + + + + See . + + The other to compare. + + + + Indicates whether two RedisValue values are equivalent. + + The to compare to. + + + + + + + Returns a string representation of the value. + + + + + Get the size of this value in bytes. + + + + + Compare against a RedisValue for relative order. + + The other to compare. + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from a . + + The to convert to a . + + + + Creates a new from a . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Attempt to reduce to canonical terms ahead of time; parses integers, floats, etc + Note: we don't use this aggressively ahead of time, a: because of extra CPU, + but more importantly b: because it can change values - for example, if they start + with "123.000", it should **stay** as "123.000", not become 123L; this could be + a hash key or similar - we don't want to break it; RedisConnection uses + the storage type, not the "does it look like a long?" - for this reason. + + + + + Convert to a signed if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Convert to an if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Convert to a if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Create a from a . + It will *attempt* to use the internal buffer directly, but if this isn't possible it will fallback to . + + The to create a value from. + + + + Indicates whether the current value has the supplied value as a prefix. + + The to check. + + + + Anything hashed with SHA1 has exactly 40 characters. We can use that as a shortcut in the code bellow. + + + + + Parser for the https://redis.io/commands/lcs/ format with the and arguments. + + + Example response: + 1) "matches" + 2) 1) 1) 1) (integer) 4 + 2) (integer) 7 + 2) 1) (integer) 5 + 2) (integer) 8 + 3) (integer) 4 + 3) "len" + 4) (integer) 6 + ... + + + + + Handles . + + + + + Handles . + + + + + This processor is for *without* the option. + + + + + This processor is for *with* the option. + + + + + Handles stream responses. For formats, see . + + The type of the stream result. + + + + Result of the ROLE command. Values depend on the role: master, replica, or sentinel. + + + + + + One of "master", "slave" (aka replica), or "sentinel". + + + + + + + + Result of the ROLE command for a primary node. + + + + + + The replication offset. To be consumed by replica nodes. + + + + + Connected replica nodes. + + + + + A connected replica node. + + + + + The IP address of this replica node. + + + + + The port number of this replica node. + + + + + The last replication offset acked by this replica node. + + + + + + + + Result of the ROLE command for a replica node. + + + + + + The IP address of the primary node for this replica. + + + + + The port number of the primary node for this replica. + + + + + This replica's replication state. + + + + + The last replication offset received by this replica. + + + + + Result of the ROLE command for a sentinel node. + + + + + + Primary names monitored by this sentinel node. + + + + + An unexpected result of the ROLE command. + + + + + Turns a script with @namedParameters into a LuaScript that can be executed against a given IDatabase(Async) object. + + The script to prepare. + + + + Determines whether or not the given type can be used to provide parameters for the given . + + The type of the parameter. + The script to match against. + The first missing member, if any. + The first type mismatched member, if any. + + + + Creates a Func that extracts parameters from the given type for use by a LuaScript. + + Members that are RedisKey's get extracted to be passed in as keys to redis; all members that + appear in the script get extracted as RedisValue arguments to be sent up as args. + + + We send all values as arguments so we don't have to prepare the same script for different parameter + types. + + + The created Func takes a RedisKey, which will be prefixed to all keys (and arguments of type RedisKey) for + keyspace isolation. + + + The type to extract for. + The script to extract for. + + + + Illustrates the queues associates with this server. + + + + + Creates a instance for an . + + The to create counters for. + + + + The endpoint to which this data relates (this can be null if the data represents all servers). + + + + + Counters associated with the interactive (non pub-sub) connection. + + + + + Counters associated with other ambient activity. + + + + + Counters associated with the subscription (pub-sub) connection. + + + + + Indicates the total number of outstanding items against this server. + + + + + See . + + + + + Whether this endpoint supports databases at all. + Note that some servers are cluster but present as standalone (e.g. Redis Enterprise), so we respect + being disabled here as a performance workaround. + + + This is memoized because it's accessed on hot paths inside the write lock. + + + + + Awaitable state seeing if this endpoint is connected. + + + + + If we have a connection (interactive), report the protocol being used. + + + + + Used to round-robin between multiple replicas. + + + + + Result of the latest tie breaker (from the last reconfigure). + + + + + Forces frequent replication check starting from 1 second up to max ConfigCheckSeconds with an exponential increment. + + + + + Write the message directly to the pipe or fail...will not queue. + + The type of the result processor. + + + + For testing only. + + + + + Computes the hash-slot that would be used by the given key. + + The to determine a slot ID for. + + + + Computes the hash-slot that would be used by the given channel. + + The to determine a slot ID for. + + + + Gets the hashslot for a given byte sequence. + + + HASH_SLOT = CRC16(key) mod 16384. + + + + + A SocketManager monitors multiple sockets for availability of data; this is done using + the Socket.Select API and a dedicated reader-thread, which allows for fast responses + even when the system is under ambient load. + + + + + Gets the name of this SocketManager instance. + + + + + Creates a new instance. + + The name for this . + + + + Creates a new instance. + + The name for this . + Whether this should use high priority sockets. + + + + Creates a new (optionally named) instance. + + The name for this . + the number of dedicated workers for this . + Whether this should use high priority sockets. + + + + Additional options for configuring the socket manager. + + + + + No additional options. + + + + + Whether the should use high priority sockets. + + + + + Use the regular thread-pool for all scheduling. + + + + + Creates a new (optionally named) instance. + + The name for this . + The number of dedicated workers for this . + Options to use when creating the socket manager. + + + + Default / shared socket manager using a dedicated thread-pool. + + + + + Shared socket manager using the main thread-pool. + + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + Releases all resources associated with this instance. + + + + + Releases *appropriate* resources associated with this instance. + + + + + Constants representing values used in Redis Stream commands. + + + + + The "~" value used with the MAXLEN option. + + + + + The "*" value used with the XADD command. + + + + + The "$" value used in the XGROUP command. Indicates reading only new messages from the stream. + + + + + The "0" value used in the XGROUP command. Indicates reading all messages from the stream. + + + + + The "-" value used in the XRANGE, XREAD, and XREADGROUP commands. Indicates the minimum message ID from the stream. + + + + + The "+" value used in the XRANGE, XREAD, and XREADGROUP commands. Indicates the maximum message ID from the stream. + + + + + The ">" value used in the XREADGROUP command. Use this to read messages that have not been delivered to a consumer group. + + + + + Licensed to the .NET Foundation under one or more agreements. + The .NET Foundation licenses this file to you under the MIT license. + + Inspired from . + + + + Create a new TaskCompletion source. + + The type for the created . + The state for the created . + The options to apply to the task. + + + + Optimization over . + + From . + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/local-nuget/stackexchange.redis/2.8.24/lib/net472/StackExchange.Redis.xml b/local-nuget/stackexchange.redis/2.8.24/lib/net472/StackExchange.Redis.xml new file mode 100644 index 000000000..9063e53d2 --- /dev/null +++ b/local-nuget/stackexchange.redis/2.8.24/lib/net472/StackExchange.Redis.xml @@ -0,0 +1,12629 @@ + + + + StackExchange.Redis + + + + + Filter determining which Redis clients to kill. + + + + + + Filter arguments builder for `CLIENT KILL`. + + + + + The ID of the client to kill. + + + + + The type of client. + + + + + The authenticated ACL username. + + + + + The endpoint to kill. + + + + + The server endpoint to kill. + + + + + Whether to skip the current connection. + + + + + Age of connection in seconds. + + + + + Sets client id filter. + + Id of the client to kill. + + + + Sets client type filter. + + The type of the client. + + + + Sets the username filter. + + Authenticated ACL username. + + + + Set the endpoint filter. + + The endpoint to kill. + + + + Set the server endpoint filter. + + The server endpoint to kill. + + + + Set the skipMe filter (whether to skip the current connection). + + Whether to skip the current connection. + + + + Set the MaxAgeInSeconds filter. + + Age of connection in seconds. + + + + Describes a GeoEntry element with the corresponding value. + GeoEntries are stored in redis as SortedSetEntries. + + + + + The name of the GeoEntry. + + + + + Describes the longitude and latitude of a GeoEntry. + + + + + Initializes a GeoEntry value. + + The longitude position to use. + The latitude position to use. + The value to store for this position. + + + + The longitude of the GeoEntry. + + + + + The latitude of the GeoEntry. + + + + + A "({Longitude},{Latitude})={Member}" string representation of this entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first entry to compare. + The second entry to compare. + + + + Compares two values for non-equality. + + The first entry to compare. + The second entry to compare. + + + + Describes the longitude and latitude of a GeoEntry. + + + + + The Latitude of the GeoPosition. + + + + + The Longitude of the GeoPosition. + + + + + Creates a new GeoPosition. + + + + + A "{long} {lat}" string representation of this position. + + + + + See . + Diagonals not an issue in the case of lat/long. + + + Diagonals are not an issue in the case of lat/long. + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first position to compare. + The second position to compare. + + + + Compares two values for non-equality. + + The first position to compare. + The second position to compare. + + + + GeoRadius command options. + + + + + No Options. + + + + + Redis will return the coordinates of any results. + + + + + Redis will return the distance from center for all results. + + + + + Redis will return the geo hash value as an integer. (This is the score in the sorted set). + + + + + Populates the commonly used values from the entry (the integer hash is not returned as it is not commonly useful). + + + + + The result of a GeoRadius command. + + + + + Indicate the member being represented. + + + + + The matched member. + + + + + The distance of the matched member from the center of the geo radius command. + + + + + The hash value of the matched member as an integer. (The key in the sorted set). + + Note that this is not the same as the hash returned from GeoHash. + + + + The coordinates of the matched member. + + + + + Returns a new GeoRadiusResult. + + The value from the result. + The distance from the result. + The hash of the result. + The GeoPosition of the result. + + + + A Shape that you can use for a GeoSearch. + + + + + The unit to use for creating the shape. + + + + + The number of shape arguments. + + + + + constructs a . + + The geography unit to use. + + + + A circle drawn on a map bounding. + + + + + Creates a Shape. + + The radius of the circle. + The distance unit the circle will use, defaults to Meters. + + + + Gets the s for this shape. + + + + + A box drawn on a map. + + + + + Initializes a GeoBox. + + The height of the box. + The width of the box. + The distance unit the box will use, defaults to Meters. + + + + Describes a hash-field (a name/value pair). + + + + + Initializes a value. + + The name for this hash entry. + The value for this hash entry. + + + + The name of the hash field. + + + + + The value of the hash field. + + + + + The name of the hash field. + + + + + Converts to a key/value pair. + + The to create a from. + + + + Converts from a key/value pair. + + The to get a from. + + + + A "{name}: {value}" string representation of this entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + A latency entry as reported by the built-in LATENCY HISTORY command. + + + + + The time at which this entry was recorded. + + + + + The latency recorded for this event. + + + + + A latency entry as reported by the built-in LATENCY LATEST command. + + + + + The name of this event. + + + + + The time at which this entry was recorded. + + + + + The latency recorded for this event. + + + + + The max latency recorded for all events. + + + + + The result of a LongestCommonSubsequence command with IDX feature. + Returns a list of the positions of each sub-match. + + + + + Whether this match result contains any matches. + + + + + The matched positions of all the sub-matched strings. + + + + + The length of the longest match. + + + + + Returns a new . + + The matched positions in each string. + The length of the match. + + + + Represents a sub-match of the longest match. i.e first indexes the matched substring in each string. + + + + + The first index of the matched substring in the first string. + + + + + The first index of the matched substring in the second string. + + + + + The length of the match. + + + + + Returns a new Match. + + The first index of the matched substring in the first string. + The first index of the matched substring in the second string. + The length of the match. + + + + A contiguous portion of a redis list. + + + + + A null ListPopResult, indicating no results. + + + + + Whether this object is null/empty. + + + + + The key of the list that this set of entries came form. + + + + + The values from the list. + + + + + Describes a value contained in a stream (a name/value pair). + + + + + Initializes a value. + + The name for this entry. + The value for this entry. + + + + The name of the field. + + + + + The value of the field. + + + + + Converts to a key/value pair. + + The to create a from. + + + + Converts from a key/value pair. + + The to get a from. + + + + The "{name}: {value}" string representation. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + Describes a Redis Stream with an associated array of entries. + + + + + The key for the stream. + + + + + An array of entries contained within the stream. + + + + + Describes a value/expiry pair. + + + + + Creates a from a and a . + + + + + The expiry of this record. + + + + + The value of this record. + + + + + Describes a sorted-set element with the corresponding value. + + + + + Initializes a value. + + The to get an entry for. + The redis score for . + + + + The unique element stored in the sorted set. + + + + + The score against the element. + + + + + The score against the element. + + + + + The unique element stored in the sorted set. + + + + + Converts to a key/value pair. + + The to get a for. + + + + Converts from a key/value pair. + + The to get a for. + + + + A "{element}: {score}" string representation of the entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values by score. + + The to compare to. + + + + Compares two values by score. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + A contiguous portion of a redis sorted set. + + + + + A null SortedSetPopResult, indicating no results. + + + + + Whether this object is null/empty. + + + + + The key of the sorted set these entries came form. + + + + + The provided entries of the sorted set. + + + + + Result of the XAUTOCLAIM command with the JUSTID option. + + + + + A null , indicating no results. + + + + + Whether this object is null/empty. + + + + + The stream ID to be used in the next call to StreamAutoClaim. + + + + + Array of IDs claimed by the command. + + + + + Array of message IDs deleted from the stream. + + + + + Result of the XAUTOCLAIM command. + + + + + A null , indicating no results. + + + + + Whether this object is null/empty. + + + + + The stream ID to be used in the next call to StreamAutoClaim. + + + + + An array of for the successfully claimed entries. + + + + + An array of message IDs deleted from the stream. + + + + + Describes a consumer off a Redis Stream. + + + + + The name of the consumer. + + + + + The number of messages that have been delivered by not yet acknowledged by the consumer. + + + + + Describes a consumer within a consumer group, retrieved using the XINFO CONSUMERS command. . + + + + + The name of the consumer. + + + + + The number of pending messages for the consumer. A pending message is one that has been + received by the consumer but not yet acknowledged. + + + + + The idle time, if any, for the consumer. + + + + + Describes an entry contained in a Redis Stream. + + + + + Creates an stream entry. + + + + + A null stream entry. + + + + + The ID assigned to the message. + + + + + The values contained within the message. + + + + + Search for a specific field by name, returning the value. + + + + + Indicates that the Redis Stream Entry is null. + + + + + Describes a consumer group retrieved using the XINFO GROUPS command. . + + + + + The name of the consumer group. + + + + + The number of consumers within the consumer group. + + + + + The total number of pending messages for the consumer group. A pending message is one that has been + received by a consumer but not yet acknowledged. + + + + + The Id of the last message delivered to the group. + + + + + Total number of entries the group had read. + + + + + The number of entries in the range between the group's read entries and the stream's entries. + + + + + Describes stream information retrieved using the XINFO STREAM command. . + + + + + The number of entries in the stream. + + + + + The number of radix tree keys in the stream. + + + + + The number of radix tree nodes in the stream. + + + + + The number of consumers groups in the stream. + + + + + The first entry in the stream. + + + + + The last entry in the stream. + + + + + The last generated id. + + + + + Describes basic information about pending messages for a consumer group. + + + + + The number of pending messages. A pending message is a message that has been consumed but not yet acknowledged. + + + + + The lowest message ID in the set of pending messages. + + + + + The highest message ID in the set of pending messages. + + + + + An array of consumers within the consumer group that have pending messages. + + + + + Describes properties of a pending message. + A pending message is one that has been received by a consumer but has not yet been acknowledged. + + + + + The ID of the pending message. + + + + + The consumer that received the pending message. + + + + + The time that has passed since the message was last delivered to a consumer. + + + + + The number of times the message has been delivered to a consumer. + + + + + Describes a pair consisting of the Stream Key and the from which to begin reading a stream. + + + + + Read from the beginning of a stream. + + + + + Read new messages. + + + + + Initializes a value. + + The key for the stream. + The position from which to begin reading the stream. + + + + The stream key. + + + + + The offset at which to begin reading the stream. + + + + + The backlog policy to use for commands. This policy comes into effect when a connection is unhealthy or unavailable. + The policy can choose to backlog commands and wait to try them (within their timeout) against a connection when it comes up, + or it could choose to fail fast and throw ASAP. Different apps desire different behaviors with backpressure and how to handle + large amounts of load, so this is configurable to optimize the happy path but avoid spiral-of-death queue scenarios for others. + + + + + Backlog behavior matching StackExchange.Redis's 2.x line, failing fast and not attempting to queue + and retry when a connection is available again. + + + + + Default backlog policy which will allow commands to be issues against an endpoint and queue up. + Commands are still subject to their async timeout (which serves as a queue size check). + + + + + Whether to queue commands while disconnected. + True means queue for attempts up until their timeout. + means to fail ASAP and queue nothing. + + + + + Whether to immediately abandon (with an exception) all pending commands when a connection goes unhealthy. + + + + + Note that in results other than success, no guarantees are made about final state; if you care: snapshot. + + + + + Represents a message that is broadcast via publish/subscribe. + + + + + The Channel:Message string representation. + + + + + + + + + + + The channel that the subscription was created from. + + + + + The channel that the message was broadcast to. + + + + + The value that was broadcast. + + + + + Checks if 2 messages are .Equal(). + + + + + Checks if 2 messages are not .Equal(). + + + + + Represents a message queue of ordered pub/sub notifications. + + + To create a ChannelMessageQueue, use + or . + + + + + The Channel that was subscribed for this queue. + + + + + The string representation of this channel. + + + + + An awaitable task the indicates completion of the queue (including drain of data). + + + + + Consume a message from the channel. + + The to use. + + + + Attempt to synchronously consume a message from the channel. + + The read from the Channel. + + + + Attempt to query the backlog length of the queue. + + The (approximate) count of items in the Channel. + + + + Create a message loop that processes messages sequentially. + + The handler to run when receiving a message. + + + + Create a message loop that processes messages sequentially. + + The handler to execute when receiving a message. + + + + Stop receiving messages on this channel. + + The flags to use when unsubscribing. + + + + Stop receiving messages on this channel. + + The flags to use when unsubscribing. + + + + + + + Represents the state of an individual client connection to redis. + + + + + Address (host and port) of the client. + + + + + Total duration of the connection in seconds. + + + + + Current database ID. + + + + + The flags associated with this connection. + + + + + The client flags can be a combination of: + + + A + Connection to be closed ASAP. + + + b + The client is waiting in a blocking operation. + + + c + Connection to be closed after writing entire reply. + + + d + A watched keys has been modified - EXEC will fail. + + + i + The client is waiting for a VM I/O (deprecated). + + + M + The client is a primary. + + + N + No specific flag set. + + + O + The client is a replica in MONITOR mode. + + + P + The client is a Pub/Sub subscriber. + + + r + The client is in readonly mode against a cluster node. + + + S + The client is a normal replica server. + + + u + The client is unblocked. + + + U + The client is unblocked. + + + x + The client is in a MULTI/EXEC context. + + + t + The client enabled keys tracking in order to perform client side caching. + + + R + The client tracking target client is invalid. + + + B + The client enabled broadcast tracking mode. + + + + + + + + The host of the client (typically an IP address). + + + + + Idle time of the connection in seconds. + + + + + Last command played. + + + + + The name allocated to this connection, if any. + + + + + Number of pattern matching subscriptions. + + + + + The port of the client. + + + + + The raw content from redis. + + + + + Number of channel subscriptions. + + + + + Number of commands in a MULTI/EXEC context. + + + + + A unique 64-bit client ID (introduced in Redis 2.8.12). + + + + + Format the object as a string. + + + + + The class of the connection. + + + + + Client RESP protocol version. Added in Redis 7.0. + + + + + Client RESP protocol version. Added in Redis 7.0. + + + + + Client library name. Added in Redis 7.2. + + + + + + Client library version. Added in Redis 7.2. + + + + + + Indicates a range of slots served by a cluster node. + + + + + Create a new SlotRange value. + + The slot ID to start at. + The slot ID to end at. + + + + The start of the range (inclusive). + + + + + The end of the range (inclusive). + + + + + Indicates whether two ranges are not equal. + + The first slot range. + The second slot range. + + + + Indicates whether two ranges are equal. + + The first slot range. + The second slot range. + + + + Try to parse a string as a range. + + The range string to parse, e.g."1-12". + The parsed , if successful. + + + + Compares the current instance with another object of the same type and returns an integer that indicates + whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + The other slot range to compare to. + + + + See . + + The other slot range to compare to. + + + + Indicates whether two ranges are equal. + + The other slot range to compare to. + + + + + + + String representation ("{from}-{to}") of the range. + + + + + Describes the state of the cluster as reported by a single node. + + + + + Gets all nodes contained in the configuration. + + + + + The node that was asked for the configuration. + + + + + Obtain the node relating to a specified endpoint. + + The endpoint to get a cluster node from. + + + + Gets the node that serves the specified slot. + + The slot ID to get a node by. + + + + Gets the node that serves the specified key's slot. + + The key to identify a node by. + + + + Represents the configuration of a single node in a cluster configuration. + + + + + + Gets all child nodes of the current node. + + + + + Gets the endpoint of the current node. + + + + + Gets whether this node is in a failed state. + + + + + Gets whether this node is possibly in a failed state. + Possibly here means the node we're getting status from can't communicate with it, but doesn't mean it's down for sure. + + + + + Gets whether this is the node which responded to the CLUSTER NODES request. + + + + + Gets whether this node is a replica. + + + + + Gets whether this node is a replica. + + + + + Gets whether this node is flagged as noaddr. + + + + + Gets the node's connection status. + + + + + Gets the unique node-id of the current node. + + + + + Gets the parent node of the current node. + + + + + Gets the unique node-id of the parent of the current node. + + + + + The configuration as reported by the server. + + + + + The slots owned by this server. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates + whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + The to compare to. + + + + See . + + The to compare to. + + + + Indicates whether two instances are equivalent. + + The to compare to. + + + + + + + A string summary of this cluster configuration. + + + + + Represents the commands mapped on a particular configuration. + + + + + The default commands specified by redis. + + + + + The commands available to twemproxy. + + + + + + The commands available to envoyproxy. + + + + + + The commands available to SSDB. + + + + + + The commands available to Sentinel. + + + + + + Create a new , customizing some commands. + + The commands to override. + + + + Creates a by specifying which commands are available or unavailable. + + The commands to specify. + Whether the commands are available or excluded. + + + + See . + + + + + Represents the information known about long-running commands. + + + + + The array composing the arguments of the command. + + + + + The amount of time needed for its execution. + + + + + The time at which the logged command was processed. + + + + + A unique progressive identifier for every slow log entry. + + The entry's unique ID can be used in order to avoid processing slow log entries multiple times (for instance you may have a script sending you an email alert for every new slow log entry). The ID is never reset in the course of the Redis server execution, only a server restart will reset it. + + + + Deduces a link to the redis documentation about the specified command. + + + + + Describes a precondition used in a redis transaction. + + + + + Enforces that the given hash-field must have the specified value. + + The key of the hash to check. + The field in the hash to check. + The value that the hash field must match. + + + + Enforces that the given hash-field must exist. + + The key of the hash to check. + The field in the hash to check. + + + + Enforces that the given hash-field must not have the specified value. + + The key of the hash to check. + The field in the hash to check. + The value that the hash field must not match. + + + + Enforces that the given hash-field must not exist. + + The key of the hash to check. + The field in the hash that must not exist. + + + + Enforces that the given key must exist. + + The key that must exist. + + + + Enforces that the given key must not exist. + + The key that must not exist. + + + + Enforces that the given list index must have the specified value. + + The key of the list to check. + The position in the list to check. + The value of the list position that must match. + + + + Enforces that the given list index must exist. + + The key of the list to check. + The position in the list that must exist. + + + + Enforces that the given list index must not have the specified value. + + The key of the list to check. + The position in the list to check. + The value of the list position must not match. + + + + Enforces that the given list index must not exist. + + The key of the list to check. + The position in the list that must not exist. + + + + Enforces that the given key must have the specified value. + + The key to check. + The value that must match. + + + + Enforces that the given key must not have the specified value. + + The key to check. + The value that must not match. + + + + Enforces that the given hash length is a certain value. + + The key of the hash to check. + The length the hash must have. + + + + Enforces that the given hash length is less than a certain value. + + The key of the hash to check. + The length the hash must be less than. + + + + Enforces that the given hash length is greater than a certain value. + + The key of the hash to check. + The length the hash must be greater than. + + + + Enforces that the given string length is a certain value. + + The key of the string to check. + The length the string must be equal to. + + + + Enforces that the given string length is less than a certain value. + + The key of the string to check. + The length the string must be less than. + + + + Enforces that the given string length is greater than a certain value. + + The key of the string to check. + The length the string must be greater than. + + + + Enforces that the given list length is a certain value. + + The key of the list to check. + The length the list must be equal to. + + + + Enforces that the given list length is less than a certain value. + + The key of the list to check. + The length the list must be less than. + + + + Enforces that the given list length is greater than a certain value. + + The key of the list to check. + The length the list must be greater than. + + + + Enforces that the given set cardinality is a certain value. + + The key of the set to check. + The length the set must be equal to. + + + + Enforces that the given set cardinality is less than a certain value. + + The key of the set to check. + The length the set must be less than. + + + + Enforces that the given set cardinality is greater than a certain value. + + The key of the set to check. + The length the set must be greater than. + + + + Enforces that the given set contains a certain member. + + The key of the set to check. + The member the set must contain. + + + + Enforces that the given set does not contain a certain member. + + The key of the set to check. + The member the set must not contain. + + + + Enforces that the given sorted set cardinality is a certain value. + + The key of the sorted set to check. + The length the sorted set must be equal to. + + + + Enforces that the given sorted set contains a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set cardinality is less than a certain value. + + The key of the sorted set to check. + The length the sorted set must be less than. + + + + Enforces that the given sorted set contains less than a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set cardinality is greater than a certain value. + + The key of the sorted set to check. + The length the sorted set must be greater than. + + + + Enforces that the given sorted set contains more than a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set contains a certain member. + + The key of the sorted set to check. + The member the sorted set must contain. + + + + Enforces that the given sorted set does not contain a certain member. + + The key of the sorted set to check. + The member the sorted set must not contain. + + + + Enforces that the given sorted set member must have the specified score. + + The key of the sorted set to check. + The member the sorted set to check. + The score that member must have. + + + + Enforces that the given sorted set member must not have the specified score. + + The key of the sorted set to check. + The member the sorted set to check. + The score that member must not have. + + + + Enforces that the given sorted set must have the given score. + + The key of the sorted set to check. + The score that the sorted set must have. + + + + Enforces that the given sorted set must not have the given score. + + The key of the sorted set to check. + The score that the sorted set must not have. + + + + Enforces that the given sorted set must have the specified count of the given score. + + The key of the sorted set to check. + The score that the sorted set must have. + The number of members which sorted set must have. + + + + Enforces that the given sorted set must not have the specified count of the given score. + + The key of the sorted set to check. + The score that the sorted set must not have. + The number of members which sorted set must not have. + + + + Enforces that the given stream length is a certain value. + + The key of the stream to check. + The length the stream must have. + + + + Enforces that the given stream length is less than a certain value. + + The key of the stream to check. + The length the stream must be less than. + + + + Enforces that the given stream length is greater than a certain value. + + The key of the stream to check. + The length the stream must be greater than. + + + + Indicates the status of a condition as part of a transaction. + + + + + Indicates whether the condition was satisfied. + + + + + The options relevant to a set of redis connections. + + + Some options are not observed by a after initial creation: + + + + + + + + + + + A LocalCertificateSelectionCallback delegate responsible for selecting the certificate used for authentication; note + that this cannot be specified in the configuration-string. + + + + + A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party; note + that this cannot be specified in the configuration-string. + + + + + The default (not explicitly configured) options for this connection, fetched based on our parsed endpoints. + + + + + Allows modification of a between creation and connection. + Passed in is the endpoint we're connecting to, which type of connection it is, and the socket itself. + For example, a specific local IP endpoint could be bound, linger time altered, etc. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException. + + + + + Indicates whether admin operations should be allowed. + + + + + Specifies the time in milliseconds that the system should allow for asynchronous operations (defaults to SyncTimeout). + + + + + Indicates whether the connection should be encrypted. + + + + + Gets or sets whether the library should identify itself by library-name/version when possible. + + + + + Gets or sets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. + Defaults to "SE.Redis". + + If the value is null, empty or whitespace, then the value from the options-provider is used; + to disable the library name feature, use instead. + + + + Automatically encodes and decodes channels. + + + + + A Boolean value that specifies whether the certificate revocation list is checked during authentication. + + + + + A Boolean value that specifies whether to use per-command validation of strict protocol validity. + This sends an additional command after EVERY command which incurs measurable overhead. + + + The regular RESP protocol does not include correlation identifiers between requests and responses; in exceptional + scenarios, protocol desynchronization can occur, which may not be noticed immediately; this option adds additional data + to ensure that this cannot occur, at the cost of some (small) additional bandwidth usage. + + + + + Create a certificate validation check that checks against the supplied issuer even when not known by the machine. + + The file system path to find the certificate at. + + + + Create a certificate validation check that checks against the supplied issuer even when not known by the machine. + + The issuer to trust. + + + + The client name to use for all connections. + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly. + + + + + The command-map associated with this configuration. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Gets the command map for a given server type, since some supersede settings when connecting. + + + + + Channel to use for broadcasting and listening for configuration change notification. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Specifies the time in milliseconds that should be allowed for connection (defaults to 5 seconds unless SyncTimeout is higher). + + + + + Specifies the default database to be used when calling without any parameters. + + + + + The server version to assume. + + + + + The endpoints defined for this configuration. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. + This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection. + + + + + Controls how often the connection heartbeats. A heartbeat includes: + - Evaluating if any messages have timed out. + - Evaluating connection status (checking for failures). + - Sending a server message to keep the connection alive if needed. + + + This defaults to 1000 milliseconds and should not be changed for most use cases. + If for example you want to evaluate whether commands have violated the at a lower fidelity + than 1000 milliseconds, you could lower this value. + Be aware setting this very low incurs additional overhead of evaluating the above more often. + + + + + Use ThreadPriority.AboveNormal for SocketManager reader and writer threads (true by default). + If , will be used. + + + + + Whether exceptions include identifiable details (key names, additional .Data annotations). + + + + + Whether exceptions include performance counter details. + + + CPU usage, etc - note that this can be problematic on some platforms. + + + + + Specifies the time in seconds at which connections should be pinged to ensure validity. + -1 Defaults to 60 Seconds. + + + + + The to get loggers for connection events. + Note: changes here only affect s created after. + + + + + The username to use to authenticate with the server. + + + + + The password to use to authenticate with the server. + + + + + Specifies whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Type of proxy to use (if any); for example . + + + + + The retry policy to be used for connection reconnects. + + + + + The backlog policy to be used for commands when a connection is unhealthy. + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure. + + + + + Specifies the time in milliseconds that the system should allow for responses before concluding that the socket is unhealthy. + + + + + The service name used to resolve a service via sentinel. + + + + + Gets or sets the SocketManager instance to be used with these options. + If this is null a shared cross-multiplexer is used. + + + This is only used when a is created. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Indicates whether the connection should be encrypted. + + + + + The target-host to use when validating SSL certificate; setting a value here enables SSL mode. + + + + + Configures which SSL/TLS protocols should be allowed. If not set, defaults are chosen by the .NET framework. + + + + + Specifies the time in milliseconds that the system should allow for synchronous operations (defaults to 5 seconds). + + + + + Tie-breaker used to choose between primaries (must match the endpoint exactly). + + + + + The size of the output buffer to use. + + + + + Check configuration every n seconds (every minute by default). + + + + + Parse the configuration from a comma-delimited configuration string. + + The configuration string to parse. + is . + is empty. + + + + Parse the configuration from a comma-delimited configuration string. + + The configuration string to parse. + Whether to ignore unknown elements in . + is . + is empty. + + + + Create a copy of the configuration. + + + + + Apply settings to configure this instance of , e.g. for a specific scenario. + + An action that will update the properties of this instance. + This instance, with any changes made. + + + + Resolve the default port for any endpoints that did not have a port explicitly specified. + + + + + Gets a tie breaker if we both have one set, and should be using one. + + + + + Returns the effective configuration string for this configuration, including Redis credentials. + + + Includes password to allow generation of configuration strings used for connecting multiplexer. + + + + + Returns the effective configuration string for this configuration + with the option to include or exclude the password from the string. + + Whether to include the password. + + + + Allows custom transport implementations, such as http-tunneling via a proxy. + + + + + Specify the redis protocol type. + + + + + Options provider for Azure environments. + + + + + Allow connecting after startup, in the cases where remote cache isn't ready or is overloaded. + + + + + The minimum version of Redis in Azure is 6, so use the widest set of available commands when connecting. + + + + + Lists of domains known to be Azure Redis, so we can light up some helpful functionality + for minimizing downtime during maintenance events and such. + + + + + + + + + + + + + + A defaults providers for . + This providers defaults not explicitly specified and is present to be inherited by environments that want to provide + better defaults for their use case, e.g. in a single wrapper library used many places. + + + Why not just have a default instance? Good question! + Since we null coalesce down to the defaults, there's an inherent pit-of-failure with that approach of . + If you forget anything or if someone creates a provider nulling these out...kaboom. + + + + + The known providers to match against (built into the library) - the default set. + If none of these match, is used. + + + + + The current list of providers to match (potentially modified from defaults via . + + + + + Adds a provider to match endpoints against. The last provider added has the highest priority. + If you want your provider to match everything, implement as return true;. + + The provider to add. + + + + Whether this options provider matches a given endpoint, for automatically selecting a provider based on what's being connected to. + + + + + Gets a provider for the given endpoints, falling back to if nothing more specific is found. + + + + + Gets a provider for a given endpoints, falling back to if nothing more specific is found. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException. + + + + + Indicates whether admin operations should be allowed. + + + + + The backlog policy to be used for commands when a connection is unhealthy. + + + + + A Boolean value that specifies whether the certificate revocation list is checked during authentication. + + + + + A Boolean value that specifies whether to use per-command validation of strict protocol validity. + This sends an additional command after EVERY command which incurs measurable overhead. + + + The regular RESP protocol does not include correlation identifiers between requests and responses; in exceptional + scenarios, protocol desynchronization can occur, which may not be noticed immediately; this option adds additional data + to ensure that this cannot occur, at the cost of some (small) additional bandwidth usage. + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly. + + + + + Specifies the time that should be allowed for connection. + Falls back to Max(5000, SyncTimeout) if null. + + + + + The command-map associated with this configuration. + + + + + Channel to use for broadcasting and listening for configuration change notification. + + + + + The server version to assume. + + + + + Controls how often the connection heartbeats. A heartbeat includes: + - Evaluating if any messages have timed out. + - Evaluating connection status (checking for failures). + - Sending a server message to keep the connection alive if needed. + + Be aware setting this very low incurs additional overhead of evaluating the above more often. + + + + Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. + This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection. + + + + + Whether exceptions include identifiable details (key names, additional .Data annotations). + + + + + Whether exceptions include performance counter details. + + + CPU usage, etc - note that this can be problematic on some platforms. + + + + + Specifies the time interval at which connections should be pinged to ensure validity. + + + + + The to get loggers for connection events. + Note: changes here only affect s created after. + + + + + Type of proxy to use (if any); for example . + + + + + The retry policy to be used for connection reconnects. + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure. + + + + + Specifies the time that the system should allow for synchronous operations. + + + + + Tie-breaker used to choose between primaries (must match the endpoint exactly). + + + + + Check configuration every n interval. + + + + + The username to use to authenticate with the server. + + + + + The password to use to authenticate with the server. + + + + + The default client name for a connection, with the library version appended. + + + + + Gets the default client name for a connection. + + + + + Gets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. + Defaults to "SE.Redis". + + + + + String version of the StackExchange.Redis library, for use in any options. + + + + + Name of the machine we're running on, for use in any options. + + + + + Whether to identify the client by library name/version when possible. + + + + + Tries to get the RoleInstance Id if Microsoft.WindowsAzure.ServiceRuntime is loaded. + In case of any failure, swallows the exception and returns null. + + + Azure, in the default provider? Yes, to maintain existing compatibility/convenience. + Source != destination here. + + + + + The action to perform, if any, immediately after an initial connection completes. + + The multiplexer that just connected. + The logger for the connection, to emit to the connection output log. + + + + Gets the default SSL "enabled or not" based on a set of endpoints. + Note: this setting then applies for *all* endpoints. + + The configured endpoints to determine SSL usage from (e.g. from the port). + Whether to enable SSL for connections (unless explicitly overridden in a direct set). + + + + Gets the SSL Host to check for when connecting to endpoints (customizable in case of internal certificate shenanigans. + + The configured endpoints to determine SSL host from (e.g. from the port). + The common host, if any, detected from the endpoint collection. + + + + Captures redis traffic; intended for debug use. + + + + + Replay the RESP messages for a pair of streams, invoking a callback per operation. + + + + + Replay the RESP messages all the streams in a folder, invoking a callback per operation. + + The directory of captured files to replay. + Operation to perform per replayed message pair. + + + + Validate a RESP stream and return the number of top-level RESP fragments. + + The path of a single file to validate, or a directory of captured files to validate. + + + + Validate a RESP stream and return the number of top-level RESP fragments. + + + + + Create a new instance of a . + + + + + Configures the provided options to perform file-based logging to a directory; + files will be sequential per stream starting from zero, and will blindly overwrite existing files. + + + + + + + + Perform logging on the provided stream. + + + + + + + + + + + Get a typical text representation of a redis command. + + + + + Get a typical text representation of a redis response. + + + + + Allows interception of the transport used to communicate with Redis. + + + + + Gets the underlying socket endpoint to use when connecting to a logical endpoint. + + null should be returned if a socket is not required for this endpoint. + + + + Allows modification of a between creation and connection. + Passed in is the endpoint we're connecting to, which type of connection it is, and the socket itself. + For example, a specific local IP endpoint could be bound, linger time altered, etc. + + + + + Invoked on a connected endpoint before server authentication and other handshakes occur, allowing pre-redis handshakes. By returning a custom , + the entire data flow can be intercepted, providing entire custom transports. + + + + + Create a tunnel via an HTTP proxy server. + + The endpoint to use as an HTTP proxy server. + + + + Illustrates the counters associated with an individual connection. + + + + + The number of operations that have been completed asynchronously. + + + + + The number of operations that have been completed synchronously. + + + + + The type of this connection. + + + + + The number of operations that failed to complete asynchronously. + + + + + Indicates if there are any pending items or failures on this connection. + + + + + Indicates the total number of messages dispatched to a non-preferred endpoint, for example sent + to a primary when the caller stated a preference of replica. + + + + + The number of operations performed on this connection. + + + + + Operations that have been requested, but which have not yet been sent to the server. + + + + + Operations for which the response has been processed, but which are awaiting asynchronous completion. + + + + + Operations that have been sent to the server, but which are awaiting a response. + + + + + The number of sockets used by this logical connection (total, including reconnects). + + + + + The number of subscriptions (with and without patterns) currently held against this connection. + + + + + Indicates the total number of outstanding items against this connection. + + + + + Indicates the total number of writers items against this connection. + + + + + See . + + + + + Contains information about a server connection failure. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + Redis connection type. + Redis connection failure type. + The exception that occurred. + Connection physical name. + + + + Gets the connection-type of the failing connection. + + + + + Gets the failing server-endpoint. + + + + + Gets the exception if available (this can be null). + + + + + The type of failure. + + + + + Returns the physical name of the connection. + + + + + Represents an inter-related group of connections to redis servers. + A reference to this should be held and re-used. + + + + + + No longer used. + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Tracks overall connection multiplexer counts. + + + + + Tracks overall connection multiplexer counts. + + + + + Tracks overall connection multiplexer counts. + + + + + + + + + + + Gets the synchronous timeout associated with the connections. + + + + + Gets the asynchronous timeout associated with the connections. + + + + + Gets the client-name that will be used on all new connections. + + + We null coalesce here instead of in Options so that we don't populate it everywhere (e.g. .ToString()), given it's a default. + + + + + Gets the configuration of the connection. + + + + + Indicates whether any servers are connected. + + + + + Indicates whether any servers are currently trying to connect. + + + + + Get summary statistics associated with all servers in this multiplexer. + + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type contains in the task to wait on. + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + The to log to. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + Action to further modify the parsed configuration options. + The to log to. + + + + Creates a new instance. + + The configuration options to use for this multiplexer. + The to log to. + Note: For Sentinel, do not specify a - this is handled automatically. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + The to log to. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + Action to further modify the parsed configuration options. + The to log to. + + + + Creates a new instance. + + The configuration options to use for this multiplexer. + The to log to. + Note: For Sentinel, do not specify a - this is handled automatically. + + + + Obtain a pub/sub subscriber connection to the specified server. + + The async state object to pass to the created . + + + + Applies common DB number defaults and rules. + + + + + Obtain an interactive connection to a database inside redis. + + The ID to get a database for. + The async state to pass into the resulting . + + + + Compute the hash-slot of a specified key. + + The key to get a hash slot ID for. + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The port for to get a server for. + The async state to pass into the resulting . + + + + Obtain a configuration API for an individual server. + + The "host:port" string to get a server for. + The async state to pass into the resulting . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The port for to get a server for. + + + + Obtain a configuration API for an individual server. + + The endpoint to get a server for. + The async state to pass into the resulting . + + + + Obtain configuration APIs for all servers in this multiplexer. + + + + + Get the hash-slot associated with a given key, if applicable. + This can be useful for grouping operations. + + The to determine the hash slot for. + + + + The number of operations that have been performed on all connections. + + + + + Reconfigure the current connections based on the existing configuration. + + The to log to. + + + + Reconfigure the current connections based on the existing configuration. + + The to log to. + + + + Provides a text overview of the status of all connections. + + + + + Provides a text overview of the status of all connections. + + The to log to. + + + + Triggers a reconfigure of this multiplexer. + This re-assessment of all server endpoints to get the current topology and adjust, the same as if we had first connected. + + + + + Gets all endpoints defined on the multiplexer. + + Whether to get only the endpoints specified explicitly in the config. + + + + Gets the client name for this multiplexer. + + + + + Sends request to all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending). + + + + Sends request to all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher). + + + + Release all resources associated with this object. + + + + + Release all resources associated with this object. + + + + + Close all connections and release all resources associated with this object. + + Whether to allow all in-queue commands to complete first. + + + + Close all connections and release all resources associated with this object. + + Whether to allow all in-queue commands to complete first. + + + + Invoked by the garbage collector. + + + + + For debugging: when not enabled, servers cannot connect. + + + + + For debugging: when not enabled, end-connect is silently ignored (to simulate a long-running connect). + + + + + Raised whenever a physical connection fails. + + + + + Raised whenever an internal error occurs (this is primarily for debugging). + + + + + Raised whenever a physical connection is established. + + + + + Raised when configuration changes are detected. + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast. + This usually means primary/replica changes. + + + + + Raised when server indicates a maintenance event is going to happen. + + + + + Raised when a hash-slot has been relocated. + + + + + Raised when a server replied with an error message. + + + + + Write the configuration of all servers to an output stream. + + The destination stream to write the export to. + The options to use for this export. + + + + Enables or disables a feature flag. + This should only be used under support guidance, and should not be rapidly toggled. + + + + + Returns the state of a feature flag. + This should only be used under support guidance. + + + + + + + + Register a callback to provide an on-demand ambient session provider based on the + calling context; the implementing code is responsible for reliably resolving the same provider + based on ambient context, or returning null to not profile. + + The session provider to register. + + + + Initializes the connection as a Sentinel connection and adds the necessary event handlers to track changes to the managed primaries. + + The to log to, if any. + + + + Create a new instance that connects to a Sentinel server. + + The string configuration to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The string configuration to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a sentinel server, discovers the current primary server + for the specified in the config and returns a managed connection to the current primary server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a sentinel server, discovers the current primary server + for the specified in the config and returns a managed connection to the current primary server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Returns a managed connection to the primary server indicated by the in the config. + + The configuration to be used when connecting to the primary. + The writer to log to, if any. + + + + Switches the SentinelMasterConnection over to a new primary. + + The endpoint responsible for the switch. + The connection that should be switched over to a new primary endpoint. + The writer to log to, if any. + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time). + Set to a negative value to disable this feature. + + + + + Obtains the log of unusual busy patterns. + + + + + Resets the log of unusual busy patterns. + + + + + Gets the subscriber counts for a channel. + + if there's a subscription registered at all. + + + + Gets which server, if any, there's a registered subscription to for this channel. + + + This may be null if there is a subscription, but we don't have a connected server at the moment. + This behavior is fine but IsConnected checks, but is a subtle difference in . + + + + + Handler that executes whenever a message comes in, this doles out messages to any registered handlers. + + + + + Updates all subscriptions re-evaluating their state. + This clears the current server if it's not connected, prepping them to reconnect. + + + + + Ensures all subscriptions are connected to a server, if possible. + + The count of subscriptions attempting to reconnect (same as the count currently not connected). + + + + This is the record of a single subscription to a redis server. + It's the singular channel (which may or may not be a pattern), to one or more handlers. + We subscriber to a redis server once (for all messages) and execute 1-many handlers when a message arrives. + + + + + Whether the we have is connected. + Since we clear on a disconnect, this should stay correct. + + + + + Gets the configured (P)SUBSCRIBE or (P)UNSUBSCRIBE for an action. + + + + + Evaluates state and if we're not currently connected, clears the server reference. + + + + + Provides the ability to iterate over a cursor-based sequence of redis data, synchronously or asynchronously. + + The type of the data in the cursor. + + + + Gets an enumerator for the sequence. + + + + + Gets an enumerator for the sequence. + + + + + Provides the ability to iterate over a cursor-based sequence of redis data, synchronously or asynchronously. + + + + + Gets the current value of the enumerator. + + + + + Release all resources associated with this enumerator. + + + + + Release all resources associated with this enumerator. + + + + + Try to move to the next item in the sequence. + + + + + Try to move to the next item in the sequence. + + + + + Reset the enumerator. + + + + + The cursor position. + + + This may fail on cluster-proxy - I'm OK with this for now. + + + + + A list of endpoints. + + + + + Create a new . + + + + + Create a new . + + The endpoints to add to the collection. + + + + Format an . + + The endpoint to get a string representation for. + + + + Attempt to parse a string into an . + + The endpoint string to parse. + + + + Adds a new endpoint to the list. + + The host:port string to add an endpoint for to the collection. + + + + Adds a new endpoint to the list. + + The host to add. + The port for to add. + + + + Adds a new endpoint to the list. + + The host to add. + The port for to add. + + + + Try adding a new endpoint to the list. + + The endpoint to add. + if the endpoint was added, if not. + + + + See . + + The index to add into the collection at. + The item to insert at . + + + + See . + + The index to replace an endpoint at. + The item to replace the existing endpoint at . + + + + + + + Event information related to redis endpoints. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + + + + The endpoint involved in this event (this can be null). + + + + + Specifies how elements should be aggregated when combining sorted sets. + + + + + The values of the combined elements are added. + + + + + The least value of the combined elements is used. + + + + + The greatest value of the combined elements is used. + + + + + Bitwise operators + + + + + And + + + + + Or + + + + + Xor + + + + + Not + + + + + The client flags can be a combination of: + + + A + Connection to be closed ASAP. + + + b + The client is waiting in a blocking operation. + + + c + Connection to be closed after writing entire reply. + + + d + A watched keys has been modified - EXEC will fail. + + + i + The client is waiting for a VM I/O (deprecated). + + + M + The client is a primary. + + + N + No specific flag set. + + + O + The client is a replica in MONITOR mode. + + + P + The client is a Pub/Sub subscriber. + + + r + The client is in readonly mode against a cluster node. + + + S + The client is a normal replica server. + + + u + The client is unblocked. + + + U + The client is unblocked. + + + x + The client is in a MULTI/EXEC context. + + + t + The client enabled keys tracking in order to perform client side caching. + + + R + The client tracking target client is invalid. + + + B + The client enabled broadcast tracking mode. + + + + + + + + No specific flag set. + + + + + The client is a replica in MONITOR mode. + + + + + The client is a replica in MONITOR mode. + + + + + The client is a normal replica server. + + + + + The client is a normal replica server. + + + + + The client is a primary. + + + + + The client is in a MULTI/EXEC context. + + + + + The client is waiting in a blocking operation. + + + + + A watched keys has been modified - EXEC will fail. + + + + + Connection to be closed after writing entire reply. + + + + + The client is unblocked. + + + + + Connection to be closed ASAP. + + + + + The client is a Pub/Sub subscriber. + + + + + The client is in readonly mode against a cluster node. + + + + + The client is connected via a Unix domain socket. + + + + + The client enabled keys tracking in order to perform client side caching. + + + + + The client tracking target client is invalid. + + + + + The client enabled broadcast tracking mode. + + + + + The class of the connection. + + + + + Regular connections, including MONITOR connections. + + + + + Replication connections. + + + + + Replication connections. + + + + + Subscription connections. + + + + + Behaviour markers associated with a given command. + + + + + Default behaviour. + + + + + From 2.0, this flag is not used. + + + + + The caller is not interested in the result; the caller will immediately receive a default-value + of the expected return type (this value is not indicative of anything at the server). + + + + + This operation should be performed on the primary if it is available, but read operations may + be performed on a replica if no primary is available. This is the default option. + + + + + This operation should only be performed on the primary. + + + + + This operation should be performed on the replica if it is available, but will be performed on + a primary if no replicas are available. Suitable for read operations only. + + + + + This operation should be performed on the replica if it is available, but will be performed on + a primary if no replicas are available. Suitable for read operations only. + + + + + This operation should only be performed on a replica. Suitable for read operations only. + + + + + This operation should only be performed on a replica. Suitable for read operations only. + + + + + Indicates that this operation should not be forwarded to other servers as a result of an ASK or MOVED response. + + + + + Indicates that script-related operations should use EVAL, not SCRIPT LOAD + EVALSHA. + + + + + Track status of a command while communicating with Redis. + + + + + Command status unknown. + + + + + ConnectionMultiplexer has not yet started writing this command to Redis. + + + + + Command has been sent to Redis. + + + + + Command is in the backlog, waiting to be processed and written to Redis. + + + + + The known types of connection failure. + + + + + This event is not a failure. + + + + + No viable connections were available for this operation. + + + + + The socket for this connection failed. + + + + + Either SSL Stream or Redis authentication failed. + + + + + An unexpected response was received from the server. + + + + + An unknown internal error occurred. + + + + + The socket was closed. + + + + + The socket was closed. + + + + + The database is loading and is not available for use. + + + + + It has not been possible to create an initial connection to the redis server(s). + + + + + High-integrity mode was enabled, and a failure was detected. + + + + + The type of a connection. + + + + + Not connection-type related. + + + + + An interactive connection handles request/response commands for accessing data on demand. + + + + + A subscriber connection receives unsolicited messages from the server as pub/sub events occur. + + + + + When performing a range query, by default the start / stop limits are inclusive; + however, both can also be specified separately as exclusive. + + + + + Both start and stop are inclusive. + + + + + Start is exclusive, stop is inclusive. + + + + + Start is inclusive, stop is exclusive. + + + + + Both start and stop are exclusive. + + + + + Specifies the result of operation to set expire time. + + + + + Field deleted because the specified expiration time is due. + + + + + Expiration time/duration updated successfully. + + + + + Expiration not set because of a specified NX | XX | GT | LT condition not met. + + + + + No such field. + + + + + Specifies when to set the expiry for a key. + + + + + Set expiry whether or not there is an existing expiry. + + + + + Set expiry only when the new expiry is greater than current one. + + + + + Set expiry only when the key has an existing expiry. + + + + + Set expiry only when the key has no expiry. + + + + + Set expiry only when the new expiry is less than current one. + + + + + Which settings to export. + + + + + No options. + + + + + The output of INFO. + + + + + The output of CONFIG GET *. + + + + + The output of CLIENT LIST. + + + + + The output of CLUSTER NODES. + + + + + Everything available. + + + + + Units associated with Geo Commands. + + + + + Meters. + + + + + Kilometers. + + + + + Miles. + + + + + Feet. + + + + + Specifies what side of the list to refer to. + + + + + The head of the list. + + + + + The tail of the list. + + + + + Additional options for the MIGRATE command. + + + + + No options specified. + + + + + Do not remove the key from the local instance. + + + + + Replace existing key on the remote instance. + + + + + The direction in which to sequence elements. + + + + + Ordered from low values to high values. + + + + + Ordered from high values to low values. + + + + + Specifies the result of operation to remove the expire time. + + + + + Expiration removed successfully. + + + + + Expiration not removed because of a specified NX | XX | GT | LT condition not met. + + + + + No such field. + + + + + Specifies the proxy that is being used to communicate to redis. + + + + + Direct communication to the redis server(s). + + + + + Communication via twemproxy. + + + + + Communication via envoyproxy. + + + + + Whether a proxy supports databases (e.g. database > 0). + + + + + Whether a proxy supports pub/sub. + + + + + Whether a proxy supports the ConnectionMultiplexer.GetServer. + + + + + Gets whether a given command can be issued only to a primary, or if any server is eligible. + + The to check. + if the command is primary-only, otherwise. + + + + The intrinsic data-types supported by redis. + + + + + + The specified key does not exist. + + + + + Strings are the most basic kind of Redis value. Redis Strings are binary safe, this means that + a Redis string can contain any kind of data, for instance a JPEG image or a serialized Ruby object. + A String value can be at max 512 Megabytes in length. + + + + + + Redis Lists are simply lists of strings, sorted by insertion order. + It is possible to add elements to a Redis List pushing new elements on the head (on the left) or + on the tail (on the right) of the list. + + + + + + Redis Sets are an unordered collection of Strings. It is possible to add, remove, and test for + existence of members in O(1) (constant time regardless of the number of elements contained inside the Set). + Redis Sets have the desirable property of not allowing repeated members. + Adding the same element multiple times will result in a set having a single copy of this element. + Practically speaking this means that adding a member does not require a check if exists then add operation. + + + + + + Redis Sorted Sets are, similarly to Redis Sets, non repeating collections of Strings. + The difference is that every member of a Sorted Set is associated with score, that is used + in order to take the sorted set ordered, from the smallest to the greatest score. + While members are unique, scores may be repeated. + + + + + + Redis Hashes are maps between string fields and string values, so they are the perfect data type + to represent objects (e.g. A User with a number of fields like name, surname, age, and so forth). + + + + + + A Redis Stream is a data structure which models the behavior of an append only log but it has more + advanced features for manipulating the data contained within the stream. Each entry in a + stream contains a unique message ID and a list of name/value pairs containing the entry's data. + + + + + + The data-type was not recognised by the client library. + + + + + Additional operations to perform when making a server a primary. + + + + + No additional operations. + + + + + Set the tie-breaker key on all available primaries, to specify this server. + + + + + Broadcast to the pub-sub channel to listening clients to reconfigure themselves. + + + + + Issue a REPLICAOF to all other known nodes, making this primary of all. + + + + + Issue a REPLICAOF to all other known nodes, making this primary of all. + + + + + All additional operations. + + + + + The underlying result type as defined by Redis. + + + + + No value was received. + + + + + Basic strings typically represent status results such as "OK". + + + + + Error strings represent invalid operation results from the server. + + + + + Integers are returned for count operations and some integer-based increment operations. + + + + + Bulk strings represent typical user content values. + + + + + Array of results (former Multi-bulk). + + + + + Multi-bulk replies represent complex results such as arrays. + + + + + A single null value replacing RESP v2 blob and multi-bulk nulls. + + + + + True or false. + + + + + A floating point number. + + + + + A large number non representable by the type. + + + + + Binary safe error code and message. + + + + + A binary safe string that should be displayed to humans without any escaping or filtering. For instance the output of LATENCY DOCTOR in Redis. + + + + + An unordered collection of key-value pairs. Keys and values can be any other RESP3 type. + + + + + An unordered collection of N other types. + + + + + Like the type, but the client should keep reading the reply ignoring the attribute type, and return it to the client as additional information. + + + + + Out of band data. The format is like the type, but the client should just check the first string element, + stating the type of the out of band data, a call a callback if there is one registered for this specific type of push information. + Push types are not related to replies, since they are information that the server may push at any time in the connection, + so the client should keep reading if it is reading the reply of a command. + + + + + + If an IProfiledCommand is a retransmission of a previous command, this enum + is used to indicate what prompted the retransmission. + + + This can be used to distinguish between transient causes (moving hashslots, joining nodes, etc.) + and incorrect routing. + + + + + + No stated reason. + + + + + Issued to investigate which node owns a key. + + + + + A node has indicated that it does *not* own the given key. + + + + + The type of save operation to perform. + + + + + Instruct Redis to start an Append Only File rewrite process. + The rewrite will create a small optimized version of the current Append Only File. + + + + + + Save the DB in background. The OK code is immediately returned. + Redis forks, the parent continues to serve the clients, the child saves the DB on disk then exits. + A client my be able to check if the operation succeeded using the LASTSAVE command. + + + + + + Save the DB in foreground. + This is almost never a good thing to do, and could cause significant blocking. + Only do this if you know you need to save. + + + + + + Indicates the flavor of a particular redis server. + + + + + Classic redis-server server. + + + + + Monitoring/configuration redis-sentinel server. + + + + + Distributed redis-cluster server. + + + + + Distributed redis installation via twemproxy. + + + + + Redis cluster via envoyproxy. + + + + + Whether a server type can have only a single primary, meaning an election if multiple are found. + + + + + Whether a server type supports . + + + + + Describes an algebraic set operation that can be performed to combine multiple sets. + + + + + Returns the members of the set resulting from the union of all the given sets. + + + + + Returns the members of the set resulting from the intersection of all the given sets. + + + + + Returns the members of the set resulting from the difference between the first set and all the successive sets. + + + + + Defines the persistence behaviour of the server during shutdown. + + + + + The data is persisted if save points are configured. + + + + + The data is NOT persisted even if save points are configured. + + + + + The data is persisted even if save points are NOT configured. + + + + + Enum to manage ordering in sorted sets. + + + + + Bases ordering off of the rank in the sorted set. This means that your start and stop inside the sorted set will be some offset into the set. + + + + + Bases ordering off of the score in the sorted set. This means your start/stop will be some number which is the score for each member in the sorted set. + + + + + Bases ordering off of lexicographical order, this is only appropriate in an instance where all the members of your sorted set are given the same score. + + + + + Indicates when this operation should be performed (only some variations are legal in a given context). + + + + + The operation won't be prevented. + + + + + The operation should only occur when there is an existing value. + + + + + The operation should only occur when the new score is greater than the current score. + + + + + The operation should only occur when the new score is less than the current score. + + + + + The operation should only occur when there is not an existing value. + + + + + Specifies how to compare elements for sorting. + + + + + Elements are interpreted as a double-precision floating point number and sorted numerically. + + + + + Elements are sorted using their alphabetic form + (Redis is UTF-8 aware as long as the !LC_COLLATE environment variable is set at the server). + + + + + Indicates if we index into a string based on bits or bytes. + + + + + Indicates the index is the number of bytes into a string. + + + + + Indicates the index is the number of bits into a string. + + + + + Indicates when this operation should be performed (only some variations are legal in a given context). + + + + + The operation should occur whether or not there is an existing value. + + + + + The operation should only occur when there is an existing value. + + + + + The operation should only occur when there is not an existing value. + + + + + Indicates that a command was illegal and was not sent to the server. + + + + + Creates a new . + + The message for the exception. + + + + Creates a new . + + The message for the exception. + The inner exception. + + + + Indicates the time allotted for a command or operation has expired. + + + + + Creates a new . + + The message for the exception. + The command status, as of when the timeout happened. + + + + status of the command while communicating with Redis. + + + + + Serialization implementation; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates a connection fault when communicating with redis. + + + + + Creates a new . + + The type of connection failure. + The message for the exception. + + + + Creates a new . + + The type of connection failure. + The message for the exception. + The inner exception. + + + + Creates a new . + + The type of connection failure. + The message for the exception. + The inner exception. + The status of the command. + + + + The type of connection failure. + + + + + Status of the command while communicating with Redis. + + + + + Serialization implementation; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates an issue communicating with redis. + + + + + Creates a new . + + The message for the exception. + + + + Creates a new . + + The message for the exception. + The inner exception. + + + + Deserialization constructor; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates an exception raised by a redis server. + + + + + Creates a new . + + The message for the exception. + + + + Represents a retry policy that performs retries, using a randomized exponential back off scheme to determine the interval between retries. + + + + + Initializes a new instance using the specified back off interval with default maxDeltaBackOffMilliseconds of 10 seconds. + + Time in milliseconds for the back-off interval between retries. + + + + Initializes a new instance using the specified back off interval. + + Time in milliseconds for the back-off interval between retries. + Time in milliseconds for the maximum value that the back-off interval can exponentially grow up to. + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state. + Total elapsed time in milliseconds since the last reconnect retry was made. + + + + Utility methods. + + + + + Create a dictionary from an array of HashEntry values. + + The entry to convert to a dictionary. + + + + Create a dictionary from an array of HashEntry values. + + The entry to convert to a dictionary. + + + + Create a dictionary from an array of SortedSetEntry values. + + The set entries to convert to a dictionary. + + + + Create a dictionary from an array of SortedSetEntry values. + + The set entries to convert to a dictionary. + + + + Create a dictionary from an array of key/value pairs. + + The pairs to convert to a dictionary. + + + + Create a dictionary from an array of key/value pairs. + + The pairs to convert to a dictionary. + + + + Create a dictionary from an array of string pairs. + + The pairs to convert to a dictionary. + + + + Create an array of RedisValues from an array of strings. + + The string array to convert to RedisValues. + + + + Create an array of strings from an array of values. + + The values to convert to an array. + + + + Represent a byte-Lease as a read-only Stream. + + The lease upon which to base the stream. + If true, disposing the stream also disposes the lease. + + + + Decode a byte-Lease as a String, optionally specifying the encoding (UTF-8 if omitted). + + The bytes to decode. + The encoding to use. + + + + Decode a byte-Lease as a String, optionally specifying the encoding (UTF-8 if omitted). + + The bytes to decode. + The encoding to use. + + + + + Adapted from IPEndPointParser in Microsoft.AspNetCore + Link: . + + + Copyright (c) .NET Foundation. All rights reserved. + Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + + + If Unix sockets are attempted but not supported. + + + + Contains information about individual hash-slot relocations. + + + + + The hash-slot that was relocated. + + + + + The old endpoint for this hash-slot (if known). + + + + + The new endpoint for this hash-slot (if known). + + + + + This constructor is only for testing purposes. + + The source of the event. + Hash slot. + Old endpoint. + New endpoint. + + + + Represents a block of operations that will be sent to the server together. + This can be useful to reduce packet fragmentation on slow connections - it + can improve the time to get *all* the operations processed, with the trade-off + of a slower time to get the *first* operation processed; this is usually + a good thing. Unless this batch is a transaction, there is no guarantee + that these operations will be processed either contiguously or atomically by the server. + + + + + Execute the batch operation, sending all queued commands to the server. + Note that this operation is neither synchronous nor truly asynchronous - it simply enqueues the buffered messages. + To check on completion, you should check the individual responses. + + + + + Represents the abstract multiplexer API. + + + + + Gets the client-name that will be used on all new connections. + + + + + Gets the configuration of the connection. + + + + + Gets the timeout associated with the connections. + + + + + The number of operations that have been performed on all connections. + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Indicates whether any servers are connected. + + + + + Indicates whether any servers are connecting. + + + + + Should exceptions include identifiable details? (key names, additional annotations). + + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time. + Set to a negative value to disable this feature). + + + + + Register a callback to provide an on-demand ambient session provider based on the calling context. + The implementing code is responsible for reliably resolving the same provider + based on ambient context, or returning null to not profile. + + The profiling session provider. + + + + Get summary statistics associates with this server. + + + + + A server replied with an error message. + + + + + Raised whenever a physical connection fails. + + + + + Raised whenever an internal error occurs (this is primarily for debugging). + + + + + Raised whenever a physical connection is established. + + + + + Raised when configuration changes are detected. + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast. + This usually means primary/replica changes. + + + + + Raised when server indicates a maintenance event is going to happen. + + + + + Gets all endpoints defined on the multiplexer. + + Whether to return only the explicitly configured endpoints. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type in . + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Raised when a hash-slot has been relocated. + + + + + Compute the hash-slot of a specified key. + + The key to get a slot ID for. + + + + Obtain a pub/sub subscriber connection to the specified server. + + The async state to pass to the created . + + + + Obtain an interactive connection to a database inside redis. + + The database ID to get. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The specific port for to get a server for. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The "host:port" string to get a server for. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The specific port for to get a server for. + + + + Obtain a configuration API for an individual server. + + The endpoint to get a server for. + The async state to pass to the created . + + + + Obtain configuration APIs for all servers in this multiplexer. + + + + + Reconfigure the current connections based on the existing configuration. + + The log to write output to. + + + + Reconfigure the current connections based on the existing configuration. + + The log to write output to. + + + + Provides a text overview of the status of all connections. + + + + + Provides a text overview of the status of all connections. + + The log to write output to. + + + + See . + + + + + Close all connections and release all resources associated with this object. + + Whether to allow in-queue commands to complete first. + + + + Close all connections and release all resources associated with this object. + + Whether to allow in-queue commands to complete first. + + + + Obtains the log of unusual busy patterns. + + + + + Resets the log of unusual busy patterns. + + + + + Request all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending). + + + + Request all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher). + + + + Get the hash-slot associated with a given key, if applicable; this can be useful for grouping operations. + + The key to get a the slot for. + + + + Write the configuration of all servers to an output stream. + + The destination stream to write the export to. + The options to use for this export. + + + + Append a usage-specific modifier to the advertised library name; suffixes are de-duplicated + and sorted alphabetically (so adding 'a', 'b' and 'a' will result in suffix '-a-b'). + Connections will be updated as necessary (RESP2 subscription + connections will not show updates until those connections next connect). + + + + + Describes functionality that is common to both standalone redis servers and redis clusters. + + + + + The numeric identifier of this database. + + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + but which may or may not be processed on the server contiguously. + + The async object state to be passed into the created . + The created batch. + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. + + The async object state to be passed into the created . + The created transaction. + + + + Atomically transfer a key from a source Redis instance to a destination Redis instance. + On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance. + + The key to migrate. + The server to migrate the key to. + The database to migrate the key to. + The timeout to use for the transfer. + The options to use for this migration. + The flags to use for this operation. + + + + + Returns the raw DEBUG OBJECT output for a key. + This command is not fully documented and should be avoided unless you have good reason, and then avoided anyway. + + The key to debug. + The flags to use for this migration. + The raw output from DEBUG OBJECT. + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The longitude of geo entry. + The latitude of the geo entry. + The value to set at this entry. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The geo value to store. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified members to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The geo values add to the set. + The flags to use for this operation. + The number of elements that were added to the set, not including all the elements already present into the set. + + + + + Removes the specified member from the geo sorted set stored at key. + Non existing members are ignored. + + The key of the set. + The geo value to remove. + The flags to use for this operation. + if the member existed in the sorted set and was removed, else . + + + + + Return the distance between two members in the geospatial index represented by the sorted set. + + The key of the set. + The first member to check. + The second member to check. + The unit of distance to return (defaults to meters). + The flags to use for this operation. + The command returns the distance as a double (represented as a string) in the specified unit, or if one or both the elements are missing. + + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The key of the set. + The members to get. + The flags to use for this operation. + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The key of the set. + The member to get. + The flags to use for this operation. + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The key of the set. + The members to get. + The flags to use for this operation. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command. + Non existing elements are reported as NULL elements of the array. + + + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The key of the set. + The member to get. + The flags to use for this operation. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command. + Non existing elements are reported as NULL elements of the array. + + + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are + within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + The key of the set. + The member to get a radius of results from. + The radius to check. + The unit of (defaults to meters). + The count of results to get, -1 for unlimited. + The order of the results. + The search options to use. + The flags to use for this operation. + The results found within the radius, if any. + + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are + within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + The key of the set. + The longitude of the point to get a radius of results from. + The latitude of the point to get a radius of results from. + The radius to check. + The unit of (defaults to meters). + The count of results to get, -1 for unlimited. + The order of the results. + The search options to use. + The flags to use for this operation. + The results found within the radius, if any. + + + + + Return the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the provided set . + + The key of the set. + The set member to use as the center of the shape. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + The search options to use. + The flags for this operation. + The results found within the shape, if any. + + + + + Return the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the point provided by the and . + + The key of the set. + The longitude of the center point. + The latitude of the center point. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + The search options to use. + The flags for this operation. + The results found within the shape, if any. + + + + + Stores the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the provided set . + + The key of the set. + The key to store the result at. + The set member to use as the center of the shape. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + If set to true, the resulting set will be a regular sorted-set containing only distances, rather than a geo-encoded sorted-set. + The flags for this operation. + The size of the set stored at . + + + + + Stores the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the point provided by the and . + + The key of the set. + The key to store the result at. + The longitude of the center point. + The latitude of the center point. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + If set to true, the resulting set will be a regular sorted-set containing only distances, rather than a geo-encoded sorted-set. + The flags for this operation. + The size of the set stored at . + + + + + Decrements the number stored at field in the hash stored at key by decrement. + If key does not exist, a new key holding a hash is created. + If field does not exist the value is set to 0 before the operation is performed. + + The key of the hash. + The field in the hash to decrement. + The amount to decrement by. + The flags to use for this operation. + The value at field after the decrement operation. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + + + + + + Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. + If the field does not exist, it is set to 0 before performing the operation. + + The key of the hash. + The field in the hash to decrement. + The amount to decrement by. + The flags to use for this operation. + The value at field after the decrement operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + + + + + Removes the specified fields from the hash stored at key. + Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + The key of the hash. + The field in the hash to delete. + The flags to use for this operation. + if the field was removed. + + + + + Removes the specified fields from the hash stored at key. + Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + The key of the hash. + The fields in the hash to delete. + The flags to use for this operation. + The number of fields that were removed. + + + + + Returns if field is an existing field in the hash stored at key. + + The key of the hash. + The field in the hash to check. + The flags to use for this operation. + if the hash contains field, if the hash does not contain field, or key does not exist. + + + + + Set the remaining time to live in milliseconds for the given set of fields of hash + After the timeout has expired, the field of the hash will automatically be deleted. + + The key of the hash. + The fields in the hash to set expire time. + The timeout to set. + under which condition the expiration will be set using . + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns an array where each item is the result of operation for given fields: + + + Result + Description + + + 2 + Field deleted because the specified expiration time is due. + + + 1 + Expiration time set/updated. + + + 0 + Expiration time is not set/update (a specified ExpireWhen condition is not met). + + + -1 + No such field exists. + + + + + + + Set the time out on a field of the given set of fields of hash. + After the timeout has expired, the field of the hash will automatically be deleted. + + The key of the hash. + The fields in the hash to set expire time. + The exact date to expiry to set. + under which condition the expiration will be set using . + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns an array where each item is the result of operation for given fields: + + + Result + Description + + + 2 + Field deleted because the specified expiration time is due. + + + 1 + Expiration time set/updated. + + + 0 + Expiration time is not set/update (a specified ExpireWhen condition is not met). + + + -1 + No such field exists. + + + + + + + For each specified field, it gets the expiration time as a Unix timestamp in milliseconds (milliseconds since the Unix epoch). + + The key of the hash. + The fields in the hash to get expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + > 0 + Expiration time, as a Unix timestamp in milliseconds. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + For each specified field, it removes the expiration time. + + The key of the hash. + The fields in the hash to remove expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + 1 + Expiration time was removed. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + For each specified field, it gets the remaining time to live in milliseconds. + + The key of the hash. + The fields in the hash to get expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + > 0 + Time to live, in milliseconds. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + Returns the value associated with field in the hash stored at key. + + The key of the hash. + The field in the hash to get. + The flags to use for this operation. + The value associated with field, or when field is not present in the hash or key does not exist. + + + + + Returns the value associated with field in the hash stored at key. + + The key of the hash. + The field in the hash to get. + The flags to use for this operation. + The value associated with field, or when field is not present in the hash or key does not exist. + + + + + Returns the values associated with the specified fields in the hash stored at key. + For every field that does not exist in the hash, a value is returned. + Because non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of values. + + The key of the hash. + The fields in the hash to get. + The flags to use for this operation. + List of values associated with the given fields, in the same order as they are requested. + + + + + Returns all fields and values of the hash stored at key. + + The key of the hash to get all entries from. + The flags to use for this operation. + List of fields and their values stored in the hash, or an empty list when key does not exist. + + + + + Increments the number stored at field in the hash stored at key by increment. + If key does not exist, a new key holding a hash is created. + If field does not exist the value is set to 0 before the operation is performed. + + The key of the hash. + The field in the hash to increment. + The amount to increment by. + The flags to use for this operation. + The value at field after the increment operation. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + + + + + + Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. + If the field does not exist, it is set to 0 before performing the operation. + + The key of the hash. + The field in the hash to increment. + The amount to increment by. + The flags to use for this operation. + The value at field after the increment operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + + + + + Returns all field names in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + List of fields in the hash, or an empty list when key does not exist. + + + + + Returns the number of fields contained in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + The number of fields in the hash, or 0 when key does not exist. + + + + + Gets a random field from the hash at . + + The key of the hash. + The flags to use for this operation. + A random hash field name or if the hash does not exist. + + + + + Gets field names from the hash at . + + The key of the hash. + The number of fields to return. + The flags to use for this operation. + An array of hash field names of size of at most , or if the hash does not exist. + + + + + Gets field names and values from the hash at . + + The key of the hash. + The number of fields to return. + The flags to use for this operation. + An array of hash entries of size of at most , or if the hash does not exist. + + + + + The HSCAN command is used to incrementally iterate over a hash. + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + The HSCAN command is used to incrementally iterate over a hash. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + The HSCAN command is used to incrementally iterate over a hash and return only field names. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + Sets the specified fields to their respective values in the hash stored at key. + This command overwrites any specified fields that already exist in the hash, leaving other unspecified fields untouched. + If key does not exist, a new key holding a hash is created. + + The key of the hash. + The entries to set in the hash. + The flags to use for this operation. + + + + + Sets field in the hash stored at key to value. + If key does not exist, a new key holding a hash is created. + If field already exists in the hash, it is overwritten. + + The key of the hash. + The field to set in the hash. + The value to set. + Which conditions under which to set the field value (defaults to always). + The flags to use for this operation. + if field is a new field in the hash and value was set, if field already exists in the hash and the value was updated. + + See + , + . + + + + + Returns the string length of the value associated with field in the hash stored at key. + + The key of the hash. + The field containing the string. + The flags to use for this operation. + The length of the string at field, or 0 when key does not exist. + + + + + Returns all values in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + List of values in the hash, or an empty list when key does not exist. + + + + + Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument. + + The key of the hyperloglog. + The value to add. + The flags to use for this operation. + if at least 1 HyperLogLog internal register was altered, otherwise. + + + + + Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument. + + The key of the hyperloglog. + The values to add. + The flags to use for this operation. + if at least 1 HyperLogLog internal register was altered, otherwise. + + + + + Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist. + + The key of the hyperloglog. + The flags to use for this operation. + The approximated number of unique elements observed via HyperLogLogAdd. + + + + + Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist. + + The keys of the hyperloglogs. + The flags to use for this operation. + The approximated number of unique elements observed via HyperLogLogAdd. + + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + The key of the merged hyperloglog. + The key of the first hyperloglog to merge. + The key of the second hyperloglog to merge. + The flags to use for this operation. + + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + The key of the merged hyperloglog. + The keys of the hyperloglogs to merge. + The flags to use for this operation. + + + + + Indicate exactly which redis server we are talking to. + + The key to check. + The flags to use for this operation. + The endpoint serving the key. + + + + Copies the value from the to the specified . + + The key of the source value to copy. + The destination key to copy the source to. + The database ID to store in. If default (-1), current database is used. + Whether to overwrite an existing values at . If and the key exists, the copy will not succeed. + The flags to use for this operation. + if key was copied. if key was not copied. + + + + + Removes the specified key. A key is ignored if it does not exist. + If UNLINK is available (Redis 4.0+), it will be used. + + The key to delete. + The flags to use for this operation. + if the key was removed. + + See + , + . + + + + + Removes the specified keys. A key is ignored if it does not exist. + If UNLINK is available (Redis 4.0+), it will be used. + + The keys to delete. + The flags to use for this operation. + The number of keys that were removed. + + See + , + . + + + + + Serialize the value stored at key in a Redis-specific format and return it to the user. + The returned value can be synthesized back into a Redis key using the RESTORE command. + + The key to dump. + The flags to use for this operation. + The serialized value. + + + + + Returns the internal encoding for the Redis object stored at . + + The key to dump. + The flags to use for this operation. + The Redis encoding for the value or is the key does not exist. + + + + + Returns if key exists. + + The key to check. + The flags to use for this operation. + if the key exists. if the key does not exist. + + + + + Indicates how many of the supplied keys exists. + + The keys to check. + The flags to use for this operation. + The number of keys that existed. + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. + So, if key already has an associated timeout, it will do nothing and return 0. + + + Since Redis 2.1.3, you can update the timeout of a key. + It is also possible to remove the timeout using the PERSIST command. + See the page on key expiry for more information. + + + See + , + , + . + + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + In Redis 7+, we can choose under which condition the expiration will be set using . + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + See + , + . + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The exact date to expiry to set. + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. + So, if key already has an associated timeout, it will do nothing and return 0. + + + Since Redis 2.1.3, you can update the timeout of a key. + It is also possible to remove the timeout using the PERSIST command. + See the page on key expiry for more information. + + + See + , + , + . + + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + In Redis 7+, we choose under which condition the expiration will be set using . + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + See + , + . + + + + + Returns the absolute time at which the given will expire, if it exists and has an expiration. + + The key to get the expiration for. + The flags to use for this operation. + The time at which the given key will expire, or if the key does not exist or has no associated expiration time. + + See + , + . + + + + + Returns the logarithmic access frequency counter of the object stored at . + The command is only available when the maxmemory-policy configuration directive is set to + one of the LFU policies. + + The key to get a frequency count for. + The flags to use for this operation. + The number of logarithmic access frequency counter, ( if the key does not exist). + + + + + Returns the time since the object stored at the specified key is idle (not requested by read or write operations). + + The key to get the time of. + The flags to use for this operation. + The time since the object stored at the specified key is idle. + + + + + Move key from the currently selected database (see SELECT) to the specified destination database. + When key already exists in the destination database, or it does not exist in the source database, it does nothing. + It is possible to use MOVE as a locking primitive because of this. + + The key to move. + The database to move the key to. + The flags to use for this operation. + if key was moved. if key was not moved. + + + + + Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated). + + The key to persist. + The flags to use for this operation. + if the timeout was removed. if key does not exist or does not have an associated timeout. + + + + + Return a random key from the currently selected database. + + The flags to use for this operation. + The random key, or when the database is empty. + + + + + Returns the reference count of the object stored at . + + The key to get a reference count for. + The flags to use for this operation. + The number of references ( if the key does not exist). + + + + + Renames to . + It returns an error when the source and destination names are the same, or when key does not exist. + + The key to rename. + The key to rename to. + What conditions to rename under (defaults to always). + The flags to use for this operation. + if the key was renamed, otherwise. + + See + , + . + + + + + Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP). + If is 0 the key is created without any expire, otherwise the specified expire time (in milliseconds) is set. + + The key to restore. + The value of the key. + The expiry to set. + The flags to use for this operation. + + + + + Returns the remaining time to live of a key that has a timeout. + This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. + + The key to check. + The flags to use for this operation. + TTL, or when key does not exist or does not have a timeout. + + + + + Alters the last access time of a key. + + The key to touch. + The flags to use for this operation. + if the key was touched, otherwise. + + + + + Alters the last access time of the specified . A key is ignored if it does not exist. + + The keys to touch. + The flags to use for this operation. + The number of keys that were touched. + + + + + Returns the string representation of the type of the value stored at key. + The different types that can be returned are: string, list, set, zset and hash. + + The key to get the type of. + The flags to use for this operation. + Type of key, or none when key does not exist. + + + + + Returns the element at index in the list stored at key. + The index is zero-based, so 0 means the first element, 1 the second element and so on. + Negative indices can be used to designate elements starting at the tail of the list. + Here, -1 means the last element, -2 means the penultimate and so forth. + + The key of the list. + The index position to get the value at. + The flags to use for this operation. + The requested element, or when index is out of range. + + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + The key of the list. + The value to insert after. + The value to insert. + The flags to use for this operation. + The length of the list after the insert operation, or -1 when the value pivot was not found. + + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + The key of the list. + The value to insert before. + The value to insert. + The flags to use for this operation. + The length of the list after the insert operation, or -1 when the value pivot was not found. + + + + + Removes and returns the first element of the list stored at key. + + The key of the list. + The flags to use for this operation. + The value of the first element, or when key does not exist. + + + + + Removes and returns count elements from the head of the list stored at key. + If the list contains less than count elements, removes and returns the number of elements in the list. + + The key of the list. + The number of elements to remove. + The flags to use for this operation. + Array of values that were popped, or if the key doesn't exist. + + + + + Removes and returns at most elements from the first non-empty list in . + Starts on the left side of the list. + + The keys to look through for elements to pop. + The maximum number of elements to pop from the list. + The flags to use for this operation. + A span of contiguous elements from the list, or if no non-empty lists are found. + + + + + Scans through the list stored at looking for , returning the 0-based + index of the first matching element. + + The key of the list. + The element to search for. + The rank of the first element to return, within the sub-list of matching indexes in the case of multiple matches. + The maximum number of elements to scan through before stopping, defaults to 0 (a full scan of the list.) + The flags to use for this operation. + The 0-based index of the first matching element, or -1 if not found. + + + + + Scans through the list stored at looking for instances of , returning the 0-based + indexes of any matching elements. + + The key of the list. + The element to search for. + The number of matches to find. A count of 0 will return the indexes of all occurrences of the element. + The rank of the first element to return, within the sub-list of matching indexes in the case of multiple matches. + The maximum number of elements to scan through before stopping, defaults to 0 (a full scan of the list.) + The flags to use for this operation. + An array of at most of indexes of matching elements. If none are found, and empty array is returned. + + + + + Insert the specified value at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + + The key of the list. + The value to add to the head of the list. + Which conditions to add to the list under (defaults to always). + The flags to use for this operation. + The length of the list after the push operations. + + See + , + . + + + + + Insert the specified value at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + + The key of the list. + The value to add to the head of the list. + Which conditions to add to the list under (defaults to always). + The flags to use for this operation. + The length of the list after the push operations. + + See + , + . + + + + + Insert all the specified values at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. + So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element. + + The key of the list. + The values to add to the head of the list. + The flags to use for this operation. + The length of the list after the push operations. + + + + + Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. + + The key of the list. + The flags to use for this operation. + The length of the list at key. + + + + + Returns and removes the first or last element of the list stored at , and pushes the element + as the first or last element of the list stored at . + + The key of the list to remove from. + The key of the list to move to. + What side of the list to remove from. + What side of the list to move to. + The flags to use for this operation. + The element being popped and pushed or if there is no element to move. + + + + + Returns the specified elements of the list stored at key. + The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. + These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on. + Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. + + The key of the list. + The start index of the list. + The stop index of the list. + The flags to use for this operation. + List of elements in the specified range. + + + + + Removes the first count occurrences of elements equal to value from the list stored at key. + The count argument influences the operation in the following ways: + + count > 0: Remove elements equal to value moving from head to tail. + count < 0: Remove elements equal to value moving from tail to head. + count = 0: Remove all elements equal to value. + + + The key of the list. + The value to remove from the list. + The count behavior (see method summary). + The flags to use for this operation. + The number of removed elements. + + + + + Removes and returns the last element of the list stored at key. + + The key of the list. + The flags to use for this operation. + The element being popped, or when key does not exist.. + + + + + Removes and returns count elements from the end the list stored at key. + If the list contains less than count elements, removes and returns the number of elements in the list. + + The key of the list. + The number of elements to pop. + The flags to use for this operation. + Array of values that were popped, or if the key doesn't exist. + + + + + Removes and returns at most elements from the first non-empty list in . + Starts on the right side of the list. + + The keys to look through for elements to pop. + The maximum number of elements to pop from the list. + The flags to use for this operation. + A span of contiguous elements from the list, or if no non-empty lists are found. + + + + + Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination. + + The key of the source list. + The key of the destination list. + The flags to use for this operation. + The element being popped and pushed. + + + + + Insert the specified value at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + + The key of the list. + The value to add to the tail of the list. + Which conditions to add to the list under. + The flags to use for this operation. + The length of the list after the push operation. + + See + , + . + + + + + Insert the specified value at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + + The key of the list. + The values to add to the tail of the list. + Which conditions to add to the list under. + The flags to use for this operation. + The length of the list after the push operation. + + See + , + . + + + + + Insert all the specified values at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. + So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element. + + The key of the list. + The values to add to the tail of the list. + The flags to use for this operation. + The length of the list after the push operation. + + + + + Sets the list element at index to value. + For more information on the index argument, see . + An error is returned for out of range indexes. + + The key of the list. + The index to set the value at. + The values to add to the list. + The flags to use for this operation. + + + + + Trim an existing list so that it will contain only the specified range of elements specified. + Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on. + For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain. + start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on. + + The key of the list. + The start index of the list to trim to. + The end index of the list to trim to. + The flags to use for this operation. + + + + + Extends a lock, if the token value is correct. + + The key of the lock. + The value to set at the key. + The expiration of the lock key. + The flags to use for this operation. + if the lock was successfully extended. + + + + Queries the token held against a lock. + + The key of the lock. + The flags to use for this operation. + The current value of the lock, if any. + + + + Releases a lock, if the token value is correct. + + The key of the lock. + The value at the key that must match. + The flags to use for this operation. + if the lock was successfully released, otherwise. + + + + Takes a lock (specifying a token value) if it is not already taken. + + The key of the lock. + The value to set at the key. + The expiration of the lock key. + The flags to use for this operation. + if the lock was successfully taken, otherwise. + + + + Posts a message to the given channel. + + The channel to publish to. + The message to send. + The flags to use for this operation. + + The number of clients that received the message *on the destination server*, + note that this doesn't mean much in a cluster as clients can get the message through other nodes. + + + + + + Execute an arbitrary command against the server; this is primarily intended for executing modules, + but may also be used to provide access to new features that lack a direct API. + + The command to run. + The arguments to pass for the command. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + Execute an arbitrary command against the server; this is primarily intended for executing modules, + but may also be used to provide access to new features that lack a direct API. + + The command to run. + The arguments to pass for the command. + The flags to use for this operation. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + Execute a Lua script against the server. + + The script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + See + , + . + + + + + Execute a Lua script against the server using just the SHA1 hash. + + The hash of the script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + Be aware that this method is not resilient to Redis server restarts. Use instead. + + + + + + Execute a lua script against the server, using previously prepared script. + Named parameters, if any, are provided by the `parameters` object. + + The script to execute. + The parameters to pass to the script. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Execute a lua script against the server, using previously prepared and loaded script. + This method sends only the SHA1 hash of the lua script to Redis. + Named parameters, if any, are provided by the `parameters` object. + + The already-loaded script to execute. + The parameters to pass to the script. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Read-only variant of the EVAL command that cannot execute commands that modify data, Execute a Lua script against the server. + + The script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + See + , + . + + + + + Read-only variant of the EVALSHA command that cannot execute commands that modify data, Execute a Lua script against the server using just the SHA1 hash. + + The hash of the script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The value to add to the set. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified members to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The values to add to the set. + The flags to use for this operation. + The number of elements that were added to the set, not including all the elements already present into the set. + + + + + Returns the members of the set resulting from the specified operation against the given sets. + + The operation to perform. + The key of the first set. + The key of the second set. + The flags to use for this operation. + List with members of the resulting set. + + See + , + , + . + + + + + Returns the members of the set resulting from the specified operation against the given sets. + + The operation to perform. + The keys of the sets to operate on. + The flags to use for this operation. + List with members of the resulting set. + + See + , + , + . + + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. + If destination already exists, it is overwritten. + + The operation to perform. + The key of the destination set. + The key of the first set. + The key of the second set. + The flags to use for this operation. + The number of elements in the resulting set. + + See + , + , + . + + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. + If destination already exists, it is overwritten. + + The operation to perform. + The key of the destination set. + The keys of the sets to operate on. + The flags to use for this operation. + The number of elements in the resulting set. + + See + , + , + . + + + + + Returns whether is a member of the set stored at . + + The key of the set. + The value to check for. + The flags to use for this operation. + + if the element is a member of the set. + if the element is not a member of the set, or if key does not exist. + + + + + + Returns whether each of is a member of the set stored at . + + The key of the set. + The members to check for. + The flags to use for this operation. + + if the element is a member of the set. + if the element is not a member of the set, or if key does not exist. + + + + + + + Returns the set cardinality (number of elements) of the intersection between the sets stored at the given . + + + If the intersection cardinality reaches partway through the computation, + the algorithm will exit and yield as the cardinality. + + + The keys of the sets. + The number of elements to check (defaults to 0 and means unlimited). + The flags to use for this operation. + The cardinality (number of elements) of the set, or 0 if key does not exist. + + + + + Returns the set cardinality (number of elements) of the set stored at key. + + The key of the set. + The flags to use for this operation. + The cardinality (number of elements) of the set, or 0 if key does not exist. + + + + + Returns all the members of the set value stored at key. + + The key of the set. + The flags to use for this operation. + All elements of the set. + + + + + Move member from the set at source to the set at destination. + This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients. + When the specified element already exists in the destination set, it is only removed from the source set. + + The key of the source set. + The key of the destination set. + The value to move. + The flags to use for this operation. + + if the element is moved. + if the element is not a member of source and no operation was performed. + + + + + + Removes and returns a random element from the set value stored at key. + + The key of the set. + The flags to use for this operation. + The removed element, or when key does not exist. + + + + + Removes and returns the specified number of random elements from the set value stored at key. + + The key of the set. + The number of elements to return. + The flags to use for this operation. + An array of elements, or an empty array when key does not exist. + + + + + Return a random element from the set value stored at . + + The key of the set. + The flags to use for this operation. + The randomly selected element, or when does not exist. + + + + + Return an array of count distinct elements if count is positive. + If called with a negative count the behavior changes and the command is allowed to return the same element multiple times. + In this case the number of returned elements is the absolute value of the specified count. + + The key of the set. + The count of members to get. + The flags to use for this operation. + An array of elements, or an empty array when does not exist. + + + + + Remove the specified member from the set stored at key. + Specified members that are not a member of this set are ignored. + + The key of the set. + The value to remove. + The flags to use for this operation. + if the specified member was already present in the set, otherwise. + + + + + Remove the specified members from the set stored at key. + Specified members that are not a member of this set are ignored. + + The key of the set. + The values to remove. + The flags to use for this operation. + The number of members that were removed from the set, not including non existing members. + + + + + The SSCAN command is used to incrementally iterate over a set. + + The key of the set. + The pattern to match. + The page size to iterate by. + The flags to use for this operation. + Yields all matching elements of the set. + + + + + The SSCAN command is used to incrementally iterate over set. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the set. + The pattern to match. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all matching elements of the set. + + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default). + By default, the elements themselves are compared, but the values can also be used to perform external key-lookups using the by parameter. + By default, the elements themselves are returned, but external key-lookups (one or many) can be performed instead by specifying + the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. + When used in hashes, by and get can be used to specify fields using -> notation (again, refer to redis documentation). + Uses SORT_RO when possible. + + The key of the list, set, or sorted set. + How many entries to skip on the return. + How many entries to take on the return. + The ascending or descending order (defaults to ascending). + The sorting method (defaults to numeric). + The key pattern to sort by, if any. e.g. ExternalKey_* would sort by ExternalKey_{listvalue} as a lookup. + The key pattern to sort by, if any e.g. ExternalKey_* would return the value of ExternalKey_{listvalue} for each entry. + The flags to use for this operation. + The sorted elements, or the external values if get is specified. + + See + , + . + + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default). + By default, the elements themselves are compared, but the values can also be used to perform external key-lookups using the by parameter. + By default, the elements themselves are returned, but external key-lookups (one or many) can be performed instead by specifying + the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. + When used in hashes, by and get can be used to specify fields using -> notation (again, refer to redis documentation). + + The destination key to store results in. + The key of the list, set, or sorted set. + How many entries to skip on the return. + How many entries to take on the return. + The ascending or descending order (defaults to ascending). + The sorting method (defaults to numeric). + The key pattern to sort by, if any. e.g. ExternalKey_* would sort by ExternalKey_{listvalue} as a lookup. + The key pattern to sort by, if any e.g. ExternalKey_* would return the value of ExternalKey_{listvalue} for each entry. + The flags to use for this operation. + The number of elements stored in the new list. + + + + + + + + + + + Adds the specified member with the specified score to the sorted set stored at key. + If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The key of the sorted set. + The member to add to the sorted set. + The score for the member to add to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + if the value was added. if it already existed (the score is still updated). + + + + + + + + + + + Adds all the specified members with the specified scores to the sorted set stored at key. + If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The key of the sorted set. + The members and values to add to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + + + + + Computes a set operation for multiple sorted sets (optionally using per-set ), + optionally performing a specific aggregation (defaults to ). + cannot be used with weights or aggregation. + + The operation to perform. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to ). + The flags to use for this operation. + The resulting sorted set. + + See + , + , + . + + + + + Computes a set operation for multiple sorted sets (optionally using per-set ), + optionally performing a specific aggregation (defaults to ). + cannot be used with weights or aggregation. + + The operation to perform. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to ). + The flags to use for this operation. + The resulting sorted set with scores. + + See + , + , + . + + + + + Computes a set operation over two sorted sets, and stores the result in destination, optionally performing + a specific aggregation (defaults to sum). + cannot be used with aggregation. + + The operation to perform. + The key to store the results in. + The key of the first sorted set. + The key of the second sorted set. + The aggregation method (defaults to sum). + The flags to use for this operation. + The number of elements in the resulting sorted set at destination. + + See + , + , + . + + + + + Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing + a specific aggregation (defaults to sum). + cannot be used with aggregation. + + The operation to perform. + The key to store the results in. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to sum). + The flags to use for this operation. + The number of elements in the resulting sorted set at destination. + + See + , + , + . + + + + + Decrements the score of member in the sorted set stored at key by decrement. + If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0). + + The key of the sorted set. + The member to decrement. + The amount to decrement by. + The flags to use for this operation. + The new score of member. + + + + + Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0). + + The key of the sorted set. + The member to increment. + The amount to increment by. + The flags to use for this operation. + The new score of member. + + + + + Returns the cardinality of the intersection of the sorted sets at . + + The keys of the sorted sets. + If the intersection cardinality reaches partway through the computation, the algorithm will exit and yield as the cardinality (defaults to 0 meaning unlimited). + The flags to use for this operation. + The number of elements in the resulting intersection. + + + + + Returns the sorted set cardinality (number of elements) of the sorted set stored at key. + + The key of the sorted set. + The min score to filter by (defaults to negative infinity). + The max score to filter by (defaults to positive infinity). + Whether to exclude and from the range check (defaults to both inclusive). + The flags to use for this operation. + The cardinality (number of elements) of the sorted set, or 0 if key does not exist. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns the number of elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Whether to exclude and from the range check (defaults to both inclusive). + The flags to use for this operation. + The number of elements in the specified score range. + + + + + Returns a random element from the sorted set value stored at . + + The key of the sorted set. + The flags to use for this operation. + The randomly selected element, or when does not exist. + + + + + Returns an array of random elements from the sorted set value stored at . + + The key of the sorted set. + + + If the provided count argument is positive, returns an array of distinct elements. + The array's length is either or the sorted set's cardinality (ZCARD), whichever is lower. + + + If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. + In this case, the number of returned elements is the absolute value of the specified count. + + + The flags to use for this operation. + The randomly selected elements, or an empty array when does not exist. + + + + + Returns an array of random elements from the sorted set value stored at . + + The key of the sorted set. + + + If the provided count argument is positive, returns an array of distinct elements. + The array's length is either or the sorted set's cardinality (ZCARD), whichever is lower. + + + If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. + In this case, the number of returned elements is the absolute value of the specified count. + + + The flags to use for this operation. + The randomly selected elements with scores, or an empty array when does not exist. + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. + They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + The key of the sorted set. + The start index to get. + The stop index to get. + The order to sort by (defaults to ascending). + The flags to use for this operation. + List of elements in the specified range. + + See + , + . + + + + + Takes the specified range of elements in the sorted set of the + and stores them in a new sorted set at the . + + The sorted set to take the range from. + Where the resulting set will be stored. + The starting point in the sorted set. If is , this should be a string. + The stopping point in the range of the sorted set. If is , this should be a string. + The ordering criteria to use for the range. Choices are , , and (defaults to ). + Whether to exclude and from the range check (defaults to both inclusive). + + The direction to consider the and in. + If , the must be smaller than the . + If , must be smaller than . + + The number of elements into the sorted set to skip. Note: this iterates after sorting so incurs O(n) cost for large values. + The maximum number of elements to pull into the new () set. + The flags to use for this operation. + The cardinality of (number of elements in) the newly created sorted set. + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. + They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + The key of the sorted set. + The start index to get. + The stop index to get. + The order to sort by (defaults to ascending). + The flags to use for this operation. + List of elements in the specified range. + + See + , + . + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. + Similar to other range methods the values are inclusive. + + The key of the sorted set. + The minimum score to filter by. + The maximum score to filter by. + Which of and to exclude (defaults to both inclusive). + The order to sort by (defaults to ascending). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. + Similar to other range methods the values are inclusive. + + The key of the sorted set. + The minimum score to filter by. + The maximum score to filter by. + Which of and to exclude (defaults to both inclusive). + The order to sort by (defaults to ascending). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns all the elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Which of and to exclude (defaults to both inclusive). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns all the elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Which of and to exclude (defaults to both inclusive). + Whether to order the data ascending or descending. + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. + The rank (or index) is 0-based, which means that the member with the lowest score has rank 0. + + The key of the sorted set. + The member to get the rank of. + The order to sort by (defaults to ascending). + The flags to use for this operation. + If member exists in the sorted set, the rank of member. If member does not exist in the sorted set or key does not exist, . + + See + , + . + + + + + Removes the specified member from the sorted set stored at key. Non existing members are ignored. + + The key of the sorted set. + The member to remove. + The flags to use for this operation. + if the member existed in the sorted set and was removed. otherwise. + + + + + Removes the specified members from the sorted set stored at key. Non existing members are ignored. + + The key of the sorted set. + The members to remove. + The flags to use for this operation. + The number of members removed from the sorted set, not including non existing members. + + + + + Removes all elements in the sorted set stored at key with rank between start and stop. + Both start and stop are 0 -based indexes with 0 being the element with the lowest score. + These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. + For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth. + + The key of the sorted set. + The minimum rank to remove. + The maximum rank to remove. + The flags to use for this operation. + The number of elements removed. + + + + + Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default). + + The key of the sorted set. + The minimum score to remove. + The maximum score to remove. + Which of and to exclude (defaults to both inclusive). + The flags to use for this operation. + The number of elements removed. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max. + + The key of the sorted set. + The minimum value to remove. + The maximum value to remove. + Which of and to exclude (defaults to both inclusive). + The flags to use for this operation. + The number of elements removed. + + + + + The ZSCAN command is used to incrementally iterate over a sorted set. + + The key of the sorted set. + The pattern to match. + The page size to iterate by. + The flags to use for this operation. + Yields all matching elements of the sorted set. + + + + + The ZSCAN command is used to incrementally iterate over a sorted set + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + The key of the sorted set. + The pattern to match. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all matching elements of the sorted set. + + + + + Returns the score of member in the sorted set at key. + If member does not exist in the sorted set, or key does not exist, is returned. + + The key of the sorted set. + The member to get a score for. + The flags to use for this operation. + The score of the member. + + + + + Returns the scores of members in the sorted set at . + If a member does not exist in the sorted set, or key does not exist, is returned. + + The key of the sorted set. + The members to get a score for. + The flags to use for this operation. + + The scores of the members in the same order as the array. + If a member does not exist in the set, is returned. + + + + + + Removes and returns the first element from the sorted set stored at key, by default with the scores ordered from low to high. + + The key of the sorted set. + The order to sort by (defaults to ascending). + The flags to use for this operation. + The removed element, or when key does not exist. + + See + , + . + + + + + Removes and returns the specified number of first elements from the sorted set stored at key, by default with the scores ordered from low to high. + + The key of the sorted set. + The number of elements to return. + The order to sort by (defaults to ascending). + The flags to use for this operation. + An array of elements, or an empty array when key does not exist. + + See + , + . + + + + + Removes and returns up to entries from the first non-empty sorted set in . + Returns if none of the sets exist or contain any elements. + + The keys to check. + The maximum number of records to pop out of the sorted set. + The order to sort by when popping items out of the set. + The flags to use for the operation. + A contiguous collection of sorted set entries with the key they were popped from, or if no non-empty sorted sets are found. + + + + + Same as but return the number of the elements changed. + + The key of the sorted set. + The member to add/update to the sorted set. + The score for the member to add/update to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements changed. + + + + + Same as but return the number of the elements changed. + + The key of the sorted set. + The members and values to add/update to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements changed. + + + + + Allow the consumer to mark a pending message as correctly processed. Returns the number of messages acknowledged. + + The key of the stream. + The name of the consumer group that received the message. + The ID of the message to acknowledge. + The flags to use for this operation. + The number of messages acknowledged. + + + + + Allow the consumer to mark a pending message as correctly processed. Returns the number of messages acknowledged. + + The key of the stream. + The name of the consumer group that received the message. + The IDs of the messages to acknowledge. + The flags to use for this operation. + The number of messages acknowledged. + + + + + Adds an entry using the specified values to the given stream key. + If key does not exist, a new key holding a stream is created. + The command returns the ID of the newly created stream entry. + + The key of the stream. + The field name for the stream entry. + The value to set in the stream entry. + The ID to assign to the stream entry, defaults to an auto-generated ID ("*"). + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The ID of the newly created message. + + + + + Adds an entry using the specified values to the given stream key. + If key does not exist, a new key holding a stream is created. + The command returns the ID of the newly created stream entry. + + The key of the stream. + The fields and their associated values to set in the stream entry. + The ID to assign to the stream entry, defaults to an auto-generated ID ("*"). + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The ID of the newly created message. + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + Messages that have been idle for more than will be claimed. + + The key of the stream. + The consumer group. + The consumer claiming the messages(s). + The minimum idle time threshold for pending messages to be claimed. + The starting ID to scan for pending messages that have an idle time greater than . + The upper limit of the number of entries that the command attempts to claim. If , Redis will default the value to 100. + The flags to use for this operation. + An instance of . + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + Messages that have been idle for more than will be claimed. + The result will contain the claimed message IDs instead of a instance. + + The key of the stream. + The consumer group. + The consumer claiming the messages(s). + The minimum idle time threshold for pending messages to be claimed. + The starting ID to scan for pending messages that have an idle time greater than . + The upper limit of the number of entries that the command attempts to claim. If , Redis will default the value to 100. + The flags to use for this operation. + An instance of . + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + This method returns the complete message for the claimed message(s). + + The key of the stream. + The consumer group. + The consumer claiming the given message(s). + The minimum message idle time to allow the reassignment of the message(s). + The IDs of the messages to claim for the given consumer. + The flags to use for this operation. + The messages successfully claimed by the given consumer. + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + This method returns the IDs for the claimed message(s). + + The key of the stream. + The consumer group. + The consumer claiming the given message(s). + The minimum message idle time to allow the reassignment of the message(s). + The IDs of the messages to claim for the given consumer. + The flags to use for this operation. + The message IDs for the messages successfully claimed by the given consumer. + + + + + Set the position from which to read a stream for a consumer group. + + The key of the stream. + The name of the consumer group. + The position from which to read for the consumer group. + The flags to use for this operation. + if successful, otherwise. + + + + + Retrieve information about the consumers for the given consumer group. + This is the equivalent of calling "XINFO GROUPS key group". + + The key of the stream. + The consumer group name. + The flags to use for this operation. + An instance of for each of the consumer group's consumers. + + + + + Create a consumer group for the given stream. + + The key of the stream. + The name of the group to create. + The position to begin reading the stream. Defaults to . + The flags to use for this operation. + if the group was created, otherwise. + + + + + Create a consumer group for the given stream. + + The key of the stream. + The name of the group to create. + The position to begin reading the stream. Defaults to . + Create the stream if it does not already exist. + The flags to use for this operation. + if the group was created, otherwise. + + + + + Delete messages in the stream. This method does not delete the stream. + + The key of the stream. + The IDs of the messages to delete. + The flags to use for this operation. + Returns the number of messages successfully deleted from the stream. + + + + + Delete a consumer from a consumer group. + + The key of the stream. + The name of the consumer group. + The name of the consumer. + The flags to use for this operation. + The number of messages that were pending for the deleted consumer. + + + + + Delete a consumer group. + + The key of the stream. + The name of the consumer group. + The flags to use for this operation. + if deleted, otherwise. + + + + + Retrieve information about the groups created for the given stream. This is the equivalent of calling "XINFO GROUPS key". + + The key of the stream. + The flags to use for this operation. + An instance of for each of the stream's groups. + + + + + Retrieve information about the given stream. This is the equivalent of calling "XINFO STREAM key". + + The key of the stream. + The flags to use for this operation. + A instance with information about the stream. + + + + + Return the number of entries in a stream. + + The key of the stream. + The flags to use for this operation. + The number of entries inside the given stream. + + + + + View information about pending messages for a stream. + A pending message is a message read using StreamReadGroup (XREADGROUP) but not yet acknowledged. + + The key of the stream. + The name of the consumer group. + The flags to use for this operation. + + An instance of . + contains the number of pending messages. + The highest and lowest ID of the pending messages, and the consumers with their pending message count. + + The equivalent of calling XPENDING key group. + + + + + View information about each pending message. + + The key of the stream. + The name of the consumer group. + The maximum number of pending messages to return. + The consumer name for the pending messages. Pass RedisValue.Null to include pending messages for all consumers. + The minimum ID from which to read the stream of pending messages. The method will default to reading from the beginning of the stream. + The maximum ID to read to within the stream of pending messages. The method will default to reading to the end of the stream. + The flags to use for this operation. + An instance of for each pending message. + Equivalent of calling XPENDING key group start-id end-id count consumer-name. + + + + + Read a stream using the given range of IDs. + + The key of the stream. + The minimum ID from which to read the stream. The method will default to reading from the beginning of the stream. + The maximum ID to read to within the stream. The method will default to reading to the end of the stream. + The maximum number of messages to return. + The order of the messages. will execute XRANGE and will execute XREVRANGE. + The flags to use for this operation. + Returns an instance of for each message returned. + + + + + Read from a single stream. + + The key of the stream. + The position from which to read the stream. + The maximum number of messages to return. + The flags to use for this operation. + Returns an instance of for each message returned. + + Equivalent of calling XREAD COUNT num STREAMS key id. + + + + + + Read from multiple streams. + + Array of streams and the positions from which to begin reading for each stream. + The maximum number of messages to return from each stream. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREAD COUNT num STREAMS key1 key2 id1 id2. + + + + + + Read messages from a stream into an associated consumer group. + + The key of the stream. + The name of the consumer group. + The consumer name. + The position from which to read the stream. Defaults to when . + The maximum number of messages to return. + The flags to use for this operation. + Returns a value of for each message returned. + + + + + Read messages from a stream into an associated consumer group. + + The key of the stream. + The name of the consumer group. + The consumer name. + The position from which to read the stream. Defaults to when . + The maximum number of messages to return. + When true, the message will not be added to the pending message list. + The flags to use for this operation. + Returns a value of for each message returned. + + + + + Read from multiple streams into the given consumer group. + The consumer group with the given will need to have been created for each stream prior to calling this method. + + Array of streams and the positions from which to begin reading for each stream. + The name of the consumer group. + The name of the consumer. + The maximum number of messages to return from each stream. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREADGROUP GROUP groupName consumerName COUNT countPerStream STREAMS stream1 stream2 id1 id2. + + + + + + Read from multiple streams into the given consumer group. + The consumer group with the given will need to have been created for each stream prior to calling this method. + + Array of streams and the positions from which to begin reading for each stream. + The name of the consumer group. + The name of the consumer. + The maximum number of messages to return from each stream. + When true, the message will not be added to the pending message list. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREADGROUP GROUP groupName consumerName COUNT countPerStream STREAMS stream1 stream2 id1 id2. + + + + + + Trim the stream to a specified maximum length. + + The key of the stream. + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The number of messages removed from the stream. + + + + + If key already exists and is a string, this command appends the value at the end of the string. + If key does not exist it is created and set as an empty string, so APPEND will be similar to SET in this special case. + + The key of the string. + The value to append to the string. + The flags to use for this operation. + The length of the string after the append operation. + + + + + + + + Count the number of set bits (population counting) in a string. + By default all the bytes contained in the string are examined. + It is possible to specify the counting operation only in an interval passing the additional arguments start and end. + Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The key of the string. + The start byte to count at. + The end byte to count at. + In Redis 7+, we can choose if and specify a bit index or byte index (defaults to ). + The flags to use for this operation. + The number of bits set to 1. + + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case + and only the first key will be considered. + The result of the operation is always stored at . + + The operation to perform. + The destination key to store the result in. + The first key to get the bit value from. + The second key to get the bit value from. + The flags to use for this operation. + The size of the string stored in the destination key, that is equal to the size of the longest input string. + + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator. + The result of the operation is always stored at . + + The operation to perform. + The destination key to store the result in. + The keys to get the bit values from. + The flags to use for this operation. + The size of the string stored in the destination key, that is equal to the size of the longest input string. + + + + + + + + Return the position of the first bit set to 1 or 0 in a string. + The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant bit is at position 8 and so forth. + A and may be specified - these are in bytes, not bits. + and can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The key of the string. + True to check for the first 1 bit, false to check for the first 0 bit. + The position to start looking (defaults to 0). + The position to stop looking (defaults to -1, unlimited). + In Redis 7+, we can choose if and specify a bit index or byte index (defaults to ). + The flags to use for this operation. + + The command returns the position of the first bit set to 1 or 0 according to the request. + If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned. + + + + + + Decrements the number stored at key by decrement. + If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. + This operation is limited to 64 bit signed integers. + + The key of the string. + The amount to decrement by (defaults to 1). + The flags to use for this operation. + The value of key after the decrement. + + See + , + . + + + + + Decrements the string representing a floating point number stored at key by the specified decrement. + If the key does not exist, it is set to 0 before performing the operation. + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + The key of the string. + The amount to decrement by (defaults to 1). + The flags to use for this operation. + The value of key after the decrement. + + + + + Get the value of key. If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Returns the values of all specified keys. + For every key that does not hold a string value or does not exist, the special value is returned. + + The keys of the strings. + The flags to use for this operation. + The values of the strings with for keys do not exist. + + + + + Get the value of key. If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Returns the bit value at offset in the string value stored at key. + When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits. + + The key of the string. + The offset in the string to get a bit at. + The flags to use for this operation. + The bit value stored at offset. + + + + + Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). + Negative offsets can be used in order to provide an offset starting from the end of the string. + So -1 means the last character, -2 the penultimate and so forth. + + The key of the string. + The start index of the substring to get. + The end index of the substring to get. + The flags to use for this operation. + The substring of the string value stored at key. + + + + + Atomically sets key to value and returns the old value stored at key. + + The key of the string. + The value to replace the existing value with. + The flags to use for this operation. + The old value stored at key, or when key did not exist. + + + + + Gets the value of and update its (relative) expiry. + If the key does not exist, the result will be . + + The key of the string. + The expiry to set. will remove expiry. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Gets the value of and update its (absolute) expiry. + If the key does not exist, the result will be . + + The key of the string. + The exact date and time to expire at. will remove expiry. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Get the value of key and delete the key. + If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Get the value of key. + If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key and its expiry, or when key does not exist. + + + + + Increments the number stored at key by increment. + If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. + This operation is limited to 64 bit signed integers. + + The key of the string. + The amount to increment by (defaults to 1). + The flags to use for this operation. + The value of key after the increment. + + See + , + . + + + + + Increments the string representing a floating point number stored at key by the specified increment. + If the key does not exist, it is set to 0 before performing the operation. + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + The key of the string. + The amount to increment by (defaults to 1). + The flags to use for this operation. + The value of key after the increment. + + + + + Returns the length of the string value stored at key. + + The key of the string. + The flags to use for this operation. + The length of the string at key, or 0 when key does not exist. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning a string containing the common sequence. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + The flags to use for this operation. + A string (sequence of characters) of the LCS match. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning the legnth of the common sequence. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + The flags to use for this operation. + The length of the LCS match. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning a list of all common sequences. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + Can be used to restrict the list of matches to the ones of a given minimum length. + The flags to use for this operation. + The result of LCS algorithm, based on the given parameters. + + + + + + + + + + + Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type. + + The key of the string. + The value to set. + The expiry to set. + Whether to maintain the existing key's TTL (KEEPTTL flag). + Which condition to set the value under (defaults to always). + The flags to use for this operation. + if the string was set, otherwise. + + + + + Sets the given keys to their respective values. + If is specified, this will not perform any operation at all even if just a single key already exists. + + The keys and values to set. + Which condition to set the value under (defaults to always). + The flags to use for this operation. + if the keys were set, otherwise. + + See + , + . + + + + + Atomically sets key to value and returns the previous value (if any) stored at . + + The key of the string. + The value to set. + The expiry to set. + Which condition to set the value under (defaults to ). + The flags to use for this operation. + The previous value stored at , or when key did not exist. + + This method uses the SET command with the GET option introduced in Redis 6.2.0 instead of the deprecated GETSET command. + + + + + + Atomically sets key to value and returns the previous value (if any) stored at . + + The key of the string. + The value to set. + The expiry to set. + Whether to maintain the existing key's TTL (KEEPTTL flag). + Which condition to set the value under (defaults to ). + The flags to use for this operation. + The previous value stored at , or when key did not exist. + This method uses the SET command with the GET option introduced in Redis 6.2.0 instead of the deprecated GETSET command. + + + + + Sets or clears the bit at offset in the string value stored at key. + The bit is either set or cleared depending on value, which can be either 0 or 1. + When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset. + + The key of the string. + The offset in the string to set . + The bit value to set, true for 1, false for 0. + The flags to use for this operation. + The original bit value stored at offset. + + + + + Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. + If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. + Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset. + + The key of the string. + The offset in the string to overwrite. + The value to overwrite with. + The flags to use for this operation. + The length of the string after it was modified by the command. + + + + + Describes functionality that is common to both standalone redis servers and redis clusters. + + + + + Indicates whether the instance can communicate with the server (resolved using the supplied key and optional flags). + + The key to check for. + The flags to use for this operation. + + + + + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Describes retry policy functionality that can be provided to the multiplexer to be used for connection reconnects. + + + + + This method is called by the multiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the multiplexer while it was in connecting state. + Total time elapsed in milliseconds since the last reconnect retry was made. + + + + Common operations available to all redis connections. + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The command flags to use when pinging. + The observed latency. + + + + + Common operations available to all redis connections. + + + + + Gets the multiplexer that created this instance. + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The command flags to use. + The observed latency. + + + + + Wait for a given asynchronous operation to complete (or timeout), reporting which. + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type of task to wait on. + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Represents a resumable, cursor-based scanning operation. + + + + + Returns the cursor that represents the *active* page of results (not the pending/next page of results as returned by SCAN/HSCAN/ZSCAN/SSCAN). + + + + + The page size of the current operation. + + + + + The offset into the current page. + + + + + Provides configuration controls of a redis server. + + + + + Gets the cluster configuration associated with this server, if known. + + + + + Gets the address of the connected server. + + + + + Gets the features available to the connected server. + + + + + Gets whether the connection to the server is active and usable. + + + + + The protocol being used to communicate with this server (if not connected/known, then the anticipated protocol from the configuration is returned, assuming success). + + + + + Gets whether the connected server is a replica. + + + + + Gets whether the connected server is a replica. + + + + + Explicitly opt in for replica writes on writable replica. + + + + + Explicitly opt in for replica writes on writable replica. + + + + + Gets the operating mode of the connected server. + + + + + Gets the version of the connected server. + + + + + The number of databases supported on this server. + + + + + The CLIENT KILL command closes a given client connection identified by ip:port. + The ip:port should match a line returned by the CLIENT LIST command. + Due to the single-threaded nature of Redis, it is not possible to kill a client connection while it is executing a command. + From the client point of view, the connection can never be closed in the middle of the execution of a command. + However, the client will notice the connection has been closed only when the next command is sent (and results in network error). + + The endpoint of the client to kill. + The command flags to use. + + + + + + + + The CLIENT KILL command closes multiple connections that match the specified filters. + + The ID of the client to kill. + The type of client. + The endpoint to kill. + Whether to skip the current connection. + The command flags to use. + the number of clients killed. + + + + + + + + The CLIENT KILL command closes multiple connections that match the specified filters. + + The filter to use in choosing which clients to kill. + The command flags to use. + the number of clients killed. + + + + + + + The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. + + The command flags to use. + + + + + + + + Obtains the current CLUSTER NODES output from a cluster server. + + The command flags to use. + + + + + + + + Obtains the current raw CLUSTER NODES output from a cluster server. + + The command flags to use. + + + + + + + + Get all configuration parameters matching the specified pattern. + + The pattern of config values to get. + The command flags to use. + All matching configuration parameters. + + + + + + + + Resets the statistics reported by Redis using the INFO command. + + The command flags to use. + + + + + + + + The CONFIG REWRITE command rewrites the redis.conf file the server was started with, + applying the minimal changes needed to make it reflecting the configuration currently + used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. + + The command flags to use. + + + + + + + + The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. + You can change both trivial parameters or switch from one to another persistence option using this command. + + The setting name. + The new setting value. + The command flags to use. + + + + + + + + Returns the number of total commands available in this Redis server. + + The command flags to use. + + + + + + + + Returns list of keys from a full Redis command. + + The command to get keys from. + The command flags to use. + + + + + + + + Returns a list of command names available on this Redis server. + Only one of the filter options is usable at a time. + + The module name to filter the command list by. + The category to filter the command list by. + The pattern to filter the command list by. + The command flags to use. + + + + + + + + Return the number of keys in the database. + + The database ID. + The command flags to use. + + + + + + + + Return the same message passed in. + + The message to echo. + The command flags to use. + + + + + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API. + + The command to run. + The arguments to pass for the command. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API. + + The command to run. + The arguments to pass for the command. + The flags to use for this operation. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + + + + Delete all the keys of all databases on the server. + + The command flags to use. + + + + + + + + Delete all the keys of the database. + + The database ID. + The command flags to use. + + + + + + + + Get summary statistics associates with this server. + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + The info section to get, if getting a specific one. + The command flags to use. + A grouping of key/value pairs, grouped by their section header. + + + + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + The info section to get, if getting a specific one. + The command flags to use. + The entire raw INFO string. + + + + + + + + + + + Returns all keys matching . + The KEYS or SCAN commands will be used based on the server capabilities. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The database ID. + The pattern to use. + The page size to iterate by. + The cursor position to resume at. + The page offset to start at. + The command flags to use. + An enumeration of matching redis keys. + + Warning: consider KEYS as a command that should only be used in production environments with extreme care. + + See + , + . + + + + + + + + + Return the time of the last DB save executed with success. + A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command + and checking at regular intervals every N seconds if LASTSAVE changed. + + The command flags to use. + The last time a save was performed. + + + + + + + + + + + Promote the selected node to be primary. + + The options to use for this topology change. + The log to write output to. + + + + + Returns the role info for the current server. + + + + + + + + + Explicitly request the database to persist the current state to disk. + + The method of the save (e.g. background or foreground). + The command flags to use. + + See + , + , + , + . + + + + + + + + Indicates whether the specified script is defined on the server. + + The text of the script to check for on the server. + The command flags to use. + + + + + + + + Indicates whether the specified script hash is defined on the server. + + The SHA1 of the script to check for on the server. + The command flags to use. + + + + + + + + Removes all cached scripts on this server. + + The command flags to use. + + + + + + + + Explicitly defines a script on the server. + + The script to load. + The command flags to use. + The SHA1 of the loaded script. + + + + + + + + Explicitly defines a script on the server. + + The script to load. + The command flags to use. + The loaded script, ready for rapid reuse based on the SHA1. + + + + + + + + Asks the redis server to shutdown, killing all connections. Please FULLY read the notes on the SHUTDOWN command. + + The mode of the shutdown. + The command flags to use. + + + + + + + + + + + + + + The REPLICAOF command can change the replication settings of a replica on the fly. + If a Redis server is already acting as replica, specifying a null primary will turn off the replication, + turning the Redis server into a PRIMARY. Specifying a non-null primary will make the server a replica of + another server listening at the specified hostname and port. + + Endpoint of the new primary to replicate from. + The command flags to use. + + + + + To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. + It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). + + The count of items to get. + The command flags to use. + The slow command traces as recorded by the Redis server. + + + + + + + + You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. + + The command flags to use. + + + + + + + + Lists the currently active channels. + An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). + + The channel name pattern to get channels for. + The command flags to use. + a list of active channels, optionally matching the specified pattern. + + + + + + + + Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). + Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. + + The command flags to use. + the number of patterns all the clients are subscribed to. + + + + + + + + Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. + + The channel to get a subscriber count for. + The command flags to use. + The number of subscribers on this server. + + + + + + + + Swaps two Redis databases, so that immediately all the clients connected to a given database will see the data of the other database, and the other way around. + + The ID of the first database. + The ID of the second database. + The command flags to use. + + + + + + + + The TIME command returns the current server time in UTC format. + Use the method to get local time. + + The command flags to use. + The server's current time. + + + + + + + + Gets a text-based latency diagnostic. + + The full text result of latency doctor. + + See + , + . + + + + + + + + Resets the given events (or all if none are specified), discarding the currently logged latency spike events, and resetting the maximum event time register. + + The number of events that were reset. + + See + , + . + + + + + + + + Fetch raw latency data from the event time series, as timestamp-latency pairs. + + An array of latency history entries. + + See + , + . + + + + + + + + Fetch raw latency data from the event time series, as timestamp-latency pairs. + + An array of the latest latency history entries. + + See + , + . + + + + + + + + Reports about different memory-related issues that the Redis server experiences, and advises about possible remedies. + + The full text result of memory doctor. + + + + + + + + Attempts to purge dirty pages so these can be reclaimed by the allocator. + + + + + + + + + Returns an array reply about the memory usage of the server. + + An array reply of memory stat metrics and values. + + + + + + + + Provides an internal statistics report from the memory allocator. + + The full text result of memory allocation stats. + + + + + + + + Returns the IP and port number of the primary with that name. + If a failover is in progress or terminated successfully for this primary it returns the address and port of the promoted replica. + + The sentinel service name. + The command flags to use. + The primary IP and port. + + + + + + + + Returns the IP and port numbers of all known Sentinels for the given service name. + + The sentinel service name. + The command flags to use. + A list of the sentinel IPs and ports. + + + + + + + + Returns the IP and port numbers of all known Sentinel replicas for the given service name. + + The sentinel service name. + The command flags to use. + A list of the replica IPs and ports. + + + + + + + + Show the state and info of the specified primary. + + The sentinel service name. + The command flags to use. + The primaries state as KeyValuePairs. + + + + + + + + Show a list of monitored primaries and their state. + + The command flags to use. + An array of primaries state KeyValuePair arrays. + + + + + + + + + + + + + + Show a list of replicas for this primary, and their state. + + The sentinel service name. + The command flags to use. + An array of replica state KeyValuePair arrays. + + + + + + + + Force a failover as if the primary was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + The sentinel service name. + The command flags to use. + + + + + + + + Show a list of sentinels for a primary, and their state. + + The sentinel service name. + The command flags to use. + + + + + + + + For testing only: Break the connection without mercy or thought. + + The server to simulate failure on. + The type of failure(s) to simulate. + + + + A redis connection used as the subscriber in a pub/sub scenario. + + + + + Indicate exactly which redis server we are talking to. + + The channel to identify the server endpoint by. + The command flags to use. + + + + + + + Indicates whether the instance can communicate with the server. + If a channel is specified, the existing subscription map is queried to + resolve the server responsible for that subscription - otherwise the + server is chosen arbitrarily from the primaries. + + The channel to identify the server endpoint by. + if connected, otherwise. + + + + Posts a message to the given channel. + + The channel to publish to. + The message to publish. + The command flags to use. + + The number of clients that received the message *on the destination server*, + note that this doesn't mean much in a cluster as clients can get the message through other nodes. + + + + + + + + + Subscribe to perform some operation when a message to the preferred/active node is broadcast, without any guarantee of ordered handling. + + The channel to subscribe to. + The handler to invoke when a message is received on . + The command flags to use. + + See + , + . + + + + + + + + Subscribe to perform some operation when a message to the preferred/active node is broadcast, as a queue that guarantees ordered handling. + + The redis channel to subscribe to. + The command flags to use. + A channel that represents this source. + + See + , + . + + + + + + + + Indicate to which redis server we are actively subscribed for a given channel. + + The channel to check which server endpoint was subscribed on. + The subscribed endpoint for the given , if the channel is not actively subscribed. + + + + Unsubscribe from a specified message channel. + Note: if no handler is specified, the subscription is canceled regardless of the subscribers. + If a handler is specified, the subscription is only canceled if this handler is the last handler remaining against the channel. + + The channel that was subscribed to. + The handler to no longer invoke when a message is received on . + The command flags to use. + + See + , + . + + + + + + + + Unsubscribe all subscriptions on this instance. + + The command flags to use. + + See + , + . + + + + + + + + Represents a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. Transactions can also include constraints + (implemented via WATCH), but note that constraint checking involves will (very briefly) + block the connection, since the transaction cannot be correctly committed (EXEC), + aborted (DISCARD) or not applied in the first place (UNWATCH) until the responses from + the constraint checks have arrived. + + + Note that on a cluster, it may be required that all keys involved in the transaction (including constraints) are in the same hash-slot. + + + + + + Adds a precondition for this transaction. + + The condition to add to the transaction. + + + + Execute the batch operation, sending all queued commands to the server. + + The command flags to use. + + + + Execute the batch operation, sending all queued commands to the server. + + The command flags to use. + + + + Describes internal errors (mainly intended for debugging). + + + + + This constructor is only for testing purposes. + + The source of the event. + The endpoint (if any) involved in the event. + Redis connection type. + The exception that occurred. + Origin. + + + + Gets the connection-type of the failing connection. + + + + + Gets the failing server-endpoint (this can be null). + + + + + Gets the exception if available (this can be null). + + + + + The underlying origin of the error. + + + + + Provides the extension method to . + + + + + Creates a new instance that provides an isolated key space + of the specified underlying database instance. + + + The underlying database instance that the returned instance shall use. + + + The prefix that defines a key space isolation for the returned database instance. + + + A new instance that invokes the specified underlying + but prepends the specified + to all key parameters and thus forms a logical key space isolation. + + + + The following methods are not supported in a key space isolated database and + will throw an when invoked: + + + + + + + Please notice that keys passed to a script are prefixed (as normal) but care must + be taken when a script returns the name of a key as that will (currently) not be + "unprefixed". + + + + + + A sized region of contiguous memory backed by a memory pool; disposing the lease returns the memory to the pool. + + The type of data being leased. + + + + A lease of length zero. + + + + + The length of the lease. + + + + + Create a new lease. + + The size required. + Whether to erase the memory. + + + + Release all resources owned by the lease. + + + + + The data as a . + + + + + The data as a . + + + + + The data as an . + + + + + Represents a retry policy that performs retries at a fixed interval. The retries are performed up to a maximum allowed time. + + + + + Initializes a new instance using the specified maximum retry elapsed time allowed. + + maximum elapsed time in milliseconds to be allowed for it to perform retries. + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state. + Total elapsed time in milliseconds since the last reconnect retry was made. + + + + Represents a Lua script that can be executed on Redis. + + Unlike normal Redis Lua scripts, LuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + + Parameters of type RedisKey are sent to Redis as KEY (https://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + Since the mapping of "script text" -> LuaScript doesn't depend on any particular details of + the redis connection itself, this cache is global. + + + + + The original Lua script that was used to create this. + + + + + The Lua script that will actually be sent to Redis for execution. + All @-prefixed parameter names have been replaced at this point. + + + + + Arguments are in the order they have to passed to the script in. + + + + + Finalizer - used to prompt cleanups of the script cache when a LuaScript reference goes out of scope. + + + + + Invalidates the internal cache of LuaScript objects. + Existing LuaScripts will continue to work, but future calls to LuaScript.Prepare + return a new LuaScript instance. + + + + + Returns the number of cached LuaScripts. + + + + + Prepares a Lua script with named parameters to be run against any Redis instance. + + The script to prepare. + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + using the implicit SHA1 hash that's calculated after the script is sent to the server for the first time. + + Note: the FireAndForget command flag cannot be set. + + The server to load the script on. + The command flags to use. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + using the implicit SHA1 hash that's calculated after the script is sent to the server for the first time. + + Note: the FireAndForget command flag cannot be set. + + The server to load the script on. + The command flags to use. + + + + Represents a Lua script that can be executed on Redis. + + Unlike LuaScript, LoadedLuaScript sends the hash of it's ExecutableScript to Redis rather than pass + the whole script on each call. This requires that the script be loaded into Redis before it is used. + + + To create a LoadedLuaScript first create a LuaScript via LuaScript.Prepare(string), then + call Load(IServer, CommandFlags) on the returned LuaScript. + + + Unlike normal Redis Lua scripts, LoadedLuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + + Parameters of type RedisKey are sent to Redis as KEY (https://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + The original script that was used to create this LoadedLuaScript. + + + + + The script that will actually be sent to Redis for execution. + + + + + The SHA1 hash of ExecutableScript. + This is sent to Redis instead of ExecutableScript during Evaluate and EvaluateAsync calls. + + Be aware that using hash directly is not resilient to Redis server restarts. + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. + If the script has not been loaded into the passed Redis instance, it will fail. + + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. + If the script has not been loaded into the passed Redis instance, it will fail. + + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Azure node maintenance event. For more information, please see: . + + + + + Indicates the type of event (raw string form). + + + + + The parsed version of for easier consumption. + + + + + Indicates if the event is for a replica node. + + + + + IPAddress of the node event is intended for. + + + + + SSL Port. + + + + + Non-SSL port. + + + + + The types of notifications that Azure is sending for events happening. + + + + + Unrecognized event type, likely needs a library update to recognize new events. + + + + + Indicates that a maintenance event is scheduled. May be several minutes from now. + + + + + This event gets fired ~20s before maintenance begins. + + + + + This event gets fired when maintenance is imminent (<5s). + + + + + Indicates that the node maintenance operation is over. + + + + + Indicates that a replica has been promoted to primary. + + + + + Indicates that a scale event (adding or removing nodes) has completed for a cluster. + + + + + Base class for all server maintenance events. + + + + + Raw message received from the server. + + + + + The time the event was received. If we know when the event is expected to start will be populated. + + + + + Indicates the expected start time of the event. + + + + + Returns a string representing the maintenance event with all of its properties. + + + + + Notifies a ConnectionMultiplexer of this event, for anyone observing its handler. + + + + + Things with the potential to cause harm, or to reveal configuration information. + + + + Gets whether this is primary-only. + + Note that the constructor runs the switch statement above, so + this will already be true for primary-only commands, even if the + user specified etc. + + + + + This does a few important things: + 1: it suppresses error events for commands that the user isn't interested in + (i.e. "why does my standalone server keep saying ERR unknown command 'cluster' ?") + 2: it allows the initial PING and GET (during connect) to get queued rather + than be rejected as no-server-available (note that this doesn't apply to + handshake messages, as they bypass the queue completely). + 3: it disables non-pref logging, as it is usually server-targeted. + + + + + Gets a string representation of this message: "[{DB}]:{CommandAndKey} ({resultProcessor})". + + + + + Gets a string representation of this message without the key: "[{DB}]:{Command} ({resultProcessor})". + + + + + Gets if this command should be sent over the subscription bridge. + + + + + Sends this command to the subscription connection rather than the interactive. + + + + + Checks if this message has violated the provided timeout. + Whether it's a sync operation in a .Wait() or in the backlog queue or written/pending asynchronously, we need to timeout everything. + ...or we get indefinite Task hangs for completions. + + + + + Sets the processor and box for this message to execute. + + + Note order here is reversed to prevent overload resolution errors. + + + + + Sets the box and processor for this message to execute. + + + Note order here is reversed to prevent overload resolution errors. + + The type of the result box result. + + + + We have 1 queue in play on this bridge. + We're bypassing the queue for handshake events that go straight to the socket. + Everything else that's not an internal call goes into the queue if there is a queue. + + + In a later release we want to remove per-server events from this queue completely and shunt queued messages + to another capable primary connection if one is available to process them faster (order is already hosed). + For now, simplicity in: queue it all, replay or timeout it all. + + + + + If we have a connection, report the protocol being used. + + + + + Number of messages sent since the last heartbeat was processed. + + + + + The time this connection was connected at, if it's connected currently. + + + + + Whether the pipe writer is currently active. + + + + + Status of the currently processing backlog, if any. + + + + + The number of messages that are in the backlog queue (waiting to be sent when the connection is healthy again). + + + + + The number of messages that are in the backlog queue (waiting to be sent when the connection is healthy again). + + + + + The number of messages ever added to the backlog queue in the life of this connection. + + + + + Status for the underlying . + + + + + The default bridge stats, notable *not* the same as default since initializers don't run. + + + + + Sends a keepalive message (ECHO or PING) to keep connections alive and check validity of response. + + Whether to run even then the connection isn't idle. + + + + Crawls from the head of the backlog queue, consuming anything that should have timed out + and pruning it accordingly (these messages will get timeout exceptions). + + + + + Process the backlog(s) in play if any. + This means flushing commands to an available/active connection (if any) or spinning until timeout if not. + + + + + Reset event for monitoring backlog additions mid-run. + This allows us to keep the thread around for a full flush and prevent "feathering the throttle" trying + to flush it. In short, we don't start and stop so many threads with a bit of linger. + + + + + This writes a message to the output stream. + + The physical connection to write to. + The message to be written. + Whether this message should bypass the backlog, going straight to the pipe or failing. + + + + For testing only. + + + + + Nullable because during simulation of failure, we'll null out. + ...but in those cases, we'll accept any null ref in a race - it's fine. + + + + + Did we ask for the shutdown? If so this leads to informational messages for tracking but not errors. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Runs on every heartbeat for a bridge, timing out any commands that are overdue and returning an integer of how many we timed out. + + How many commands were overdue and threw timeout exceptions. + + + + Number of messages sent outbound, but we don't yet have a response for. + + + + + Bytes available on the socket, not yet read into the pipe. + + + + + Bytes read from the socket, pending in the reader pipe. + + + + + Bytes in the writer pipe, waiting to be written to the socket. + + + + + Byte size of the last result we processed. + + + + + Byte size on the buffer that isn't processed yet. + + + + + The inbound pipe reader status. + + + + + The outbound pipe writer status. + + + + + The default connection stats, notable *not* the same as default since initializers don't run. + + + + + The zeroed connection stats, which we want to display as zero for default exception cases. + + + + + A profiled command against a redis instance. + + TimeSpans returned by this interface use a high precision timer if possible. + DateTimes returned by this interface are no more precise than DateTime.UtcNow. + + + + + + The endpoint this command was sent to. + + + + + The Db this command was sent to. + + + + + The name of this command. + + + + + The CommandFlags the command was submitted with. + + + + + + When this command was *created*, will be approximately + when the paired method of StackExchange.Redis was called but + before that method returned. + + Note that the resolution of the returned DateTime is limited by DateTime.UtcNow. + + + + + How long this command waited to be added to the queue of pending + redis commands. A large TimeSpan indicates serious contention for + the pending queue. + + + + + How long this command spent in the pending queue before being sent to redis. + A large TimeSpan can indicate a large number of pending events, large pending events, + or network issues. + + + + + How long before Redis responded to this command and it's response could be handled after it was sent. + A large TimeSpan can indicate a large response body, an overtaxed redis instance, or network issues. + + + + + How long between Redis responding to this command and awaiting consumers being notified. + + + + + How long it took this redis command to be processed, from creation to deserializing the final response. + Note that this TimeSpan *does not* include time spent awaiting a Task in consumer code. + + + + + + If a command has to be resent due to an ASK or MOVED response from redis (in a cluster configuration), + the second sending of the command will have this property set to the original IProfiledCommand. + + This can only be set if redis is configured as a cluster. + + + + + If RetransmissionOf is not null, this property will be set to either Ask or Moved to indicate + what sort of response triggered the retransmission. + + This can be useful for determining the root cause of extra commands. + + + + + A collection of IProfiledCommands. + This is a very light weight data structure, only supporting enumeration. + + While it implements IEnumerable, it there are fewer allocations if one uses + it's explicit GetEnumerator() method. Using `foreach` does this automatically. + + This type is not threadsafe. + + + + + + Implements IEnumerator for ProfiledCommandEnumerable. + This implementation is comparable to List.Enumerator and Dictionary.Enumerator, + and is provided to reduce allocations in the common (ie. foreach) case. + + This type is not threadsafe. + + + + + The current element. + + + + + Advances the enumeration, returning true if there is a new element to consume and false + if enumeration is complete. + + + + + Resets the enumeration. + + + + + Disposes the enumeration. + subsequent attempts to enumerate results in undefined behavior. + + + + + Returns the number of commands captured in this snapshot. + + + + + Returns the number of commands captured in this snapshot that match a condition. + + The predicate to match. + + + + Returns the captured commands as an array. + + + + + Returns the captured commands as a list. + + + + + + Returns an implementor of IEnumerator that, provided it isn't accessed + though an interface, avoids allocations. + + `foreach` will automatically use this method. + + + + + Lightweight profiling session that can be optionally registered (via ConnectionMultiplexer.RegisterProfiler) to track messages. + + + + + Caller-defined state object. + + + + + Create a new profiling session, optionally including a caller-defined state object. + + The state object to use for this session. + + + + Reset the session and yield the commands that were captured for enumeration; if additional commands + are added, they can be retrieved via additional calls to FinishProfiling. + + + + + Represents a pub/sub channel name. + + + + + Indicates whether the channel-name is either null or a zero-length value. + + + + + Indicates whether this channel represents a wildcard pattern (see PSUBSCRIBE). + + + + + Indicates whether channels should use when no + is specified; this is enabled by default, but can be disabled to avoid unexpected wildcard scenarios. + + + + + Creates a new that does not act as a wildcard subscription. + + + + + Creates a new that does not act as a wildcard subscription. + + + + + Creates a new that acts as a wildcard subscription. + + + + + Creates a new that acts as a wildcard subscription. + + + + + Create a new redis channel from a buffer, explicitly controlling the pattern mode. + + The name of the channel to create. + The mode for name matching. + + + + Create a new redis channel from a string, explicitly controlling the pattern mode. + + The string name of the channel to create. + The mode for name matching. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + See . + + The to compare to. + + + + Indicate whether two channel names are equal. + + The to compare to. + + + + + + + Obtains a string representation of the channel name. + + + + + The matching pattern for this channel. + + + + + Will be treated as a pattern if it includes *. + + + + + Never a pattern. + + + + + Always a pattern. + + + + + Create a channel name from a . + + The string to get a channel from. + + + + Create a channel name from a . + + The byte array to get a channel from. + + + + Obtain the channel name as a . + + The channel to get a byte[] from. + + + + Obtain the channel name as a . + + The channel to get a string from. + + + + Gets message for . + + + + + Gets a message for . + + + + + + Notification of errors from the redis server. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + Error message. + + + + The origin of the message. + + + + + The message from the server. + + + + + Provides basic information about the features available on a particular version of Redis. + + + + + Create a new RedisFeatures instance for the given version. + + The version of redis to base the feature set on. + + + + Are BITOP and BITCOUNT available? + + + + + Is CLIENT SETNAME available? + + + + + Is CLIENT ID available? + + + + + Does EXEC support EXECABORT if there are errors? + + + + + Can EXPIRE be used to set expiration on a key that is already volatile (i.e. has an expiration)? + + + + + Is GETDEL available? + + + + + Is HSTRLEN available? + + + + + Does HDEL support variadic usage? + + + + + Are INCRBYFLOAT and HINCRBYFLOAT available? + + + + + Does INFO support sections? + + + + + Is LINSERT available? + + + + + Is MEMORY available? + + + + + Are PEXPIRE and PTTL available? + + + + + Is MODULE available? + + + + + Does SRANDMEMBER support the "count" option? + + + + + Is PERSIST available? + + + + + Are LPUSHX and RPUSHX available? + + + + + Does this support SORT_RO? + + + + + Is SCAN (cursor-based scanning) available? + + + + + Are EVAL, EVALSHA, and other script commands available? + + + + + Does SET support the GET option? + + + + + Does SET support the EX, PX, NX, and XX options? + + + + + Does SET have the KEEPTTL option? + + + + + Does SET allow the NX and GET options to be used together? + + + + + Does SADD support variadic usage? + + + + + Are ZPOPMIN and ZPOPMAX available? + + + + + Is ZRANGESTORE available? + + + + + Are Redis Streams available? + + + + + Is STRLEN available? + + + + + Is SETRANGE available? + + + + + Is SWAPDB available? + + + + + Is TIME available? + + + + + Is UNLINK available? + + + + + Are Lua changes to the calling database transparent to the calling client? + + + + + + + + Is PFCOUNT available on replicas? + + + + + Are geospatial commands available? + + + + + Can PING be used on a subscription connection? + + + + + Does SPOP support popping multiple items? + + + + + Is TOUCH available? + + + + + Does the server prefer 'replica' terminology - 'REPLICAOF', etc? + + + + + Do list-push commands support multiple arguments? + + + + + Is the RESP3 protocol available? + + + + + The Redis version of the server. + + + + + Create a string representation of the available features. + + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + Indicates whether this instance and a specified object are equal. + + + if and this instance are the same type and represent the same value, otherwise. + + The object to compare with the current instance. + + + + Indicates whether this instance and a specified object are equal. + + + if and this instance are the same type and represent the same value, otherwise. + + The object to compare with the current instance. + + + + Checks if 2 are .Equal(). + + + + + Checks if 2 are not .Equal(). + + + + + Represents a key that can be stored in redis. + + + + + Creates a from a string. + + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + See . + + The to compare to. + + + + Indicate whether two keys are equal. + + The to compare to. + + + + + + + Obtains a string representation of the key. + + + + + Create a from a . + + The string to get a key from. + + + + Create a from a . + + The byte array to get a key from. + + + + Obtain the as a . + + The key to get a byte array for. + + + + Obtain the key as a . + + The key to get a string for. + + + + Concatenate two keys. + + The first to add. + The second to add. + + + + Prepends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make it less possible. + + + The prefix to prepend. + + + + Appends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make it less possible. + + + The suffix to append. + + + + Indicates the protocol for communicating with the server. + + + + + The protocol used by all redis server versions since 1.2, as defined by https://github.com/redis/redis-specifications/blob/master/protocol/RESP2.md. + + + + + Opt-in variant introduced in server version 6, as defined by https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md. + + + + + Represents a general-purpose result from redis, that may be cast into various anticipated types. + + + + + Do not use. + + + + + Create a new RedisResult representing a single value. + + The to create a result from. + The type of result being represented. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + The explicit data type. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + The explicit data type. + new . + + + + An empty array result. + + + + + A null array result. + + + + + A null single result, to use as a default for invalid returns. + + + + + Gets the number of elements in this item if it is a valid array, or -1 otherwise. + + + + + + + + Gets the string content as per , but also obtains the declared type from verbatim strings (for example LATENCY DOCTOR). + + The type of the returned string. + The content. + + + + Internally, this is very similar to RawResult, except it is designed to be usable, + outside of the IO-processing pipeline: the buffers are standalone, etc. + + + + + Indicate the type of result that was received from redis, in RESP2 terms. + + + + + Indicate the type of result that was received from redis, in RESP3 terms. + + + + + Indicate the type of result that was received from redis, in RESP2 terms. + + + + + Indicates whether this result was a null result. + + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets a multi-bulk result with successive key/name values as a dictionary keyed by name. + + The key comparator to use, or by default. + + + + Get a sub-item by index. + + + + + Create a from a key. + + The to create a from. + + + + Create a from a channel. + + The to create a from. + + + + For testing only. + + + + + A wrapper for subscription actions. + + + By having most functionality here and state on , we can + use the baseline execution methods to take the normal message paths. + + + + + This is *could* we be connected, as in "what's the theoretical endpoint for this channel?", + rather than if we're actually connected and actually listening on that channel. + + + + + Unregisters a handler or queue and returns if we should remove it from the server. + + if we should remove the subscription from the server, otherwise. + + + + Represents values that can be stored in redis. + + + + + Creates a from a string. + + + + + Obtain this value as an object - to be used alongside Unbox. + + + + + Parse this object as a value - to be used alongside Box. + + The value to unbox. + + + + Represents the string "". + + + + + A null value. + + + + + Indicates whether the **underlying** value is a primitive integer (signed or unsigned); this is **not** + the same as whether the value can be *treated* as an integer - see + and , which is usually the more appropriate test. + + + + + Indicates whether the value should be considered a null value. + + + + + Indicates whether the value is either null or a zero-length value. + + + + + Indicates whether the value is greater than zero-length or has an integer value. + + + + + Indicates whether two RedisValue values are equivalent. + + The first to compare. + The second to compare. + + + + Indicates whether two RedisValue values are equivalent. + + The first to compare. + The second to compare. + + + + See . + + The other to compare. + + + + Indicates whether two RedisValue values are equivalent. + + The to compare to. + + + + + + + Returns a string representation of the value. + + + + + Get the size of this value in bytes. + + + + + Compare against a RedisValue for relative order. + + The other to compare. + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from a . + + The to convert to a . + + + + Creates a new from a . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Attempt to reduce to canonical terms ahead of time; parses integers, floats, etc + Note: we don't use this aggressively ahead of time, a: because of extra CPU, + but more importantly b: because it can change values - for example, if they start + with "123.000", it should **stay** as "123.000", not become 123L; this could be + a hash key or similar - we don't want to break it; RedisConnection uses + the storage type, not the "does it look like a long?" - for this reason. + + + + + Convert to a signed if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Convert to an if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Convert to a if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Create a from a . + It will *attempt* to use the internal buffer directly, but if this isn't possible it will fallback to . + + The to create a value from. + + + + Indicates whether the current value has the supplied value as a prefix. + + The to check. + + + + Anything hashed with SHA1 has exactly 40 characters. We can use that as a shortcut in the code bellow. + + + + + Parser for the https://redis.io/commands/lcs/ format with the and arguments. + + + Example response: + 1) "matches" + 2) 1) 1) 1) (integer) 4 + 2) (integer) 7 + 2) 1) (integer) 5 + 2) (integer) 8 + 3) (integer) 4 + 3) "len" + 4) (integer) 6 + ... + + + + + Handles . + + + + + Handles . + + + + + This processor is for *without* the option. + + + + + This processor is for *with* the option. + + + + + Handles stream responses. For formats, see . + + The type of the stream result. + + + + Result of the ROLE command. Values depend on the role: master, replica, or sentinel. + + + + + + One of "master", "slave" (aka replica), or "sentinel". + + + + + + + + Result of the ROLE command for a primary node. + + + + + + The replication offset. To be consumed by replica nodes. + + + + + Connected replica nodes. + + + + + A connected replica node. + + + + + The IP address of this replica node. + + + + + The port number of this replica node. + + + + + The last replication offset acked by this replica node. + + + + + + + + Result of the ROLE command for a replica node. + + + + + + The IP address of the primary node for this replica. + + + + + The port number of the primary node for this replica. + + + + + This replica's replication state. + + + + + The last replication offset received by this replica. + + + + + Result of the ROLE command for a sentinel node. + + + + + + Primary names monitored by this sentinel node. + + + + + An unexpected result of the ROLE command. + + + + + Turns a script with @namedParameters into a LuaScript that can be executed against a given IDatabase(Async) object. + + The script to prepare. + + + + Determines whether or not the given type can be used to provide parameters for the given . + + The type of the parameter. + The script to match against. + The first missing member, if any. + The first type mismatched member, if any. + + + + Creates a Func that extracts parameters from the given type for use by a LuaScript. + + Members that are RedisKey's get extracted to be passed in as keys to redis; all members that + appear in the script get extracted as RedisValue arguments to be sent up as args. + + + We send all values as arguments so we don't have to prepare the same script for different parameter + types. + + + The created Func takes a RedisKey, which will be prefixed to all keys (and arguments of type RedisKey) for + keyspace isolation. + + + The type to extract for. + The script to extract for. + + + + Illustrates the queues associates with this server. + + + + + Creates a instance for an . + + The to create counters for. + + + + The endpoint to which this data relates (this can be null if the data represents all servers). + + + + + Counters associated with the interactive (non pub-sub) connection. + + + + + Counters associated with other ambient activity. + + + + + Counters associated with the subscription (pub-sub) connection. + + + + + Indicates the total number of outstanding items against this server. + + + + + See . + + + + + Whether this endpoint supports databases at all. + Note that some servers are cluster but present as standalone (e.g. Redis Enterprise), so we respect + being disabled here as a performance workaround. + + + This is memoized because it's accessed on hot paths inside the write lock. + + + + + Awaitable state seeing if this endpoint is connected. + + + + + If we have a connection (interactive), report the protocol being used. + + + + + Used to round-robin between multiple replicas. + + + + + Result of the latest tie breaker (from the last reconfigure). + + + + + Forces frequent replication check starting from 1 second up to max ConfigCheckSeconds with an exponential increment. + + + + + Write the message directly to the pipe or fail...will not queue. + + The type of the result processor. + + + + For testing only. + + + + + Computes the hash-slot that would be used by the given key. + + The to determine a slot ID for. + + + + Computes the hash-slot that would be used by the given channel. + + The to determine a slot ID for. + + + + Gets the hashslot for a given byte sequence. + + + HASH_SLOT = CRC16(key) mod 16384. + + + + + A SocketManager monitors multiple sockets for availability of data; this is done using + the Socket.Select API and a dedicated reader-thread, which allows for fast responses + even when the system is under ambient load. + + + + + Gets the name of this SocketManager instance. + + + + + Creates a new instance. + + The name for this . + + + + Creates a new instance. + + The name for this . + Whether this should use high priority sockets. + + + + Creates a new (optionally named) instance. + + The name for this . + the number of dedicated workers for this . + Whether this should use high priority sockets. + + + + Additional options for configuring the socket manager. + + + + + No additional options. + + + + + Whether the should use high priority sockets. + + + + + Use the regular thread-pool for all scheduling. + + + + + Creates a new (optionally named) instance. + + The name for this . + The number of dedicated workers for this . + Options to use when creating the socket manager. + + + + Default / shared socket manager using a dedicated thread-pool. + + + + + Shared socket manager using the main thread-pool. + + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + Releases all resources associated with this instance. + + + + + Releases *appropriate* resources associated with this instance. + + + + + Constants representing values used in Redis Stream commands. + + + + + The "~" value used with the MAXLEN option. + + + + + The "*" value used with the XADD command. + + + + + The "$" value used in the XGROUP command. Indicates reading only new messages from the stream. + + + + + The "0" value used in the XGROUP command. Indicates reading all messages from the stream. + + + + + The "-" value used in the XRANGE, XREAD, and XREADGROUP commands. Indicates the minimum message ID from the stream. + + + + + The "+" value used in the XRANGE, XREAD, and XREADGROUP commands. Indicates the maximum message ID from the stream. + + + + + The ">" value used in the XREADGROUP command. Use this to read messages that have not been delivered to a consumer group. + + + + + Licensed to the .NET Foundation under one or more agreements. + The .NET Foundation licenses this file to you under the MIT license. + + Inspired from . + + + + Create a new TaskCompletion source. + + The type for the created . + The state for the created . + The options to apply to the task. + + + + Optimization over . + + From . + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/local-nuget/stackexchange.redis/2.8.24/lib/net6.0/StackExchange.Redis.xml b/local-nuget/stackexchange.redis/2.8.24/lib/net6.0/StackExchange.Redis.xml new file mode 100644 index 000000000..4cb0a4744 --- /dev/null +++ b/local-nuget/stackexchange.redis/2.8.24/lib/net6.0/StackExchange.Redis.xml @@ -0,0 +1,12526 @@ + + + + StackExchange.Redis + + + + + Filter determining which Redis clients to kill. + + + + + + Filter arguments builder for `CLIENT KILL`. + + + + + The ID of the client to kill. + + + + + The type of client. + + + + + The authenticated ACL username. + + + + + The endpoint to kill. + + + + + The server endpoint to kill. + + + + + Whether to skip the current connection. + + + + + Age of connection in seconds. + + + + + Sets client id filter. + + Id of the client to kill. + + + + Sets client type filter. + + The type of the client. + + + + Sets the username filter. + + Authenticated ACL username. + + + + Set the endpoint filter. + + The endpoint to kill. + + + + Set the server endpoint filter. + + The server endpoint to kill. + + + + Set the skipMe filter (whether to skip the current connection). + + Whether to skip the current connection. + + + + Set the MaxAgeInSeconds filter. + + Age of connection in seconds. + + + + Describes a GeoEntry element with the corresponding value. + GeoEntries are stored in redis as SortedSetEntries. + + + + + The name of the GeoEntry. + + + + + Describes the longitude and latitude of a GeoEntry. + + + + + Initializes a GeoEntry value. + + The longitude position to use. + The latitude position to use. + The value to store for this position. + + + + The longitude of the GeoEntry. + + + + + The latitude of the GeoEntry. + + + + + A "({Longitude},{Latitude})={Member}" string representation of this entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first entry to compare. + The second entry to compare. + + + + Compares two values for non-equality. + + The first entry to compare. + The second entry to compare. + + + + Describes the longitude and latitude of a GeoEntry. + + + + + The Latitude of the GeoPosition. + + + + + The Longitude of the GeoPosition. + + + + + Creates a new GeoPosition. + + + + + A "{long} {lat}" string representation of this position. + + + + + See . + Diagonals not an issue in the case of lat/long. + + + Diagonals are not an issue in the case of lat/long. + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first position to compare. + The second position to compare. + + + + Compares two values for non-equality. + + The first position to compare. + The second position to compare. + + + + GeoRadius command options. + + + + + No Options. + + + + + Redis will return the coordinates of any results. + + + + + Redis will return the distance from center for all results. + + + + + Redis will return the geo hash value as an integer. (This is the score in the sorted set). + + + + + Populates the commonly used values from the entry (the integer hash is not returned as it is not commonly useful). + + + + + The result of a GeoRadius command. + + + + + Indicate the member being represented. + + + + + The matched member. + + + + + The distance of the matched member from the center of the geo radius command. + + + + + The hash value of the matched member as an integer. (The key in the sorted set). + + Note that this is not the same as the hash returned from GeoHash. + + + + The coordinates of the matched member. + + + + + Returns a new GeoRadiusResult. + + The value from the result. + The distance from the result. + The hash of the result. + The GeoPosition of the result. + + + + A Shape that you can use for a GeoSearch. + + + + + The unit to use for creating the shape. + + + + + The number of shape arguments. + + + + + constructs a . + + The geography unit to use. + + + + A circle drawn on a map bounding. + + + + + Creates a Shape. + + The radius of the circle. + The distance unit the circle will use, defaults to Meters. + + + + Gets the s for this shape. + + + + + A box drawn on a map. + + + + + Initializes a GeoBox. + + The height of the box. + The width of the box. + The distance unit the box will use, defaults to Meters. + + + + Describes a hash-field (a name/value pair). + + + + + Initializes a value. + + The name for this hash entry. + The value for this hash entry. + + + + The name of the hash field. + + + + + The value of the hash field. + + + + + The name of the hash field. + + + + + Converts to a key/value pair. + + The to create a from. + + + + Converts from a key/value pair. + + The to get a from. + + + + A "{name}: {value}" string representation of this entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + A latency entry as reported by the built-in LATENCY HISTORY command. + + + + + The time at which this entry was recorded. + + + + + The latency recorded for this event. + + + + + A latency entry as reported by the built-in LATENCY LATEST command. + + + + + The name of this event. + + + + + The time at which this entry was recorded. + + + + + The latency recorded for this event. + + + + + The max latency recorded for all events. + + + + + The result of a LongestCommonSubsequence command with IDX feature. + Returns a list of the positions of each sub-match. + + + + + Whether this match result contains any matches. + + + + + The matched positions of all the sub-matched strings. + + + + + The length of the longest match. + + + + + Returns a new . + + The matched positions in each string. + The length of the match. + + + + Represents a sub-match of the longest match. i.e first indexes the matched substring in each string. + + + + + The first index of the matched substring in the first string. + + + + + The first index of the matched substring in the second string. + + + + + The length of the match. + + + + + Returns a new Match. + + The first index of the matched substring in the first string. + The first index of the matched substring in the second string. + The length of the match. + + + + A contiguous portion of a redis list. + + + + + A null ListPopResult, indicating no results. + + + + + Whether this object is null/empty. + + + + + The key of the list that this set of entries came form. + + + + + The values from the list. + + + + + Describes a value contained in a stream (a name/value pair). + + + + + Initializes a value. + + The name for this entry. + The value for this entry. + + + + The name of the field. + + + + + The value of the field. + + + + + Converts to a key/value pair. + + The to create a from. + + + + Converts from a key/value pair. + + The to get a from. + + + + The "{name}: {value}" string representation. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + Describes a Redis Stream with an associated array of entries. + + + + + The key for the stream. + + + + + An array of entries contained within the stream. + + + + + Describes a value/expiry pair. + + + + + Creates a from a and a . + + + + + The expiry of this record. + + + + + The value of this record. + + + + + Describes a sorted-set element with the corresponding value. + + + + + Initializes a value. + + The to get an entry for. + The redis score for . + + + + The unique element stored in the sorted set. + + + + + The score against the element. + + + + + The score against the element. + + + + + The unique element stored in the sorted set. + + + + + Converts to a key/value pair. + + The to get a for. + + + + Converts from a key/value pair. + + The to get a for. + + + + A "{element}: {score}" string representation of the entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values by score. + + The to compare to. + + + + Compares two values by score. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + A contiguous portion of a redis sorted set. + + + + + A null SortedSetPopResult, indicating no results. + + + + + Whether this object is null/empty. + + + + + The key of the sorted set these entries came form. + + + + + The provided entries of the sorted set. + + + + + Result of the XAUTOCLAIM command with the JUSTID option. + + + + + A null , indicating no results. + + + + + Whether this object is null/empty. + + + + + The stream ID to be used in the next call to StreamAutoClaim. + + + + + Array of IDs claimed by the command. + + + + + Array of message IDs deleted from the stream. + + + + + Result of the XAUTOCLAIM command. + + + + + A null , indicating no results. + + + + + Whether this object is null/empty. + + + + + The stream ID to be used in the next call to StreamAutoClaim. + + + + + An array of for the successfully claimed entries. + + + + + An array of message IDs deleted from the stream. + + + + + Describes a consumer off a Redis Stream. + + + + + The name of the consumer. + + + + + The number of messages that have been delivered by not yet acknowledged by the consumer. + + + + + Describes a consumer within a consumer group, retrieved using the XINFO CONSUMERS command. . + + + + + The name of the consumer. + + + + + The number of pending messages for the consumer. A pending message is one that has been + received by the consumer but not yet acknowledged. + + + + + The idle time, if any, for the consumer. + + + + + Describes an entry contained in a Redis Stream. + + + + + Creates an stream entry. + + + + + A null stream entry. + + + + + The ID assigned to the message. + + + + + The values contained within the message. + + + + + Search for a specific field by name, returning the value. + + + + + Indicates that the Redis Stream Entry is null. + + + + + Describes a consumer group retrieved using the XINFO GROUPS command. . + + + + + The name of the consumer group. + + + + + The number of consumers within the consumer group. + + + + + The total number of pending messages for the consumer group. A pending message is one that has been + received by a consumer but not yet acknowledged. + + + + + The Id of the last message delivered to the group. + + + + + Total number of entries the group had read. + + + + + The number of entries in the range between the group's read entries and the stream's entries. + + + + + Describes stream information retrieved using the XINFO STREAM command. . + + + + + The number of entries in the stream. + + + + + The number of radix tree keys in the stream. + + + + + The number of radix tree nodes in the stream. + + + + + The number of consumers groups in the stream. + + + + + The first entry in the stream. + + + + + The last entry in the stream. + + + + + The last generated id. + + + + + Describes basic information about pending messages for a consumer group. + + + + + The number of pending messages. A pending message is a message that has been consumed but not yet acknowledged. + + + + + The lowest message ID in the set of pending messages. + + + + + The highest message ID in the set of pending messages. + + + + + An array of consumers within the consumer group that have pending messages. + + + + + Describes properties of a pending message. + A pending message is one that has been received by a consumer but has not yet been acknowledged. + + + + + The ID of the pending message. + + + + + The consumer that received the pending message. + + + + + The time that has passed since the message was last delivered to a consumer. + + + + + The number of times the message has been delivered to a consumer. + + + + + Describes a pair consisting of the Stream Key and the from which to begin reading a stream. + + + + + Read from the beginning of a stream. + + + + + Read new messages. + + + + + Initializes a value. + + The key for the stream. + The position from which to begin reading the stream. + + + + The stream key. + + + + + The offset at which to begin reading the stream. + + + + + The backlog policy to use for commands. This policy comes into effect when a connection is unhealthy or unavailable. + The policy can choose to backlog commands and wait to try them (within their timeout) against a connection when it comes up, + or it could choose to fail fast and throw ASAP. Different apps desire different behaviors with backpressure and how to handle + large amounts of load, so this is configurable to optimize the happy path but avoid spiral-of-death queue scenarios for others. + + + + + Backlog behavior matching StackExchange.Redis's 2.x line, failing fast and not attempting to queue + and retry when a connection is available again. + + + + + Default backlog policy which will allow commands to be issues against an endpoint and queue up. + Commands are still subject to their async timeout (which serves as a queue size check). + + + + + Whether to queue commands while disconnected. + True means queue for attempts up until their timeout. + means to fail ASAP and queue nothing. + + + + + Whether to immediately abandon (with an exception) all pending commands when a connection goes unhealthy. + + + + + Note that in results other than success, no guarantees are made about final state; if you care: snapshot. + + + + + Represents a message that is broadcast via publish/subscribe. + + + + + The Channel:Message string representation. + + + + + + + + + + + The channel that the subscription was created from. + + + + + The channel that the message was broadcast to. + + + + + The value that was broadcast. + + + + + Checks if 2 messages are .Equal(). + + + + + Checks if 2 messages are not .Equal(). + + + + + Represents a message queue of ordered pub/sub notifications. + + + To create a ChannelMessageQueue, use + or . + + + + + The Channel that was subscribed for this queue. + + + + + The string representation of this channel. + + + + + An awaitable task the indicates completion of the queue (including drain of data). + + + + + Consume a message from the channel. + + The to use. + + + + Attempt to synchronously consume a message from the channel. + + The read from the Channel. + + + + Attempt to query the backlog length of the queue. + + The (approximate) count of items in the Channel. + + + + Create a message loop that processes messages sequentially. + + The handler to run when receiving a message. + + + + Create a message loop that processes messages sequentially. + + The handler to execute when receiving a message. + + + + Stop receiving messages on this channel. + + The flags to use when unsubscribing. + + + + Stop receiving messages on this channel. + + The flags to use when unsubscribing. + + + + + + + Represents the state of an individual client connection to redis. + + + + + Address (host and port) of the client. + + + + + Total duration of the connection in seconds. + + + + + Current database ID. + + + + + The flags associated with this connection. + + + + + The client flags can be a combination of: + + + A + Connection to be closed ASAP. + + + b + The client is waiting in a blocking operation. + + + c + Connection to be closed after writing entire reply. + + + d + A watched keys has been modified - EXEC will fail. + + + i + The client is waiting for a VM I/O (deprecated). + + + M + The client is a primary. + + + N + No specific flag set. + + + O + The client is a replica in MONITOR mode. + + + P + The client is a Pub/Sub subscriber. + + + r + The client is in readonly mode against a cluster node. + + + S + The client is a normal replica server. + + + u + The client is unblocked. + + + U + The client is unblocked. + + + x + The client is in a MULTI/EXEC context. + + + t + The client enabled keys tracking in order to perform client side caching. + + + R + The client tracking target client is invalid. + + + B + The client enabled broadcast tracking mode. + + + + + + + + The host of the client (typically an IP address). + + + + + Idle time of the connection in seconds. + + + + + Last command played. + + + + + The name allocated to this connection, if any. + + + + + Number of pattern matching subscriptions. + + + + + The port of the client. + + + + + The raw content from redis. + + + + + Number of channel subscriptions. + + + + + Number of commands in a MULTI/EXEC context. + + + + + A unique 64-bit client ID (introduced in Redis 2.8.12). + + + + + Format the object as a string. + + + + + The class of the connection. + + + + + Client RESP protocol version. Added in Redis 7.0. + + + + + Client RESP protocol version. Added in Redis 7.0. + + + + + Client library name. Added in Redis 7.2. + + + + + + Client library version. Added in Redis 7.2. + + + + + + Indicates a range of slots served by a cluster node. + + + + + Create a new SlotRange value. + + The slot ID to start at. + The slot ID to end at. + + + + The start of the range (inclusive). + + + + + The end of the range (inclusive). + + + + + Indicates whether two ranges are not equal. + + The first slot range. + The second slot range. + + + + Indicates whether two ranges are equal. + + The first slot range. + The second slot range. + + + + Try to parse a string as a range. + + The range string to parse, e.g."1-12". + The parsed , if successful. + + + + Compares the current instance with another object of the same type and returns an integer that indicates + whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + The other slot range to compare to. + + + + See . + + The other slot range to compare to. + + + + Indicates whether two ranges are equal. + + The other slot range to compare to. + + + + + + + String representation ("{from}-{to}") of the range. + + + + + Describes the state of the cluster as reported by a single node. + + + + + Gets all nodes contained in the configuration. + + + + + The node that was asked for the configuration. + + + + + Obtain the node relating to a specified endpoint. + + The endpoint to get a cluster node from. + + + + Gets the node that serves the specified slot. + + The slot ID to get a node by. + + + + Gets the node that serves the specified key's slot. + + The key to identify a node by. + + + + Represents the configuration of a single node in a cluster configuration. + + + + + + Gets all child nodes of the current node. + + + + + Gets the endpoint of the current node. + + + + + Gets whether this node is in a failed state. + + + + + Gets whether this node is possibly in a failed state. + Possibly here means the node we're getting status from can't communicate with it, but doesn't mean it's down for sure. + + + + + Gets whether this is the node which responded to the CLUSTER NODES request. + + + + + Gets whether this node is a replica. + + + + + Gets whether this node is a replica. + + + + + Gets whether this node is flagged as noaddr. + + + + + Gets the node's connection status. + + + + + Gets the unique node-id of the current node. + + + + + Gets the parent node of the current node. + + + + + Gets the unique node-id of the parent of the current node. + + + + + The configuration as reported by the server. + + + + + The slots owned by this server. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates + whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + The to compare to. + + + + See . + + The to compare to. + + + + Indicates whether two instances are equivalent. + + The to compare to. + + + + + + + A string summary of this cluster configuration. + + + + + Represents the commands mapped on a particular configuration. + + + + + The default commands specified by redis. + + + + + The commands available to twemproxy. + + + + + + The commands available to envoyproxy. + + + + + + The commands available to SSDB. + + + + + + The commands available to Sentinel. + + + + + + Create a new , customizing some commands. + + The commands to override. + + + + Creates a by specifying which commands are available or unavailable. + + The commands to specify. + Whether the commands are available or excluded. + + + + See . + + + + + Represents the information known about long-running commands. + + + + + The array composing the arguments of the command. + + + + + The amount of time needed for its execution. + + + + + The time at which the logged command was processed. + + + + + A unique progressive identifier for every slow log entry. + + The entry's unique ID can be used in order to avoid processing slow log entries multiple times (for instance you may have a script sending you an email alert for every new slow log entry). The ID is never reset in the course of the Redis server execution, only a server restart will reset it. + + + + Deduces a link to the redis documentation about the specified command. + + + + + Describes a precondition used in a redis transaction. + + + + + Enforces that the given hash-field must have the specified value. + + The key of the hash to check. + The field in the hash to check. + The value that the hash field must match. + + + + Enforces that the given hash-field must exist. + + The key of the hash to check. + The field in the hash to check. + + + + Enforces that the given hash-field must not have the specified value. + + The key of the hash to check. + The field in the hash to check. + The value that the hash field must not match. + + + + Enforces that the given hash-field must not exist. + + The key of the hash to check. + The field in the hash that must not exist. + + + + Enforces that the given key must exist. + + The key that must exist. + + + + Enforces that the given key must not exist. + + The key that must not exist. + + + + Enforces that the given list index must have the specified value. + + The key of the list to check. + The position in the list to check. + The value of the list position that must match. + + + + Enforces that the given list index must exist. + + The key of the list to check. + The position in the list that must exist. + + + + Enforces that the given list index must not have the specified value. + + The key of the list to check. + The position in the list to check. + The value of the list position must not match. + + + + Enforces that the given list index must not exist. + + The key of the list to check. + The position in the list that must not exist. + + + + Enforces that the given key must have the specified value. + + The key to check. + The value that must match. + + + + Enforces that the given key must not have the specified value. + + The key to check. + The value that must not match. + + + + Enforces that the given hash length is a certain value. + + The key of the hash to check. + The length the hash must have. + + + + Enforces that the given hash length is less than a certain value. + + The key of the hash to check. + The length the hash must be less than. + + + + Enforces that the given hash length is greater than a certain value. + + The key of the hash to check. + The length the hash must be greater than. + + + + Enforces that the given string length is a certain value. + + The key of the string to check. + The length the string must be equal to. + + + + Enforces that the given string length is less than a certain value. + + The key of the string to check. + The length the string must be less than. + + + + Enforces that the given string length is greater than a certain value. + + The key of the string to check. + The length the string must be greater than. + + + + Enforces that the given list length is a certain value. + + The key of the list to check. + The length the list must be equal to. + + + + Enforces that the given list length is less than a certain value. + + The key of the list to check. + The length the list must be less than. + + + + Enforces that the given list length is greater than a certain value. + + The key of the list to check. + The length the list must be greater than. + + + + Enforces that the given set cardinality is a certain value. + + The key of the set to check. + The length the set must be equal to. + + + + Enforces that the given set cardinality is less than a certain value. + + The key of the set to check. + The length the set must be less than. + + + + Enforces that the given set cardinality is greater than a certain value. + + The key of the set to check. + The length the set must be greater than. + + + + Enforces that the given set contains a certain member. + + The key of the set to check. + The member the set must contain. + + + + Enforces that the given set does not contain a certain member. + + The key of the set to check. + The member the set must not contain. + + + + Enforces that the given sorted set cardinality is a certain value. + + The key of the sorted set to check. + The length the sorted set must be equal to. + + + + Enforces that the given sorted set contains a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set cardinality is less than a certain value. + + The key of the sorted set to check. + The length the sorted set must be less than. + + + + Enforces that the given sorted set contains less than a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set cardinality is greater than a certain value. + + The key of the sorted set to check. + The length the sorted set must be greater than. + + + + Enforces that the given sorted set contains more than a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set contains a certain member. + + The key of the sorted set to check. + The member the sorted set must contain. + + + + Enforces that the given sorted set does not contain a certain member. + + The key of the sorted set to check. + The member the sorted set must not contain. + + + + Enforces that the given sorted set member must have the specified score. + + The key of the sorted set to check. + The member the sorted set to check. + The score that member must have. + + + + Enforces that the given sorted set member must not have the specified score. + + The key of the sorted set to check. + The member the sorted set to check. + The score that member must not have. + + + + Enforces that the given sorted set must have the given score. + + The key of the sorted set to check. + The score that the sorted set must have. + + + + Enforces that the given sorted set must not have the given score. + + The key of the sorted set to check. + The score that the sorted set must not have. + + + + Enforces that the given sorted set must have the specified count of the given score. + + The key of the sorted set to check. + The score that the sorted set must have. + The number of members which sorted set must have. + + + + Enforces that the given sorted set must not have the specified count of the given score. + + The key of the sorted set to check. + The score that the sorted set must not have. + The number of members which sorted set must not have. + + + + Enforces that the given stream length is a certain value. + + The key of the stream to check. + The length the stream must have. + + + + Enforces that the given stream length is less than a certain value. + + The key of the stream to check. + The length the stream must be less than. + + + + Enforces that the given stream length is greater than a certain value. + + The key of the stream to check. + The length the stream must be greater than. + + + + Indicates the status of a condition as part of a transaction. + + + + + Indicates whether the condition was satisfied. + + + + + The options relevant to a set of redis connections. + + + Some options are not observed by a after initial creation: + + + + + + + + + + + A LocalCertificateSelectionCallback delegate responsible for selecting the certificate used for authentication; note + that this cannot be specified in the configuration-string. + + + + + A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party; note + that this cannot be specified in the configuration-string. + + + + + The default (not explicitly configured) options for this connection, fetched based on our parsed endpoints. + + + + + Allows modification of a between creation and connection. + Passed in is the endpoint we're connecting to, which type of connection it is, and the socket itself. + For example, a specific local IP endpoint could be bound, linger time altered, etc. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException. + + + + + Indicates whether admin operations should be allowed. + + + + + Specifies the time in milliseconds that the system should allow for asynchronous operations (defaults to SyncTimeout). + + + + + Indicates whether the connection should be encrypted. + + + + + Gets or sets whether the library should identify itself by library-name/version when possible. + + + + + Gets or sets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. + Defaults to "SE.Redis". + + If the value is null, empty or whitespace, then the value from the options-provider is used; + to disable the library name feature, use instead. + + + + Automatically encodes and decodes channels. + + + + + A Boolean value that specifies whether the certificate revocation list is checked during authentication. + + + + + A Boolean value that specifies whether to use per-command validation of strict protocol validity. + This sends an additional command after EVERY command which incurs measurable overhead. + + + The regular RESP protocol does not include correlation identifiers between requests and responses; in exceptional + scenarios, protocol desynchronization can occur, which may not be noticed immediately; this option adds additional data + to ensure that this cannot occur, at the cost of some (small) additional bandwidth usage. + + + + + Create a certificate validation check that checks against the supplied issuer even when not known by the machine. + + The file system path to find the certificate at. + + + + Create a certificate validation check that checks against the supplied issuer even when not known by the machine. + + The issuer to trust. + + + + The client name to use for all connections. + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly. + + + + + The command-map associated with this configuration. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Gets the command map for a given server type, since some supersede settings when connecting. + + + + + Channel to use for broadcasting and listening for configuration change notification. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Specifies the time in milliseconds that should be allowed for connection (defaults to 5 seconds unless SyncTimeout is higher). + + + + + Specifies the default database to be used when calling without any parameters. + + + + + The server version to assume. + + + + + The endpoints defined for this configuration. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. + This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection. + + + + + Controls how often the connection heartbeats. A heartbeat includes: + - Evaluating if any messages have timed out. + - Evaluating connection status (checking for failures). + - Sending a server message to keep the connection alive if needed. + + + This defaults to 1000 milliseconds and should not be changed for most use cases. + If for example you want to evaluate whether commands have violated the at a lower fidelity + than 1000 milliseconds, you could lower this value. + Be aware setting this very low incurs additional overhead of evaluating the above more often. + + + + + Use ThreadPriority.AboveNormal for SocketManager reader and writer threads (true by default). + If , will be used. + + + + + Whether exceptions include identifiable details (key names, additional .Data annotations). + + + + + Whether exceptions include performance counter details. + + + CPU usage, etc - note that this can be problematic on some platforms. + + + + + Specifies the time in seconds at which connections should be pinged to ensure validity. + -1 Defaults to 60 Seconds. + + + + + The to get loggers for connection events. + Note: changes here only affect s created after. + + + + + The username to use to authenticate with the server. + + + + + The password to use to authenticate with the server. + + + + + Specifies whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Type of proxy to use (if any); for example . + + + + + The retry policy to be used for connection reconnects. + + + + + The backlog policy to be used for commands when a connection is unhealthy. + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure. + + + + + Specifies the time in milliseconds that the system should allow for responses before concluding that the socket is unhealthy. + + + + + The service name used to resolve a service via sentinel. + + + + + Gets or sets the SocketManager instance to be used with these options. + If this is null a shared cross-multiplexer is used. + + + This is only used when a is created. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + A provider for a given host, for custom TLS connection options. + Note: this overrides *all* other TLS and certificate settings, only for advanced use cases. + + + + + Indicates whether the connection should be encrypted. + + + + + The target-host to use when validating SSL certificate; setting a value here enables SSL mode. + + + + + Configures which SSL/TLS protocols should be allowed. If not set, defaults are chosen by the .NET framework. + + + + + Specifies the time in milliseconds that the system should allow for synchronous operations (defaults to 5 seconds). + + + + + Tie-breaker used to choose between primaries (must match the endpoint exactly). + + + + + The size of the output buffer to use. + + + + + Check configuration every n seconds (every minute by default). + + + + + Parse the configuration from a comma-delimited configuration string. + + The configuration string to parse. + is . + is empty. + + + + Parse the configuration from a comma-delimited configuration string. + + The configuration string to parse. + Whether to ignore unknown elements in . + is . + is empty. + + + + Create a copy of the configuration. + + + + + Apply settings to configure this instance of , e.g. for a specific scenario. + + An action that will update the properties of this instance. + This instance, with any changes made. + + + + Resolve the default port for any endpoints that did not have a port explicitly specified. + + + + + Gets a tie breaker if we both have one set, and should be using one. + + + + + Returns the effective configuration string for this configuration, including Redis credentials. + + + Includes password to allow generation of configuration strings used for connecting multiplexer. + + + + + Returns the effective configuration string for this configuration + with the option to include or exclude the password from the string. + + Whether to include the password. + + + + Allows custom transport implementations, such as http-tunneling via a proxy. + + + + + Specify the redis protocol type. + + + + + Options provider for Azure environments. + + + + + Allow connecting after startup, in the cases where remote cache isn't ready or is overloaded. + + + + + The minimum version of Redis in Azure is 6, so use the widest set of available commands when connecting. + + + + + Lists of domains known to be Azure Redis, so we can light up some helpful functionality + for minimizing downtime during maintenance events and such. + + + + + + + + + + + + + + A defaults providers for . + This providers defaults not explicitly specified and is present to be inherited by environments that want to provide + better defaults for their use case, e.g. in a single wrapper library used many places. + + + Why not just have a default instance? Good question! + Since we null coalesce down to the defaults, there's an inherent pit-of-failure with that approach of . + If you forget anything or if someone creates a provider nulling these out...kaboom. + + + + + The known providers to match against (built into the library) - the default set. + If none of these match, is used. + + + + + The current list of providers to match (potentially modified from defaults via . + + + + + Adds a provider to match endpoints against. The last provider added has the highest priority. + If you want your provider to match everything, implement as return true;. + + The provider to add. + + + + Whether this options provider matches a given endpoint, for automatically selecting a provider based on what's being connected to. + + + + + Gets a provider for the given endpoints, falling back to if nothing more specific is found. + + + + + Gets a provider for a given endpoints, falling back to if nothing more specific is found. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException. + + + + + Indicates whether admin operations should be allowed. + + + + + The backlog policy to be used for commands when a connection is unhealthy. + + + + + A Boolean value that specifies whether the certificate revocation list is checked during authentication. + + + + + A Boolean value that specifies whether to use per-command validation of strict protocol validity. + This sends an additional command after EVERY command which incurs measurable overhead. + + + The regular RESP protocol does not include correlation identifiers between requests and responses; in exceptional + scenarios, protocol desynchronization can occur, which may not be noticed immediately; this option adds additional data + to ensure that this cannot occur, at the cost of some (small) additional bandwidth usage. + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly. + + + + + Specifies the time that should be allowed for connection. + Falls back to Max(5000, SyncTimeout) if null. + + + + + The command-map associated with this configuration. + + + + + Channel to use for broadcasting and listening for configuration change notification. + + + + + The server version to assume. + + + + + Controls how often the connection heartbeats. A heartbeat includes: + - Evaluating if any messages have timed out. + - Evaluating connection status (checking for failures). + - Sending a server message to keep the connection alive if needed. + + Be aware setting this very low incurs additional overhead of evaluating the above more often. + + + + Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. + This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection. + + + + + Whether exceptions include identifiable details (key names, additional .Data annotations). + + + + + Whether exceptions include performance counter details. + + + CPU usage, etc - note that this can be problematic on some platforms. + + + + + Specifies the time interval at which connections should be pinged to ensure validity. + + + + + The to get loggers for connection events. + Note: changes here only affect s created after. + + + + + Type of proxy to use (if any); for example . + + + + + The retry policy to be used for connection reconnects. + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure. + + + + + Specifies the time that the system should allow for synchronous operations. + + + + + Tie-breaker used to choose between primaries (must match the endpoint exactly). + + + + + Check configuration every n interval. + + + + + The username to use to authenticate with the server. + + + + + The password to use to authenticate with the server. + + + + + The default client name for a connection, with the library version appended. + + + + + Gets the default client name for a connection. + + + + + Gets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. + Defaults to "SE.Redis". + + + + + String version of the StackExchange.Redis library, for use in any options. + + + + + Name of the machine we're running on, for use in any options. + + + + + Whether to identify the client by library name/version when possible. + + + + + Tries to get the RoleInstance Id if Microsoft.WindowsAzure.ServiceRuntime is loaded. + In case of any failure, swallows the exception and returns null. + + + Azure, in the default provider? Yes, to maintain existing compatibility/convenience. + Source != destination here. + + + + + The action to perform, if any, immediately after an initial connection completes. + + The multiplexer that just connected. + The logger for the connection, to emit to the connection output log. + + + + Gets the default SSL "enabled or not" based on a set of endpoints. + Note: this setting then applies for *all* endpoints. + + The configured endpoints to determine SSL usage from (e.g. from the port). + Whether to enable SSL for connections (unless explicitly overridden in a direct set). + + + + Gets the SSL Host to check for when connecting to endpoints (customizable in case of internal certificate shenanigans. + + The configured endpoints to determine SSL host from (e.g. from the port). + The common host, if any, detected from the endpoint collection. + + + + Captures redis traffic; intended for debug use. + + + + + Replay the RESP messages for a pair of streams, invoking a callback per operation. + + + + + Replay the RESP messages all the streams in a folder, invoking a callback per operation. + + The directory of captured files to replay. + Operation to perform per replayed message pair. + + + + Validate a RESP stream and return the number of top-level RESP fragments. + + The path of a single file to validate, or a directory of captured files to validate. + + + + Validate a RESP stream and return the number of top-level RESP fragments. + + + + + Create a new instance of a . + + + + + Configures the provided options to perform file-based logging to a directory; + files will be sequential per stream starting from zero, and will blindly overwrite existing files. + + + + + + + + Perform logging on the provided stream. + + + + + + + + + + + Get a typical text representation of a redis command. + + + + + Get a typical text representation of a redis response. + + + + + Allows interception of the transport used to communicate with Redis. + + + + + Gets the underlying socket endpoint to use when connecting to a logical endpoint. + + null should be returned if a socket is not required for this endpoint. + + + + Allows modification of a between creation and connection. + Passed in is the endpoint we're connecting to, which type of connection it is, and the socket itself. + For example, a specific local IP endpoint could be bound, linger time altered, etc. + + + + + Invoked on a connected endpoint before server authentication and other handshakes occur, allowing pre-redis handshakes. By returning a custom , + the entire data flow can be intercepted, providing entire custom transports. + + + + + Create a tunnel via an HTTP proxy server. + + The endpoint to use as an HTTP proxy server. + + + + Illustrates the counters associated with an individual connection. + + + + + The number of operations that have been completed asynchronously. + + + + + The number of operations that have been completed synchronously. + + + + + The type of this connection. + + + + + The number of operations that failed to complete asynchronously. + + + + + Indicates if there are any pending items or failures on this connection. + + + + + Indicates the total number of messages dispatched to a non-preferred endpoint, for example sent + to a primary when the caller stated a preference of replica. + + + + + The number of operations performed on this connection. + + + + + Operations that have been requested, but which have not yet been sent to the server. + + + + + Operations for which the response has been processed, but which are awaiting asynchronous completion. + + + + + Operations that have been sent to the server, but which are awaiting a response. + + + + + The number of sockets used by this logical connection (total, including reconnects). + + + + + The number of subscriptions (with and without patterns) currently held against this connection. + + + + + Indicates the total number of outstanding items against this connection. + + + + + Indicates the total number of writers items against this connection. + + + + + See . + + + + + Contains information about a server connection failure. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + Redis connection type. + Redis connection failure type. + The exception that occurred. + Connection physical name. + + + + Gets the connection-type of the failing connection. + + + + + Gets the failing server-endpoint. + + + + + Gets the exception if available (this can be null). + + + + + The type of failure. + + + + + Returns the physical name of the connection. + + + + + Represents an inter-related group of connections to redis servers. + A reference to this should be held and re-used. + + + + + + No longer used. + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Tracks overall connection multiplexer counts. + + + + + Tracks overall connection multiplexer counts. + + + + + Tracks overall connection multiplexer counts. + + + + + + + + + + + Gets the synchronous timeout associated with the connections. + + + + + Gets the asynchronous timeout associated with the connections. + + + + + Gets the client-name that will be used on all new connections. + + + We null coalesce here instead of in Options so that we don't populate it everywhere (e.g. .ToString()), given it's a default. + + + + + Gets the configuration of the connection. + + + + + Indicates whether any servers are connected. + + + + + Indicates whether any servers are currently trying to connect. + + + + + Get summary statistics associated with all servers in this multiplexer. + + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type contains in the task to wait on. + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + The to log to. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + Action to further modify the parsed configuration options. + The to log to. + + + + Creates a new instance. + + The configuration options to use for this multiplexer. + The to log to. + Note: For Sentinel, do not specify a - this is handled automatically. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + The to log to. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + Action to further modify the parsed configuration options. + The to log to. + + + + Creates a new instance. + + The configuration options to use for this multiplexer. + The to log to. + Note: For Sentinel, do not specify a - this is handled automatically. + + + + Obtain a pub/sub subscriber connection to the specified server. + + The async state object to pass to the created . + + + + Applies common DB number defaults and rules. + + + + + Obtain an interactive connection to a database inside redis. + + The ID to get a database for. + The async state to pass into the resulting . + + + + Compute the hash-slot of a specified key. + + The key to get a hash slot ID for. + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The port for to get a server for. + The async state to pass into the resulting . + + + + Obtain a configuration API for an individual server. + + The "host:port" string to get a server for. + The async state to pass into the resulting . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The port for to get a server for. + + + + Obtain a configuration API for an individual server. + + The endpoint to get a server for. + The async state to pass into the resulting . + + + + Obtain configuration APIs for all servers in this multiplexer. + + + + + Get the hash-slot associated with a given key, if applicable. + This can be useful for grouping operations. + + The to determine the hash slot for. + + + + The number of operations that have been performed on all connections. + + + + + Reconfigure the current connections based on the existing configuration. + + The to log to. + + + + Reconfigure the current connections based on the existing configuration. + + The to log to. + + + + Provides a text overview of the status of all connections. + + + + + Provides a text overview of the status of all connections. + + The to log to. + + + + Triggers a reconfigure of this multiplexer. + This re-assessment of all server endpoints to get the current topology and adjust, the same as if we had first connected. + + + + + Gets all endpoints defined on the multiplexer. + + Whether to get only the endpoints specified explicitly in the config. + + + + Gets the client name for this multiplexer. + + + + + Sends request to all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending). + + + + Sends request to all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher). + + + + Release all resources associated with this object. + + + + + Release all resources associated with this object. + + + + + Close all connections and release all resources associated with this object. + + Whether to allow all in-queue commands to complete first. + + + + Close all connections and release all resources associated with this object. + + Whether to allow all in-queue commands to complete first. + + + + Invoked by the garbage collector. + + + + + For debugging: when not enabled, servers cannot connect. + + + + + For debugging: when not enabled, end-connect is silently ignored (to simulate a long-running connect). + + + + + Raised whenever a physical connection fails. + + + + + Raised whenever an internal error occurs (this is primarily for debugging). + + + + + Raised whenever a physical connection is established. + + + + + Raised when configuration changes are detected. + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast. + This usually means primary/replica changes. + + + + + Raised when server indicates a maintenance event is going to happen. + + + + + Raised when a hash-slot has been relocated. + + + + + Raised when a server replied with an error message. + + + + + Write the configuration of all servers to an output stream. + + The destination stream to write the export to. + The options to use for this export. + + + + Enables or disables a feature flag. + This should only be used under support guidance, and should not be rapidly toggled. + + + + + Returns the state of a feature flag. + This should only be used under support guidance. + + + + + + + + Register a callback to provide an on-demand ambient session provider based on the + calling context; the implementing code is responsible for reliably resolving the same provider + based on ambient context, or returning null to not profile. + + The session provider to register. + + + + Initializes the connection as a Sentinel connection and adds the necessary event handlers to track changes to the managed primaries. + + The to log to, if any. + + + + Create a new instance that connects to a Sentinel server. + + The string configuration to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The string configuration to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a sentinel server, discovers the current primary server + for the specified in the config and returns a managed connection to the current primary server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a sentinel server, discovers the current primary server + for the specified in the config and returns a managed connection to the current primary server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Returns a managed connection to the primary server indicated by the in the config. + + The configuration to be used when connecting to the primary. + The writer to log to, if any. + + + + Switches the SentinelMasterConnection over to a new primary. + + The endpoint responsible for the switch. + The connection that should be switched over to a new primary endpoint. + The writer to log to, if any. + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time). + Set to a negative value to disable this feature. + + + + + Obtains the log of unusual busy patterns. + + + + + Resets the log of unusual busy patterns. + + + + + Gets the subscriber counts for a channel. + + if there's a subscription registered at all. + + + + Gets which server, if any, there's a registered subscription to for this channel. + + + This may be null if there is a subscription, but we don't have a connected server at the moment. + This behavior is fine but IsConnected checks, but is a subtle difference in . + + + + + Handler that executes whenever a message comes in, this doles out messages to any registered handlers. + + + + + Updates all subscriptions re-evaluating their state. + This clears the current server if it's not connected, prepping them to reconnect. + + + + + Ensures all subscriptions are connected to a server, if possible. + + The count of subscriptions attempting to reconnect (same as the count currently not connected). + + + + This is the record of a single subscription to a redis server. + It's the singular channel (which may or may not be a pattern), to one or more handlers. + We subscriber to a redis server once (for all messages) and execute 1-many handlers when a message arrives. + + + + + Whether the we have is connected. + Since we clear on a disconnect, this should stay correct. + + + + + Gets the configured (P)SUBSCRIBE or (P)UNSUBSCRIBE for an action. + + + + + Evaluates state and if we're not currently connected, clears the server reference. + + + + + Provides the ability to iterate over a cursor-based sequence of redis data, synchronously or asynchronously. + + The type of the data in the cursor. + + + + Gets an enumerator for the sequence. + + + + + Gets an enumerator for the sequence. + + + + + Provides the ability to iterate over a cursor-based sequence of redis data, synchronously or asynchronously. + + + + + Gets the current value of the enumerator. + + + + + Release all resources associated with this enumerator. + + + + + Release all resources associated with this enumerator. + + + + + Try to move to the next item in the sequence. + + + + + Try to move to the next item in the sequence. + + + + + Reset the enumerator. + + + + + The cursor position. + + + This may fail on cluster-proxy - I'm OK with this for now. + + + + + A list of endpoints. + + + + + Create a new . + + + + + Create a new . + + The endpoints to add to the collection. + + + + Format an . + + The endpoint to get a string representation for. + + + + Attempt to parse a string into an . + + The endpoint string to parse. + + + + Adds a new endpoint to the list. + + The host:port string to add an endpoint for to the collection. + + + + Adds a new endpoint to the list. + + The host to add. + The port for to add. + + + + Adds a new endpoint to the list. + + The host to add. + The port for to add. + + + + Try adding a new endpoint to the list. + + The endpoint to add. + if the endpoint was added, if not. + + + + See . + + The index to add into the collection at. + The item to insert at . + + + + See . + + The index to replace an endpoint at. + The item to replace the existing endpoint at . + + + + + + + Event information related to redis endpoints. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + + + + The endpoint involved in this event (this can be null). + + + + + Specifies how elements should be aggregated when combining sorted sets. + + + + + The values of the combined elements are added. + + + + + The least value of the combined elements is used. + + + + + The greatest value of the combined elements is used. + + + + + Bitwise operators + + + + + And + + + + + Or + + + + + Xor + + + + + Not + + + + + The client flags can be a combination of: + + + A + Connection to be closed ASAP. + + + b + The client is waiting in a blocking operation. + + + c + Connection to be closed after writing entire reply. + + + d + A watched keys has been modified - EXEC will fail. + + + i + The client is waiting for a VM I/O (deprecated). + + + M + The client is a primary. + + + N + No specific flag set. + + + O + The client is a replica in MONITOR mode. + + + P + The client is a Pub/Sub subscriber. + + + r + The client is in readonly mode against a cluster node. + + + S + The client is a normal replica server. + + + u + The client is unblocked. + + + U + The client is unblocked. + + + x + The client is in a MULTI/EXEC context. + + + t + The client enabled keys tracking in order to perform client side caching. + + + R + The client tracking target client is invalid. + + + B + The client enabled broadcast tracking mode. + + + + + + + + No specific flag set. + + + + + The client is a replica in MONITOR mode. + + + + + The client is a replica in MONITOR mode. + + + + + The client is a normal replica server. + + + + + The client is a normal replica server. + + + + + The client is a primary. + + + + + The client is in a MULTI/EXEC context. + + + + + The client is waiting in a blocking operation. + + + + + A watched keys has been modified - EXEC will fail. + + + + + Connection to be closed after writing entire reply. + + + + + The client is unblocked. + + + + + Connection to be closed ASAP. + + + + + The client is a Pub/Sub subscriber. + + + + + The client is in readonly mode against a cluster node. + + + + + The client is connected via a Unix domain socket. + + + + + The client enabled keys tracking in order to perform client side caching. + + + + + The client tracking target client is invalid. + + + + + The client enabled broadcast tracking mode. + + + + + The class of the connection. + + + + + Regular connections, including MONITOR connections. + + + + + Replication connections. + + + + + Replication connections. + + + + + Subscription connections. + + + + + Behaviour markers associated with a given command. + + + + + Default behaviour. + + + + + From 2.0, this flag is not used. + + + + + The caller is not interested in the result; the caller will immediately receive a default-value + of the expected return type (this value is not indicative of anything at the server). + + + + + This operation should be performed on the primary if it is available, but read operations may + be performed on a replica if no primary is available. This is the default option. + + + + + This operation should only be performed on the primary. + + + + + This operation should be performed on the replica if it is available, but will be performed on + a primary if no replicas are available. Suitable for read operations only. + + + + + This operation should be performed on the replica if it is available, but will be performed on + a primary if no replicas are available. Suitable for read operations only. + + + + + This operation should only be performed on a replica. Suitable for read operations only. + + + + + This operation should only be performed on a replica. Suitable for read operations only. + + + + + Indicates that this operation should not be forwarded to other servers as a result of an ASK or MOVED response. + + + + + Indicates that script-related operations should use EVAL, not SCRIPT LOAD + EVALSHA. + + + + + Track status of a command while communicating with Redis. + + + + + Command status unknown. + + + + + ConnectionMultiplexer has not yet started writing this command to Redis. + + + + + Command has been sent to Redis. + + + + + Command is in the backlog, waiting to be processed and written to Redis. + + + + + The known types of connection failure. + + + + + This event is not a failure. + + + + + No viable connections were available for this operation. + + + + + The socket for this connection failed. + + + + + Either SSL Stream or Redis authentication failed. + + + + + An unexpected response was received from the server. + + + + + An unknown internal error occurred. + + + + + The socket was closed. + + + + + The socket was closed. + + + + + The database is loading and is not available for use. + + + + + It has not been possible to create an initial connection to the redis server(s). + + + + + High-integrity mode was enabled, and a failure was detected. + + + + + The type of a connection. + + + + + Not connection-type related. + + + + + An interactive connection handles request/response commands for accessing data on demand. + + + + + A subscriber connection receives unsolicited messages from the server as pub/sub events occur. + + + + + When performing a range query, by default the start / stop limits are inclusive; + however, both can also be specified separately as exclusive. + + + + + Both start and stop are inclusive. + + + + + Start is exclusive, stop is inclusive. + + + + + Start is inclusive, stop is exclusive. + + + + + Both start and stop are exclusive. + + + + + Specifies the result of operation to set expire time. + + + + + Field deleted because the specified expiration time is due. + + + + + Expiration time/duration updated successfully. + + + + + Expiration not set because of a specified NX | XX | GT | LT condition not met. + + + + + No such field. + + + + + Specifies when to set the expiry for a key. + + + + + Set expiry whether or not there is an existing expiry. + + + + + Set expiry only when the new expiry is greater than current one. + + + + + Set expiry only when the key has an existing expiry. + + + + + Set expiry only when the key has no expiry. + + + + + Set expiry only when the new expiry is less than current one. + + + + + Which settings to export. + + + + + No options. + + + + + The output of INFO. + + + + + The output of CONFIG GET *. + + + + + The output of CLIENT LIST. + + + + + The output of CLUSTER NODES. + + + + + Everything available. + + + + + Units associated with Geo Commands. + + + + + Meters. + + + + + Kilometers. + + + + + Miles. + + + + + Feet. + + + + + Specifies what side of the list to refer to. + + + + + The head of the list. + + + + + The tail of the list. + + + + + Additional options for the MIGRATE command. + + + + + No options specified. + + + + + Do not remove the key from the local instance. + + + + + Replace existing key on the remote instance. + + + + + The direction in which to sequence elements. + + + + + Ordered from low values to high values. + + + + + Ordered from high values to low values. + + + + + Specifies the result of operation to remove the expire time. + + + + + Expiration removed successfully. + + + + + Expiration not removed because of a specified NX | XX | GT | LT condition not met. + + + + + No such field. + + + + + Specifies the proxy that is being used to communicate to redis. + + + + + Direct communication to the redis server(s). + + + + + Communication via twemproxy. + + + + + Communication via envoyproxy. + + + + + Whether a proxy supports databases (e.g. database > 0). + + + + + Whether a proxy supports pub/sub. + + + + + Whether a proxy supports the ConnectionMultiplexer.GetServer. + + + + + Gets whether a given command can be issued only to a primary, or if any server is eligible. + + The to check. + if the command is primary-only, otherwise. + + + + The intrinsic data-types supported by redis. + + + + + + The specified key does not exist. + + + + + Strings are the most basic kind of Redis value. Redis Strings are binary safe, this means that + a Redis string can contain any kind of data, for instance a JPEG image or a serialized Ruby object. + A String value can be at max 512 Megabytes in length. + + + + + + Redis Lists are simply lists of strings, sorted by insertion order. + It is possible to add elements to a Redis List pushing new elements on the head (on the left) or + on the tail (on the right) of the list. + + + + + + Redis Sets are an unordered collection of Strings. It is possible to add, remove, and test for + existence of members in O(1) (constant time regardless of the number of elements contained inside the Set). + Redis Sets have the desirable property of not allowing repeated members. + Adding the same element multiple times will result in a set having a single copy of this element. + Practically speaking this means that adding a member does not require a check if exists then add operation. + + + + + + Redis Sorted Sets are, similarly to Redis Sets, non repeating collections of Strings. + The difference is that every member of a Sorted Set is associated with score, that is used + in order to take the sorted set ordered, from the smallest to the greatest score. + While members are unique, scores may be repeated. + + + + + + Redis Hashes are maps between string fields and string values, so they are the perfect data type + to represent objects (e.g. A User with a number of fields like name, surname, age, and so forth). + + + + + + A Redis Stream is a data structure which models the behavior of an append only log but it has more + advanced features for manipulating the data contained within the stream. Each entry in a + stream contains a unique message ID and a list of name/value pairs containing the entry's data. + + + + + + The data-type was not recognised by the client library. + + + + + Additional operations to perform when making a server a primary. + + + + + No additional operations. + + + + + Set the tie-breaker key on all available primaries, to specify this server. + + + + + Broadcast to the pub-sub channel to listening clients to reconfigure themselves. + + + + + Issue a REPLICAOF to all other known nodes, making this primary of all. + + + + + Issue a REPLICAOF to all other known nodes, making this primary of all. + + + + + All additional operations. + + + + + The underlying result type as defined by Redis. + + + + + No value was received. + + + + + Basic strings typically represent status results such as "OK". + + + + + Error strings represent invalid operation results from the server. + + + + + Integers are returned for count operations and some integer-based increment operations. + + + + + Bulk strings represent typical user content values. + + + + + Array of results (former Multi-bulk). + + + + + Multi-bulk replies represent complex results such as arrays. + + + + + A single null value replacing RESP v2 blob and multi-bulk nulls. + + + + + True or false. + + + + + A floating point number. + + + + + A large number non representable by the type. + + + + + Binary safe error code and message. + + + + + A binary safe string that should be displayed to humans without any escaping or filtering. For instance the output of LATENCY DOCTOR in Redis. + + + + + An unordered collection of key-value pairs. Keys and values can be any other RESP3 type. + + + + + An unordered collection of N other types. + + + + + Like the type, but the client should keep reading the reply ignoring the attribute type, and return it to the client as additional information. + + + + + Out of band data. The format is like the type, but the client should just check the first string element, + stating the type of the out of band data, a call a callback if there is one registered for this specific type of push information. + Push types are not related to replies, since they are information that the server may push at any time in the connection, + so the client should keep reading if it is reading the reply of a command. + + + + + + If an IProfiledCommand is a retransmission of a previous command, this enum + is used to indicate what prompted the retransmission. + + + This can be used to distinguish between transient causes (moving hashslots, joining nodes, etc.) + and incorrect routing. + + + + + + No stated reason. + + + + + Issued to investigate which node owns a key. + + + + + A node has indicated that it does *not* own the given key. + + + + + The type of save operation to perform. + + + + + Instruct Redis to start an Append Only File rewrite process. + The rewrite will create a small optimized version of the current Append Only File. + + + + + + Save the DB in background. The OK code is immediately returned. + Redis forks, the parent continues to serve the clients, the child saves the DB on disk then exits. + A client my be able to check if the operation succeeded using the LASTSAVE command. + + + + + + Save the DB in foreground. + This is almost never a good thing to do, and could cause significant blocking. + Only do this if you know you need to save. + + + + + + Indicates the flavor of a particular redis server. + + + + + Classic redis-server server. + + + + + Monitoring/configuration redis-sentinel server. + + + + + Distributed redis-cluster server. + + + + + Distributed redis installation via twemproxy. + + + + + Redis cluster via envoyproxy. + + + + + Whether a server type can have only a single primary, meaning an election if multiple are found. + + + + + Whether a server type supports . + + + + + Describes an algebraic set operation that can be performed to combine multiple sets. + + + + + Returns the members of the set resulting from the union of all the given sets. + + + + + Returns the members of the set resulting from the intersection of all the given sets. + + + + + Returns the members of the set resulting from the difference between the first set and all the successive sets. + + + + + Defines the persistence behaviour of the server during shutdown. + + + + + The data is persisted if save points are configured. + + + + + The data is NOT persisted even if save points are configured. + + + + + The data is persisted even if save points are NOT configured. + + + + + Enum to manage ordering in sorted sets. + + + + + Bases ordering off of the rank in the sorted set. This means that your start and stop inside the sorted set will be some offset into the set. + + + + + Bases ordering off of the score in the sorted set. This means your start/stop will be some number which is the score for each member in the sorted set. + + + + + Bases ordering off of lexicographical order, this is only appropriate in an instance where all the members of your sorted set are given the same score. + + + + + Indicates when this operation should be performed (only some variations are legal in a given context). + + + + + The operation won't be prevented. + + + + + The operation should only occur when there is an existing value. + + + + + The operation should only occur when the new score is greater than the current score. + + + + + The operation should only occur when the new score is less than the current score. + + + + + The operation should only occur when there is not an existing value. + + + + + Specifies how to compare elements for sorting. + + + + + Elements are interpreted as a double-precision floating point number and sorted numerically. + + + + + Elements are sorted using their alphabetic form + (Redis is UTF-8 aware as long as the !LC_COLLATE environment variable is set at the server). + + + + + Indicates if we index into a string based on bits or bytes. + + + + + Indicates the index is the number of bytes into a string. + + + + + Indicates the index is the number of bits into a string. + + + + + Indicates when this operation should be performed (only some variations are legal in a given context). + + + + + The operation should occur whether or not there is an existing value. + + + + + The operation should only occur when there is an existing value. + + + + + The operation should only occur when there is not an existing value. + + + + + Indicates that a command was illegal and was not sent to the server. + + + + + Creates a new . + + The message for the exception. + + + + Creates a new . + + The message for the exception. + The inner exception. + + + + Indicates the time allotted for a command or operation has expired. + + + + + Creates a new . + + The message for the exception. + The command status, as of when the timeout happened. + + + + status of the command while communicating with Redis. + + + + + Serialization implementation; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates a connection fault when communicating with redis. + + + + + Creates a new . + + The type of connection failure. + The message for the exception. + + + + Creates a new . + + The type of connection failure. + The message for the exception. + The inner exception. + + + + Creates a new . + + The type of connection failure. + The message for the exception. + The inner exception. + The status of the command. + + + + The type of connection failure. + + + + + Status of the command while communicating with Redis. + + + + + Serialization implementation; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates an issue communicating with redis. + + + + + Creates a new . + + The message for the exception. + + + + Creates a new . + + The message for the exception. + The inner exception. + + + + Deserialization constructor; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates an exception raised by a redis server. + + + + + Creates a new . + + The message for the exception. + + + + Represents a retry policy that performs retries, using a randomized exponential back off scheme to determine the interval between retries. + + + + + Initializes a new instance using the specified back off interval with default maxDeltaBackOffMilliseconds of 10 seconds. + + Time in milliseconds for the back-off interval between retries. + + + + Initializes a new instance using the specified back off interval. + + Time in milliseconds for the back-off interval between retries. + Time in milliseconds for the maximum value that the back-off interval can exponentially grow up to. + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state. + Total elapsed time in milliseconds since the last reconnect retry was made. + + + + Utility methods. + + + + + Create a dictionary from an array of HashEntry values. + + The entry to convert to a dictionary. + + + + Create a dictionary from an array of HashEntry values. + + The entry to convert to a dictionary. + + + + Create a dictionary from an array of SortedSetEntry values. + + The set entries to convert to a dictionary. + + + + Create a dictionary from an array of SortedSetEntry values. + + The set entries to convert to a dictionary. + + + + Create a dictionary from an array of key/value pairs. + + The pairs to convert to a dictionary. + + + + Create a dictionary from an array of key/value pairs. + + The pairs to convert to a dictionary. + + + + Create a dictionary from an array of string pairs. + + The pairs to convert to a dictionary. + + + + Create an array of RedisValues from an array of strings. + + The string array to convert to RedisValues. + + + + Create an array of strings from an array of values. + + The values to convert to an array. + + + + Represent a byte-Lease as a read-only Stream. + + The lease upon which to base the stream. + If true, disposing the stream also disposes the lease. + + + + Decode a byte-Lease as a String, optionally specifying the encoding (UTF-8 if omitted). + + The bytes to decode. + The encoding to use. + + + + Decode a byte-Lease as a String, optionally specifying the encoding (UTF-8 if omitted). + + The bytes to decode. + The encoding to use. + + + + + Adapted from IPEndPointParser in Microsoft.AspNetCore + Link: . + + + Copyright (c) .NET Foundation. All rights reserved. + Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + + + If Unix sockets are attempted but not supported. + + + + Contains information about individual hash-slot relocations. + + + + + The hash-slot that was relocated. + + + + + The old endpoint for this hash-slot (if known). + + + + + The new endpoint for this hash-slot (if known). + + + + + This constructor is only for testing purposes. + + The source of the event. + Hash slot. + Old endpoint. + New endpoint. + + + + Represents a block of operations that will be sent to the server together. + This can be useful to reduce packet fragmentation on slow connections - it + can improve the time to get *all* the operations processed, with the trade-off + of a slower time to get the *first* operation processed; this is usually + a good thing. Unless this batch is a transaction, there is no guarantee + that these operations will be processed either contiguously or atomically by the server. + + + + + Execute the batch operation, sending all queued commands to the server. + Note that this operation is neither synchronous nor truly asynchronous - it simply enqueues the buffered messages. + To check on completion, you should check the individual responses. + + + + + Represents the abstract multiplexer API. + + + + + Gets the client-name that will be used on all new connections. + + + + + Gets the configuration of the connection. + + + + + Gets the timeout associated with the connections. + + + + + The number of operations that have been performed on all connections. + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Indicates whether any servers are connected. + + + + + Indicates whether any servers are connecting. + + + + + Should exceptions include identifiable details? (key names, additional annotations). + + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time. + Set to a negative value to disable this feature). + + + + + Register a callback to provide an on-demand ambient session provider based on the calling context. + The implementing code is responsible for reliably resolving the same provider + based on ambient context, or returning null to not profile. + + The profiling session provider. + + + + Get summary statistics associates with this server. + + + + + A server replied with an error message. + + + + + Raised whenever a physical connection fails. + + + + + Raised whenever an internal error occurs (this is primarily for debugging). + + + + + Raised whenever a physical connection is established. + + + + + Raised when configuration changes are detected. + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast. + This usually means primary/replica changes. + + + + + Raised when server indicates a maintenance event is going to happen. + + + + + Gets all endpoints defined on the multiplexer. + + Whether to return only the explicitly configured endpoints. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type in . + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Raised when a hash-slot has been relocated. + + + + + Compute the hash-slot of a specified key. + + The key to get a slot ID for. + + + + Obtain a pub/sub subscriber connection to the specified server. + + The async state to pass to the created . + + + + Obtain an interactive connection to a database inside redis. + + The database ID to get. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The specific port for to get a server for. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The "host:port" string to get a server for. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The specific port for to get a server for. + + + + Obtain a configuration API for an individual server. + + The endpoint to get a server for. + The async state to pass to the created . + + + + Obtain configuration APIs for all servers in this multiplexer. + + + + + Reconfigure the current connections based on the existing configuration. + + The log to write output to. + + + + Reconfigure the current connections based on the existing configuration. + + The log to write output to. + + + + Provides a text overview of the status of all connections. + + + + + Provides a text overview of the status of all connections. + + The log to write output to. + + + + See . + + + + + Close all connections and release all resources associated with this object. + + Whether to allow in-queue commands to complete first. + + + + Close all connections and release all resources associated with this object. + + Whether to allow in-queue commands to complete first. + + + + Obtains the log of unusual busy patterns. + + + + + Resets the log of unusual busy patterns. + + + + + Request all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending). + + + + Request all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher). + + + + Get the hash-slot associated with a given key, if applicable; this can be useful for grouping operations. + + The key to get a the slot for. + + + + Write the configuration of all servers to an output stream. + + The destination stream to write the export to. + The options to use for this export. + + + + Append a usage-specific modifier to the advertised library name; suffixes are de-duplicated + and sorted alphabetically (so adding 'a', 'b' and 'a' will result in suffix '-a-b'). + Connections will be updated as necessary (RESP2 subscription + connections will not show updates until those connections next connect). + + + + + Describes functionality that is common to both standalone redis servers and redis clusters. + + + + + The numeric identifier of this database. + + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + but which may or may not be processed on the server contiguously. + + The async object state to be passed into the created . + The created batch. + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. + + The async object state to be passed into the created . + The created transaction. + + + + Atomically transfer a key from a source Redis instance to a destination Redis instance. + On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance. + + The key to migrate. + The server to migrate the key to. + The database to migrate the key to. + The timeout to use for the transfer. + The options to use for this migration. + The flags to use for this operation. + + + + + Returns the raw DEBUG OBJECT output for a key. + This command is not fully documented and should be avoided unless you have good reason, and then avoided anyway. + + The key to debug. + The flags to use for this migration. + The raw output from DEBUG OBJECT. + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The longitude of geo entry. + The latitude of the geo entry. + The value to set at this entry. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The geo value to store. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified members to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The geo values add to the set. + The flags to use for this operation. + The number of elements that were added to the set, not including all the elements already present into the set. + + + + + Removes the specified member from the geo sorted set stored at key. + Non existing members are ignored. + + The key of the set. + The geo value to remove. + The flags to use for this operation. + if the member existed in the sorted set and was removed, else . + + + + + Return the distance between two members in the geospatial index represented by the sorted set. + + The key of the set. + The first member to check. + The second member to check. + The unit of distance to return (defaults to meters). + The flags to use for this operation. + The command returns the distance as a double (represented as a string) in the specified unit, or if one or both the elements are missing. + + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The key of the set. + The members to get. + The flags to use for this operation. + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The key of the set. + The member to get. + The flags to use for this operation. + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The key of the set. + The members to get. + The flags to use for this operation. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command. + Non existing elements are reported as NULL elements of the array. + + + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The key of the set. + The member to get. + The flags to use for this operation. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command. + Non existing elements are reported as NULL elements of the array. + + + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are + within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + The key of the set. + The member to get a radius of results from. + The radius to check. + The unit of (defaults to meters). + The count of results to get, -1 for unlimited. + The order of the results. + The search options to use. + The flags to use for this operation. + The results found within the radius, if any. + + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are + within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + The key of the set. + The longitude of the point to get a radius of results from. + The latitude of the point to get a radius of results from. + The radius to check. + The unit of (defaults to meters). + The count of results to get, -1 for unlimited. + The order of the results. + The search options to use. + The flags to use for this operation. + The results found within the radius, if any. + + + + + Return the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the provided set . + + The key of the set. + The set member to use as the center of the shape. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + The search options to use. + The flags for this operation. + The results found within the shape, if any. + + + + + Return the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the point provided by the and . + + The key of the set. + The longitude of the center point. + The latitude of the center point. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + The search options to use. + The flags for this operation. + The results found within the shape, if any. + + + + + Stores the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the provided set . + + The key of the set. + The key to store the result at. + The set member to use as the center of the shape. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + If set to true, the resulting set will be a regular sorted-set containing only distances, rather than a geo-encoded sorted-set. + The flags for this operation. + The size of the set stored at . + + + + + Stores the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the point provided by the and . + + The key of the set. + The key to store the result at. + The longitude of the center point. + The latitude of the center point. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + If set to true, the resulting set will be a regular sorted-set containing only distances, rather than a geo-encoded sorted-set. + The flags for this operation. + The size of the set stored at . + + + + + Decrements the number stored at field in the hash stored at key by decrement. + If key does not exist, a new key holding a hash is created. + If field does not exist the value is set to 0 before the operation is performed. + + The key of the hash. + The field in the hash to decrement. + The amount to decrement by. + The flags to use for this operation. + The value at field after the decrement operation. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + + + + + + Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. + If the field does not exist, it is set to 0 before performing the operation. + + The key of the hash. + The field in the hash to decrement. + The amount to decrement by. + The flags to use for this operation. + The value at field after the decrement operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + + + + + Removes the specified fields from the hash stored at key. + Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + The key of the hash. + The field in the hash to delete. + The flags to use for this operation. + if the field was removed. + + + + + Removes the specified fields from the hash stored at key. + Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + The key of the hash. + The fields in the hash to delete. + The flags to use for this operation. + The number of fields that were removed. + + + + + Returns if field is an existing field in the hash stored at key. + + The key of the hash. + The field in the hash to check. + The flags to use for this operation. + if the hash contains field, if the hash does not contain field, or key does not exist. + + + + + Set the remaining time to live in milliseconds for the given set of fields of hash + After the timeout has expired, the field of the hash will automatically be deleted. + + The key of the hash. + The fields in the hash to set expire time. + The timeout to set. + under which condition the expiration will be set using . + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns an array where each item is the result of operation for given fields: + + + Result + Description + + + 2 + Field deleted because the specified expiration time is due. + + + 1 + Expiration time set/updated. + + + 0 + Expiration time is not set/update (a specified ExpireWhen condition is not met). + + + -1 + No such field exists. + + + + + + + Set the time out on a field of the given set of fields of hash. + After the timeout has expired, the field of the hash will automatically be deleted. + + The key of the hash. + The fields in the hash to set expire time. + The exact date to expiry to set. + under which condition the expiration will be set using . + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns an array where each item is the result of operation for given fields: + + + Result + Description + + + 2 + Field deleted because the specified expiration time is due. + + + 1 + Expiration time set/updated. + + + 0 + Expiration time is not set/update (a specified ExpireWhen condition is not met). + + + -1 + No such field exists. + + + + + + + For each specified field, it gets the expiration time as a Unix timestamp in milliseconds (milliseconds since the Unix epoch). + + The key of the hash. + The fields in the hash to get expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + > 0 + Expiration time, as a Unix timestamp in milliseconds. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + For each specified field, it removes the expiration time. + + The key of the hash. + The fields in the hash to remove expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + 1 + Expiration time was removed. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + For each specified field, it gets the remaining time to live in milliseconds. + + The key of the hash. + The fields in the hash to get expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + > 0 + Time to live, in milliseconds. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + Returns the value associated with field in the hash stored at key. + + The key of the hash. + The field in the hash to get. + The flags to use for this operation. + The value associated with field, or when field is not present in the hash or key does not exist. + + + + + Returns the value associated with field in the hash stored at key. + + The key of the hash. + The field in the hash to get. + The flags to use for this operation. + The value associated with field, or when field is not present in the hash or key does not exist. + + + + + Returns the values associated with the specified fields in the hash stored at key. + For every field that does not exist in the hash, a value is returned. + Because non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of values. + + The key of the hash. + The fields in the hash to get. + The flags to use for this operation. + List of values associated with the given fields, in the same order as they are requested. + + + + + Returns all fields and values of the hash stored at key. + + The key of the hash to get all entries from. + The flags to use for this operation. + List of fields and their values stored in the hash, or an empty list when key does not exist. + + + + + Increments the number stored at field in the hash stored at key by increment. + If key does not exist, a new key holding a hash is created. + If field does not exist the value is set to 0 before the operation is performed. + + The key of the hash. + The field in the hash to increment. + The amount to increment by. + The flags to use for this operation. + The value at field after the increment operation. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + + + + + + Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. + If the field does not exist, it is set to 0 before performing the operation. + + The key of the hash. + The field in the hash to increment. + The amount to increment by. + The flags to use for this operation. + The value at field after the increment operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + + + + + Returns all field names in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + List of fields in the hash, or an empty list when key does not exist. + + + + + Returns the number of fields contained in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + The number of fields in the hash, or 0 when key does not exist. + + + + + Gets a random field from the hash at . + + The key of the hash. + The flags to use for this operation. + A random hash field name or if the hash does not exist. + + + + + Gets field names from the hash at . + + The key of the hash. + The number of fields to return. + The flags to use for this operation. + An array of hash field names of size of at most , or if the hash does not exist. + + + + + Gets field names and values from the hash at . + + The key of the hash. + The number of fields to return. + The flags to use for this operation. + An array of hash entries of size of at most , or if the hash does not exist. + + + + + The HSCAN command is used to incrementally iterate over a hash. + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + The HSCAN command is used to incrementally iterate over a hash. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + The HSCAN command is used to incrementally iterate over a hash and return only field names. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + Sets the specified fields to their respective values in the hash stored at key. + This command overwrites any specified fields that already exist in the hash, leaving other unspecified fields untouched. + If key does not exist, a new key holding a hash is created. + + The key of the hash. + The entries to set in the hash. + The flags to use for this operation. + + + + + Sets field in the hash stored at key to value. + If key does not exist, a new key holding a hash is created. + If field already exists in the hash, it is overwritten. + + The key of the hash. + The field to set in the hash. + The value to set. + Which conditions under which to set the field value (defaults to always). + The flags to use for this operation. + if field is a new field in the hash and value was set, if field already exists in the hash and the value was updated. + + See + , + . + + + + + Returns the string length of the value associated with field in the hash stored at key. + + The key of the hash. + The field containing the string. + The flags to use for this operation. + The length of the string at field, or 0 when key does not exist. + + + + + Returns all values in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + List of values in the hash, or an empty list when key does not exist. + + + + + Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument. + + The key of the hyperloglog. + The value to add. + The flags to use for this operation. + if at least 1 HyperLogLog internal register was altered, otherwise. + + + + + Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument. + + The key of the hyperloglog. + The values to add. + The flags to use for this operation. + if at least 1 HyperLogLog internal register was altered, otherwise. + + + + + Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist. + + The key of the hyperloglog. + The flags to use for this operation. + The approximated number of unique elements observed via HyperLogLogAdd. + + + + + Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist. + + The keys of the hyperloglogs. + The flags to use for this operation. + The approximated number of unique elements observed via HyperLogLogAdd. + + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + The key of the merged hyperloglog. + The key of the first hyperloglog to merge. + The key of the second hyperloglog to merge. + The flags to use for this operation. + + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + The key of the merged hyperloglog. + The keys of the hyperloglogs to merge. + The flags to use for this operation. + + + + + Indicate exactly which redis server we are talking to. + + The key to check. + The flags to use for this operation. + The endpoint serving the key. + + + + Copies the value from the to the specified . + + The key of the source value to copy. + The destination key to copy the source to. + The database ID to store in. If default (-1), current database is used. + Whether to overwrite an existing values at . If and the key exists, the copy will not succeed. + The flags to use for this operation. + if key was copied. if key was not copied. + + + + + Removes the specified key. A key is ignored if it does not exist. + If UNLINK is available (Redis 4.0+), it will be used. + + The key to delete. + The flags to use for this operation. + if the key was removed. + + See + , + . + + + + + Removes the specified keys. A key is ignored if it does not exist. + If UNLINK is available (Redis 4.0+), it will be used. + + The keys to delete. + The flags to use for this operation. + The number of keys that were removed. + + See + , + . + + + + + Serialize the value stored at key in a Redis-specific format and return it to the user. + The returned value can be synthesized back into a Redis key using the RESTORE command. + + The key to dump. + The flags to use for this operation. + The serialized value. + + + + + Returns the internal encoding for the Redis object stored at . + + The key to dump. + The flags to use for this operation. + The Redis encoding for the value or is the key does not exist. + + + + + Returns if key exists. + + The key to check. + The flags to use for this operation. + if the key exists. if the key does not exist. + + + + + Indicates how many of the supplied keys exists. + + The keys to check. + The flags to use for this operation. + The number of keys that existed. + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. + So, if key already has an associated timeout, it will do nothing and return 0. + + + Since Redis 2.1.3, you can update the timeout of a key. + It is also possible to remove the timeout using the PERSIST command. + See the page on key expiry for more information. + + + See + , + , + . + + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + In Redis 7+, we can choose under which condition the expiration will be set using . + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + See + , + . + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The exact date to expiry to set. + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. + So, if key already has an associated timeout, it will do nothing and return 0. + + + Since Redis 2.1.3, you can update the timeout of a key. + It is also possible to remove the timeout using the PERSIST command. + See the page on key expiry for more information. + + + See + , + , + . + + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + In Redis 7+, we choose under which condition the expiration will be set using . + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + See + , + . + + + + + Returns the absolute time at which the given will expire, if it exists and has an expiration. + + The key to get the expiration for. + The flags to use for this operation. + The time at which the given key will expire, or if the key does not exist or has no associated expiration time. + + See + , + . + + + + + Returns the logarithmic access frequency counter of the object stored at . + The command is only available when the maxmemory-policy configuration directive is set to + one of the LFU policies. + + The key to get a frequency count for. + The flags to use for this operation. + The number of logarithmic access frequency counter, ( if the key does not exist). + + + + + Returns the time since the object stored at the specified key is idle (not requested by read or write operations). + + The key to get the time of. + The flags to use for this operation. + The time since the object stored at the specified key is idle. + + + + + Move key from the currently selected database (see SELECT) to the specified destination database. + When key already exists in the destination database, or it does not exist in the source database, it does nothing. + It is possible to use MOVE as a locking primitive because of this. + + The key to move. + The database to move the key to. + The flags to use for this operation. + if key was moved. if key was not moved. + + + + + Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated). + + The key to persist. + The flags to use for this operation. + if the timeout was removed. if key does not exist or does not have an associated timeout. + + + + + Return a random key from the currently selected database. + + The flags to use for this operation. + The random key, or when the database is empty. + + + + + Returns the reference count of the object stored at . + + The key to get a reference count for. + The flags to use for this operation. + The number of references ( if the key does not exist). + + + + + Renames to . + It returns an error when the source and destination names are the same, or when key does not exist. + + The key to rename. + The key to rename to. + What conditions to rename under (defaults to always). + The flags to use for this operation. + if the key was renamed, otherwise. + + See + , + . + + + + + Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP). + If is 0 the key is created without any expire, otherwise the specified expire time (in milliseconds) is set. + + The key to restore. + The value of the key. + The expiry to set. + The flags to use for this operation. + + + + + Returns the remaining time to live of a key that has a timeout. + This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. + + The key to check. + The flags to use for this operation. + TTL, or when key does not exist or does not have a timeout. + + + + + Alters the last access time of a key. + + The key to touch. + The flags to use for this operation. + if the key was touched, otherwise. + + + + + Alters the last access time of the specified . A key is ignored if it does not exist. + + The keys to touch. + The flags to use for this operation. + The number of keys that were touched. + + + + + Returns the string representation of the type of the value stored at key. + The different types that can be returned are: string, list, set, zset and hash. + + The key to get the type of. + The flags to use for this operation. + Type of key, or none when key does not exist. + + + + + Returns the element at index in the list stored at key. + The index is zero-based, so 0 means the first element, 1 the second element and so on. + Negative indices can be used to designate elements starting at the tail of the list. + Here, -1 means the last element, -2 means the penultimate and so forth. + + The key of the list. + The index position to get the value at. + The flags to use for this operation. + The requested element, or when index is out of range. + + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + The key of the list. + The value to insert after. + The value to insert. + The flags to use for this operation. + The length of the list after the insert operation, or -1 when the value pivot was not found. + + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + The key of the list. + The value to insert before. + The value to insert. + The flags to use for this operation. + The length of the list after the insert operation, or -1 when the value pivot was not found. + + + + + Removes and returns the first element of the list stored at key. + + The key of the list. + The flags to use for this operation. + The value of the first element, or when key does not exist. + + + + + Removes and returns count elements from the head of the list stored at key. + If the list contains less than count elements, removes and returns the number of elements in the list. + + The key of the list. + The number of elements to remove. + The flags to use for this operation. + Array of values that were popped, or if the key doesn't exist. + + + + + Removes and returns at most elements from the first non-empty list in . + Starts on the left side of the list. + + The keys to look through for elements to pop. + The maximum number of elements to pop from the list. + The flags to use for this operation. + A span of contiguous elements from the list, or if no non-empty lists are found. + + + + + Scans through the list stored at looking for , returning the 0-based + index of the first matching element. + + The key of the list. + The element to search for. + The rank of the first element to return, within the sub-list of matching indexes in the case of multiple matches. + The maximum number of elements to scan through before stopping, defaults to 0 (a full scan of the list.) + The flags to use for this operation. + The 0-based index of the first matching element, or -1 if not found. + + + + + Scans through the list stored at looking for instances of , returning the 0-based + indexes of any matching elements. + + The key of the list. + The element to search for. + The number of matches to find. A count of 0 will return the indexes of all occurrences of the element. + The rank of the first element to return, within the sub-list of matching indexes in the case of multiple matches. + The maximum number of elements to scan through before stopping, defaults to 0 (a full scan of the list.) + The flags to use for this operation. + An array of at most of indexes of matching elements. If none are found, and empty array is returned. + + + + + Insert the specified value at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + + The key of the list. + The value to add to the head of the list. + Which conditions to add to the list under (defaults to always). + The flags to use for this operation. + The length of the list after the push operations. + + See + , + . + + + + + Insert the specified value at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + + The key of the list. + The value to add to the head of the list. + Which conditions to add to the list under (defaults to always). + The flags to use for this operation. + The length of the list after the push operations. + + See + , + . + + + + + Insert all the specified values at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. + So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element. + + The key of the list. + The values to add to the head of the list. + The flags to use for this operation. + The length of the list after the push operations. + + + + + Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. + + The key of the list. + The flags to use for this operation. + The length of the list at key. + + + + + Returns and removes the first or last element of the list stored at , and pushes the element + as the first or last element of the list stored at . + + The key of the list to remove from. + The key of the list to move to. + What side of the list to remove from. + What side of the list to move to. + The flags to use for this operation. + The element being popped and pushed or if there is no element to move. + + + + + Returns the specified elements of the list stored at key. + The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. + These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on. + Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. + + The key of the list. + The start index of the list. + The stop index of the list. + The flags to use for this operation. + List of elements in the specified range. + + + + + Removes the first count occurrences of elements equal to value from the list stored at key. + The count argument influences the operation in the following ways: + + count > 0: Remove elements equal to value moving from head to tail. + count < 0: Remove elements equal to value moving from tail to head. + count = 0: Remove all elements equal to value. + + + The key of the list. + The value to remove from the list. + The count behavior (see method summary). + The flags to use for this operation. + The number of removed elements. + + + + + Removes and returns the last element of the list stored at key. + + The key of the list. + The flags to use for this operation. + The element being popped, or when key does not exist.. + + + + + Removes and returns count elements from the end the list stored at key. + If the list contains less than count elements, removes and returns the number of elements in the list. + + The key of the list. + The number of elements to pop. + The flags to use for this operation. + Array of values that were popped, or if the key doesn't exist. + + + + + Removes and returns at most elements from the first non-empty list in . + Starts on the right side of the list. + + The keys to look through for elements to pop. + The maximum number of elements to pop from the list. + The flags to use for this operation. + A span of contiguous elements from the list, or if no non-empty lists are found. + + + + + Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination. + + The key of the source list. + The key of the destination list. + The flags to use for this operation. + The element being popped and pushed. + + + + + Insert the specified value at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + + The key of the list. + The value to add to the tail of the list. + Which conditions to add to the list under. + The flags to use for this operation. + The length of the list after the push operation. + + See + , + . + + + + + Insert the specified value at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + + The key of the list. + The values to add to the tail of the list. + Which conditions to add to the list under. + The flags to use for this operation. + The length of the list after the push operation. + + See + , + . + + + + + Insert all the specified values at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. + So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element. + + The key of the list. + The values to add to the tail of the list. + The flags to use for this operation. + The length of the list after the push operation. + + + + + Sets the list element at index to value. + For more information on the index argument, see . + An error is returned for out of range indexes. + + The key of the list. + The index to set the value at. + The values to add to the list. + The flags to use for this operation. + + + + + Trim an existing list so that it will contain only the specified range of elements specified. + Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on. + For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain. + start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on. + + The key of the list. + The start index of the list to trim to. + The end index of the list to trim to. + The flags to use for this operation. + + + + + Extends a lock, if the token value is correct. + + The key of the lock. + The value to set at the key. + The expiration of the lock key. + The flags to use for this operation. + if the lock was successfully extended. + + + + Queries the token held against a lock. + + The key of the lock. + The flags to use for this operation. + The current value of the lock, if any. + + + + Releases a lock, if the token value is correct. + + The key of the lock. + The value at the key that must match. + The flags to use for this operation. + if the lock was successfully released, otherwise. + + + + Takes a lock (specifying a token value) if it is not already taken. + + The key of the lock. + The value to set at the key. + The expiration of the lock key. + The flags to use for this operation. + if the lock was successfully taken, otherwise. + + + + Posts a message to the given channel. + + The channel to publish to. + The message to send. + The flags to use for this operation. + + The number of clients that received the message *on the destination server*, + note that this doesn't mean much in a cluster as clients can get the message through other nodes. + + + + + + Execute an arbitrary command against the server; this is primarily intended for executing modules, + but may also be used to provide access to new features that lack a direct API. + + The command to run. + The arguments to pass for the command. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + Execute an arbitrary command against the server; this is primarily intended for executing modules, + but may also be used to provide access to new features that lack a direct API. + + The command to run. + The arguments to pass for the command. + The flags to use for this operation. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + Execute a Lua script against the server. + + The script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + See + , + . + + + + + Execute a Lua script against the server using just the SHA1 hash. + + The hash of the script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + Be aware that this method is not resilient to Redis server restarts. Use instead. + + + + + + Execute a lua script against the server, using previously prepared script. + Named parameters, if any, are provided by the `parameters` object. + + The script to execute. + The parameters to pass to the script. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Execute a lua script against the server, using previously prepared and loaded script. + This method sends only the SHA1 hash of the lua script to Redis. + Named parameters, if any, are provided by the `parameters` object. + + The already-loaded script to execute. + The parameters to pass to the script. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Read-only variant of the EVAL command that cannot execute commands that modify data, Execute a Lua script against the server. + + The script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + See + , + . + + + + + Read-only variant of the EVALSHA command that cannot execute commands that modify data, Execute a Lua script against the server using just the SHA1 hash. + + The hash of the script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The value to add to the set. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified members to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The values to add to the set. + The flags to use for this operation. + The number of elements that were added to the set, not including all the elements already present into the set. + + + + + Returns the members of the set resulting from the specified operation against the given sets. + + The operation to perform. + The key of the first set. + The key of the second set. + The flags to use for this operation. + List with members of the resulting set. + + See + , + , + . + + + + + Returns the members of the set resulting from the specified operation against the given sets. + + The operation to perform. + The keys of the sets to operate on. + The flags to use for this operation. + List with members of the resulting set. + + See + , + , + . + + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. + If destination already exists, it is overwritten. + + The operation to perform. + The key of the destination set. + The key of the first set. + The key of the second set. + The flags to use for this operation. + The number of elements in the resulting set. + + See + , + , + . + + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. + If destination already exists, it is overwritten. + + The operation to perform. + The key of the destination set. + The keys of the sets to operate on. + The flags to use for this operation. + The number of elements in the resulting set. + + See + , + , + . + + + + + Returns whether is a member of the set stored at . + + The key of the set. + The value to check for. + The flags to use for this operation. + + if the element is a member of the set. + if the element is not a member of the set, or if key does not exist. + + + + + + Returns whether each of is a member of the set stored at . + + The key of the set. + The members to check for. + The flags to use for this operation. + + if the element is a member of the set. + if the element is not a member of the set, or if key does not exist. + + + + + + + Returns the set cardinality (number of elements) of the intersection between the sets stored at the given . + + + If the intersection cardinality reaches partway through the computation, + the algorithm will exit and yield as the cardinality. + + + The keys of the sets. + The number of elements to check (defaults to 0 and means unlimited). + The flags to use for this operation. + The cardinality (number of elements) of the set, or 0 if key does not exist. + + + + + Returns the set cardinality (number of elements) of the set stored at key. + + The key of the set. + The flags to use for this operation. + The cardinality (number of elements) of the set, or 0 if key does not exist. + + + + + Returns all the members of the set value stored at key. + + The key of the set. + The flags to use for this operation. + All elements of the set. + + + + + Move member from the set at source to the set at destination. + This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients. + When the specified element already exists in the destination set, it is only removed from the source set. + + The key of the source set. + The key of the destination set. + The value to move. + The flags to use for this operation. + + if the element is moved. + if the element is not a member of source and no operation was performed. + + + + + + Removes and returns a random element from the set value stored at key. + + The key of the set. + The flags to use for this operation. + The removed element, or when key does not exist. + + + + + Removes and returns the specified number of random elements from the set value stored at key. + + The key of the set. + The number of elements to return. + The flags to use for this operation. + An array of elements, or an empty array when key does not exist. + + + + + Return a random element from the set value stored at . + + The key of the set. + The flags to use for this operation. + The randomly selected element, or when does not exist. + + + + + Return an array of count distinct elements if count is positive. + If called with a negative count the behavior changes and the command is allowed to return the same element multiple times. + In this case the number of returned elements is the absolute value of the specified count. + + The key of the set. + The count of members to get. + The flags to use for this operation. + An array of elements, or an empty array when does not exist. + + + + + Remove the specified member from the set stored at key. + Specified members that are not a member of this set are ignored. + + The key of the set. + The value to remove. + The flags to use for this operation. + if the specified member was already present in the set, otherwise. + + + + + Remove the specified members from the set stored at key. + Specified members that are not a member of this set are ignored. + + The key of the set. + The values to remove. + The flags to use for this operation. + The number of members that were removed from the set, not including non existing members. + + + + + The SSCAN command is used to incrementally iterate over a set. + + The key of the set. + The pattern to match. + The page size to iterate by. + The flags to use for this operation. + Yields all matching elements of the set. + + + + + The SSCAN command is used to incrementally iterate over set. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the set. + The pattern to match. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all matching elements of the set. + + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default). + By default, the elements themselves are compared, but the values can also be used to perform external key-lookups using the by parameter. + By default, the elements themselves are returned, but external key-lookups (one or many) can be performed instead by specifying + the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. + When used in hashes, by and get can be used to specify fields using -> notation (again, refer to redis documentation). + Uses SORT_RO when possible. + + The key of the list, set, or sorted set. + How many entries to skip on the return. + How many entries to take on the return. + The ascending or descending order (defaults to ascending). + The sorting method (defaults to numeric). + The key pattern to sort by, if any. e.g. ExternalKey_* would sort by ExternalKey_{listvalue} as a lookup. + The key pattern to sort by, if any e.g. ExternalKey_* would return the value of ExternalKey_{listvalue} for each entry. + The flags to use for this operation. + The sorted elements, or the external values if get is specified. + + See + , + . + + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default). + By default, the elements themselves are compared, but the values can also be used to perform external key-lookups using the by parameter. + By default, the elements themselves are returned, but external key-lookups (one or many) can be performed instead by specifying + the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. + When used in hashes, by and get can be used to specify fields using -> notation (again, refer to redis documentation). + + The destination key to store results in. + The key of the list, set, or sorted set. + How many entries to skip on the return. + How many entries to take on the return. + The ascending or descending order (defaults to ascending). + The sorting method (defaults to numeric). + The key pattern to sort by, if any. e.g. ExternalKey_* would sort by ExternalKey_{listvalue} as a lookup. + The key pattern to sort by, if any e.g. ExternalKey_* would return the value of ExternalKey_{listvalue} for each entry. + The flags to use for this operation. + The number of elements stored in the new list. + + + + + + + + + + + Adds the specified member with the specified score to the sorted set stored at key. + If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The key of the sorted set. + The member to add to the sorted set. + The score for the member to add to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + if the value was added. if it already existed (the score is still updated). + + + + + + + + + + + Adds all the specified members with the specified scores to the sorted set stored at key. + If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The key of the sorted set. + The members and values to add to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + + + + + Computes a set operation for multiple sorted sets (optionally using per-set ), + optionally performing a specific aggregation (defaults to ). + cannot be used with weights or aggregation. + + The operation to perform. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to ). + The flags to use for this operation. + The resulting sorted set. + + See + , + , + . + + + + + Computes a set operation for multiple sorted sets (optionally using per-set ), + optionally performing a specific aggregation (defaults to ). + cannot be used with weights or aggregation. + + The operation to perform. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to ). + The flags to use for this operation. + The resulting sorted set with scores. + + See + , + , + . + + + + + Computes a set operation over two sorted sets, and stores the result in destination, optionally performing + a specific aggregation (defaults to sum). + cannot be used with aggregation. + + The operation to perform. + The key to store the results in. + The key of the first sorted set. + The key of the second sorted set. + The aggregation method (defaults to sum). + The flags to use for this operation. + The number of elements in the resulting sorted set at destination. + + See + , + , + . + + + + + Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing + a specific aggregation (defaults to sum). + cannot be used with aggregation. + + The operation to perform. + The key to store the results in. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to sum). + The flags to use for this operation. + The number of elements in the resulting sorted set at destination. + + See + , + , + . + + + + + Decrements the score of member in the sorted set stored at key by decrement. + If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0). + + The key of the sorted set. + The member to decrement. + The amount to decrement by. + The flags to use for this operation. + The new score of member. + + + + + Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0). + + The key of the sorted set. + The member to increment. + The amount to increment by. + The flags to use for this operation. + The new score of member. + + + + + Returns the cardinality of the intersection of the sorted sets at . + + The keys of the sorted sets. + If the intersection cardinality reaches partway through the computation, the algorithm will exit and yield as the cardinality (defaults to 0 meaning unlimited). + The flags to use for this operation. + The number of elements in the resulting intersection. + + + + + Returns the sorted set cardinality (number of elements) of the sorted set stored at key. + + The key of the sorted set. + The min score to filter by (defaults to negative infinity). + The max score to filter by (defaults to positive infinity). + Whether to exclude and from the range check (defaults to both inclusive). + The flags to use for this operation. + The cardinality (number of elements) of the sorted set, or 0 if key does not exist. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns the number of elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Whether to exclude and from the range check (defaults to both inclusive). + The flags to use for this operation. + The number of elements in the specified score range. + + + + + Returns a random element from the sorted set value stored at . + + The key of the sorted set. + The flags to use for this operation. + The randomly selected element, or when does not exist. + + + + + Returns an array of random elements from the sorted set value stored at . + + The key of the sorted set. + + + If the provided count argument is positive, returns an array of distinct elements. + The array's length is either or the sorted set's cardinality (ZCARD), whichever is lower. + + + If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. + In this case, the number of returned elements is the absolute value of the specified count. + + + The flags to use for this operation. + The randomly selected elements, or an empty array when does not exist. + + + + + Returns an array of random elements from the sorted set value stored at . + + The key of the sorted set. + + + If the provided count argument is positive, returns an array of distinct elements. + The array's length is either or the sorted set's cardinality (ZCARD), whichever is lower. + + + If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. + In this case, the number of returned elements is the absolute value of the specified count. + + + The flags to use for this operation. + The randomly selected elements with scores, or an empty array when does not exist. + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. + They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + The key of the sorted set. + The start index to get. + The stop index to get. + The order to sort by (defaults to ascending). + The flags to use for this operation. + List of elements in the specified range. + + See + , + . + + + + + Takes the specified range of elements in the sorted set of the + and stores them in a new sorted set at the . + + The sorted set to take the range from. + Where the resulting set will be stored. + The starting point in the sorted set. If is , this should be a string. + The stopping point in the range of the sorted set. If is , this should be a string. + The ordering criteria to use for the range. Choices are , , and (defaults to ). + Whether to exclude and from the range check (defaults to both inclusive). + + The direction to consider the and in. + If , the must be smaller than the . + If , must be smaller than . + + The number of elements into the sorted set to skip. Note: this iterates after sorting so incurs O(n) cost for large values. + The maximum number of elements to pull into the new () set. + The flags to use for this operation. + The cardinality of (number of elements in) the newly created sorted set. + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. + They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + The key of the sorted set. + The start index to get. + The stop index to get. + The order to sort by (defaults to ascending). + The flags to use for this operation. + List of elements in the specified range. + + See + , + . + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. + Similar to other range methods the values are inclusive. + + The key of the sorted set. + The minimum score to filter by. + The maximum score to filter by. + Which of and to exclude (defaults to both inclusive). + The order to sort by (defaults to ascending). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. + Similar to other range methods the values are inclusive. + + The key of the sorted set. + The minimum score to filter by. + The maximum score to filter by. + Which of and to exclude (defaults to both inclusive). + The order to sort by (defaults to ascending). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns all the elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Which of and to exclude (defaults to both inclusive). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns all the elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Which of and to exclude (defaults to both inclusive). + Whether to order the data ascending or descending. + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. + The rank (or index) is 0-based, which means that the member with the lowest score has rank 0. + + The key of the sorted set. + The member to get the rank of. + The order to sort by (defaults to ascending). + The flags to use for this operation. + If member exists in the sorted set, the rank of member. If member does not exist in the sorted set or key does not exist, . + + See + , + . + + + + + Removes the specified member from the sorted set stored at key. Non existing members are ignored. + + The key of the sorted set. + The member to remove. + The flags to use for this operation. + if the member existed in the sorted set and was removed. otherwise. + + + + + Removes the specified members from the sorted set stored at key. Non existing members are ignored. + + The key of the sorted set. + The members to remove. + The flags to use for this operation. + The number of members removed from the sorted set, not including non existing members. + + + + + Removes all elements in the sorted set stored at key with rank between start and stop. + Both start and stop are 0 -based indexes with 0 being the element with the lowest score. + These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. + For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth. + + The key of the sorted set. + The minimum rank to remove. + The maximum rank to remove. + The flags to use for this operation. + The number of elements removed. + + + + + Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default). + + The key of the sorted set. + The minimum score to remove. + The maximum score to remove. + Which of and to exclude (defaults to both inclusive). + The flags to use for this operation. + The number of elements removed. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max. + + The key of the sorted set. + The minimum value to remove. + The maximum value to remove. + Which of and to exclude (defaults to both inclusive). + The flags to use for this operation. + The number of elements removed. + + + + + The ZSCAN command is used to incrementally iterate over a sorted set. + + The key of the sorted set. + The pattern to match. + The page size to iterate by. + The flags to use for this operation. + Yields all matching elements of the sorted set. + + + + + The ZSCAN command is used to incrementally iterate over a sorted set + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + The key of the sorted set. + The pattern to match. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all matching elements of the sorted set. + + + + + Returns the score of member in the sorted set at key. + If member does not exist in the sorted set, or key does not exist, is returned. + + The key of the sorted set. + The member to get a score for. + The flags to use for this operation. + The score of the member. + + + + + Returns the scores of members in the sorted set at . + If a member does not exist in the sorted set, or key does not exist, is returned. + + The key of the sorted set. + The members to get a score for. + The flags to use for this operation. + + The scores of the members in the same order as the array. + If a member does not exist in the set, is returned. + + + + + + Removes and returns the first element from the sorted set stored at key, by default with the scores ordered from low to high. + + The key of the sorted set. + The order to sort by (defaults to ascending). + The flags to use for this operation. + The removed element, or when key does not exist. + + See + , + . + + + + + Removes and returns the specified number of first elements from the sorted set stored at key, by default with the scores ordered from low to high. + + The key of the sorted set. + The number of elements to return. + The order to sort by (defaults to ascending). + The flags to use for this operation. + An array of elements, or an empty array when key does not exist. + + See + , + . + + + + + Removes and returns up to entries from the first non-empty sorted set in . + Returns if none of the sets exist or contain any elements. + + The keys to check. + The maximum number of records to pop out of the sorted set. + The order to sort by when popping items out of the set. + The flags to use for the operation. + A contiguous collection of sorted set entries with the key they were popped from, or if no non-empty sorted sets are found. + + + + + Same as but return the number of the elements changed. + + The key of the sorted set. + The member to add/update to the sorted set. + The score for the member to add/update to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements changed. + + + + + Same as but return the number of the elements changed. + + The key of the sorted set. + The members and values to add/update to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements changed. + + + + + Allow the consumer to mark a pending message as correctly processed. Returns the number of messages acknowledged. + + The key of the stream. + The name of the consumer group that received the message. + The ID of the message to acknowledge. + The flags to use for this operation. + The number of messages acknowledged. + + + + + Allow the consumer to mark a pending message as correctly processed. Returns the number of messages acknowledged. + + The key of the stream. + The name of the consumer group that received the message. + The IDs of the messages to acknowledge. + The flags to use for this operation. + The number of messages acknowledged. + + + + + Adds an entry using the specified values to the given stream key. + If key does not exist, a new key holding a stream is created. + The command returns the ID of the newly created stream entry. + + The key of the stream. + The field name for the stream entry. + The value to set in the stream entry. + The ID to assign to the stream entry, defaults to an auto-generated ID ("*"). + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The ID of the newly created message. + + + + + Adds an entry using the specified values to the given stream key. + If key does not exist, a new key holding a stream is created. + The command returns the ID of the newly created stream entry. + + The key of the stream. + The fields and their associated values to set in the stream entry. + The ID to assign to the stream entry, defaults to an auto-generated ID ("*"). + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The ID of the newly created message. + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + Messages that have been idle for more than will be claimed. + + The key of the stream. + The consumer group. + The consumer claiming the messages(s). + The minimum idle time threshold for pending messages to be claimed. + The starting ID to scan for pending messages that have an idle time greater than . + The upper limit of the number of entries that the command attempts to claim. If , Redis will default the value to 100. + The flags to use for this operation. + An instance of . + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + Messages that have been idle for more than will be claimed. + The result will contain the claimed message IDs instead of a instance. + + The key of the stream. + The consumer group. + The consumer claiming the messages(s). + The minimum idle time threshold for pending messages to be claimed. + The starting ID to scan for pending messages that have an idle time greater than . + The upper limit of the number of entries that the command attempts to claim. If , Redis will default the value to 100. + The flags to use for this operation. + An instance of . + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + This method returns the complete message for the claimed message(s). + + The key of the stream. + The consumer group. + The consumer claiming the given message(s). + The minimum message idle time to allow the reassignment of the message(s). + The IDs of the messages to claim for the given consumer. + The flags to use for this operation. + The messages successfully claimed by the given consumer. + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + This method returns the IDs for the claimed message(s). + + The key of the stream. + The consumer group. + The consumer claiming the given message(s). + The minimum message idle time to allow the reassignment of the message(s). + The IDs of the messages to claim for the given consumer. + The flags to use for this operation. + The message IDs for the messages successfully claimed by the given consumer. + + + + + Set the position from which to read a stream for a consumer group. + + The key of the stream. + The name of the consumer group. + The position from which to read for the consumer group. + The flags to use for this operation. + if successful, otherwise. + + + + + Retrieve information about the consumers for the given consumer group. + This is the equivalent of calling "XINFO GROUPS key group". + + The key of the stream. + The consumer group name. + The flags to use for this operation. + An instance of for each of the consumer group's consumers. + + + + + Create a consumer group for the given stream. + + The key of the stream. + The name of the group to create. + The position to begin reading the stream. Defaults to . + The flags to use for this operation. + if the group was created, otherwise. + + + + + Create a consumer group for the given stream. + + The key of the stream. + The name of the group to create. + The position to begin reading the stream. Defaults to . + Create the stream if it does not already exist. + The flags to use for this operation. + if the group was created, otherwise. + + + + + Delete messages in the stream. This method does not delete the stream. + + The key of the stream. + The IDs of the messages to delete. + The flags to use for this operation. + Returns the number of messages successfully deleted from the stream. + + + + + Delete a consumer from a consumer group. + + The key of the stream. + The name of the consumer group. + The name of the consumer. + The flags to use for this operation. + The number of messages that were pending for the deleted consumer. + + + + + Delete a consumer group. + + The key of the stream. + The name of the consumer group. + The flags to use for this operation. + if deleted, otherwise. + + + + + Retrieve information about the groups created for the given stream. This is the equivalent of calling "XINFO GROUPS key". + + The key of the stream. + The flags to use for this operation. + An instance of for each of the stream's groups. + + + + + Retrieve information about the given stream. This is the equivalent of calling "XINFO STREAM key". + + The key of the stream. + The flags to use for this operation. + A instance with information about the stream. + + + + + Return the number of entries in a stream. + + The key of the stream. + The flags to use for this operation. + The number of entries inside the given stream. + + + + + View information about pending messages for a stream. + A pending message is a message read using StreamReadGroup (XREADGROUP) but not yet acknowledged. + + The key of the stream. + The name of the consumer group. + The flags to use for this operation. + + An instance of . + contains the number of pending messages. + The highest and lowest ID of the pending messages, and the consumers with their pending message count. + + The equivalent of calling XPENDING key group. + + + + + View information about each pending message. + + The key of the stream. + The name of the consumer group. + The maximum number of pending messages to return. + The consumer name for the pending messages. Pass RedisValue.Null to include pending messages for all consumers. + The minimum ID from which to read the stream of pending messages. The method will default to reading from the beginning of the stream. + The maximum ID to read to within the stream of pending messages. The method will default to reading to the end of the stream. + The flags to use for this operation. + An instance of for each pending message. + Equivalent of calling XPENDING key group start-id end-id count consumer-name. + + + + + Read a stream using the given range of IDs. + + The key of the stream. + The minimum ID from which to read the stream. The method will default to reading from the beginning of the stream. + The maximum ID to read to within the stream. The method will default to reading to the end of the stream. + The maximum number of messages to return. + The order of the messages. will execute XRANGE and will execute XREVRANGE. + The flags to use for this operation. + Returns an instance of for each message returned. + + + + + Read from a single stream. + + The key of the stream. + The position from which to read the stream. + The maximum number of messages to return. + The flags to use for this operation. + Returns an instance of for each message returned. + + Equivalent of calling XREAD COUNT num STREAMS key id. + + + + + + Read from multiple streams. + + Array of streams and the positions from which to begin reading for each stream. + The maximum number of messages to return from each stream. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREAD COUNT num STREAMS key1 key2 id1 id2. + + + + + + Read messages from a stream into an associated consumer group. + + The key of the stream. + The name of the consumer group. + The consumer name. + The position from which to read the stream. Defaults to when . + The maximum number of messages to return. + The flags to use for this operation. + Returns a value of for each message returned. + + + + + Read messages from a stream into an associated consumer group. + + The key of the stream. + The name of the consumer group. + The consumer name. + The position from which to read the stream. Defaults to when . + The maximum number of messages to return. + When true, the message will not be added to the pending message list. + The flags to use for this operation. + Returns a value of for each message returned. + + + + + Read from multiple streams into the given consumer group. + The consumer group with the given will need to have been created for each stream prior to calling this method. + + Array of streams and the positions from which to begin reading for each stream. + The name of the consumer group. + The name of the consumer. + The maximum number of messages to return from each stream. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREADGROUP GROUP groupName consumerName COUNT countPerStream STREAMS stream1 stream2 id1 id2. + + + + + + Read from multiple streams into the given consumer group. + The consumer group with the given will need to have been created for each stream prior to calling this method. + + Array of streams and the positions from which to begin reading for each stream. + The name of the consumer group. + The name of the consumer. + The maximum number of messages to return from each stream. + When true, the message will not be added to the pending message list. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREADGROUP GROUP groupName consumerName COUNT countPerStream STREAMS stream1 stream2 id1 id2. + + + + + + Trim the stream to a specified maximum length. + + The key of the stream. + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The number of messages removed from the stream. + + + + + If key already exists and is a string, this command appends the value at the end of the string. + If key does not exist it is created and set as an empty string, so APPEND will be similar to SET in this special case. + + The key of the string. + The value to append to the string. + The flags to use for this operation. + The length of the string after the append operation. + + + + + + + + Count the number of set bits (population counting) in a string. + By default all the bytes contained in the string are examined. + It is possible to specify the counting operation only in an interval passing the additional arguments start and end. + Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The key of the string. + The start byte to count at. + The end byte to count at. + In Redis 7+, we can choose if and specify a bit index or byte index (defaults to ). + The flags to use for this operation. + The number of bits set to 1. + + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case + and only the first key will be considered. + The result of the operation is always stored at . + + The operation to perform. + The destination key to store the result in. + The first key to get the bit value from. + The second key to get the bit value from. + The flags to use for this operation. + The size of the string stored in the destination key, that is equal to the size of the longest input string. + + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator. + The result of the operation is always stored at . + + The operation to perform. + The destination key to store the result in. + The keys to get the bit values from. + The flags to use for this operation. + The size of the string stored in the destination key, that is equal to the size of the longest input string. + + + + + + + + Return the position of the first bit set to 1 or 0 in a string. + The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant bit is at position 8 and so forth. + A and may be specified - these are in bytes, not bits. + and can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The key of the string. + True to check for the first 1 bit, false to check for the first 0 bit. + The position to start looking (defaults to 0). + The position to stop looking (defaults to -1, unlimited). + In Redis 7+, we can choose if and specify a bit index or byte index (defaults to ). + The flags to use for this operation. + + The command returns the position of the first bit set to 1 or 0 according to the request. + If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned. + + + + + + Decrements the number stored at key by decrement. + If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. + This operation is limited to 64 bit signed integers. + + The key of the string. + The amount to decrement by (defaults to 1). + The flags to use for this operation. + The value of key after the decrement. + + See + , + . + + + + + Decrements the string representing a floating point number stored at key by the specified decrement. + If the key does not exist, it is set to 0 before performing the operation. + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + The key of the string. + The amount to decrement by (defaults to 1). + The flags to use for this operation. + The value of key after the decrement. + + + + + Get the value of key. If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Returns the values of all specified keys. + For every key that does not hold a string value or does not exist, the special value is returned. + + The keys of the strings. + The flags to use for this operation. + The values of the strings with for keys do not exist. + + + + + Get the value of key. If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Returns the bit value at offset in the string value stored at key. + When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits. + + The key of the string. + The offset in the string to get a bit at. + The flags to use for this operation. + The bit value stored at offset. + + + + + Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). + Negative offsets can be used in order to provide an offset starting from the end of the string. + So -1 means the last character, -2 the penultimate and so forth. + + The key of the string. + The start index of the substring to get. + The end index of the substring to get. + The flags to use for this operation. + The substring of the string value stored at key. + + + + + Atomically sets key to value and returns the old value stored at key. + + The key of the string. + The value to replace the existing value with. + The flags to use for this operation. + The old value stored at key, or when key did not exist. + + + + + Gets the value of and update its (relative) expiry. + If the key does not exist, the result will be . + + The key of the string. + The expiry to set. will remove expiry. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Gets the value of and update its (absolute) expiry. + If the key does not exist, the result will be . + + The key of the string. + The exact date and time to expire at. will remove expiry. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Get the value of key and delete the key. + If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Get the value of key. + If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key and its expiry, or when key does not exist. + + + + + Increments the number stored at key by increment. + If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. + This operation is limited to 64 bit signed integers. + + The key of the string. + The amount to increment by (defaults to 1). + The flags to use for this operation. + The value of key after the increment. + + See + , + . + + + + + Increments the string representing a floating point number stored at key by the specified increment. + If the key does not exist, it is set to 0 before performing the operation. + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + The key of the string. + The amount to increment by (defaults to 1). + The flags to use for this operation. + The value of key after the increment. + + + + + Returns the length of the string value stored at key. + + The key of the string. + The flags to use for this operation. + The length of the string at key, or 0 when key does not exist. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning a string containing the common sequence. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + The flags to use for this operation. + A string (sequence of characters) of the LCS match. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning the legnth of the common sequence. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + The flags to use for this operation. + The length of the LCS match. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning a list of all common sequences. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + Can be used to restrict the list of matches to the ones of a given minimum length. + The flags to use for this operation. + The result of LCS algorithm, based on the given parameters. + + + + + + + + + + + Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type. + + The key of the string. + The value to set. + The expiry to set. + Whether to maintain the existing key's TTL (KEEPTTL flag). + Which condition to set the value under (defaults to always). + The flags to use for this operation. + if the string was set, otherwise. + + + + + Sets the given keys to their respective values. + If is specified, this will not perform any operation at all even if just a single key already exists. + + The keys and values to set. + Which condition to set the value under (defaults to always). + The flags to use for this operation. + if the keys were set, otherwise. + + See + , + . + + + + + Atomically sets key to value and returns the previous value (if any) stored at . + + The key of the string. + The value to set. + The expiry to set. + Which condition to set the value under (defaults to ). + The flags to use for this operation. + The previous value stored at , or when key did not exist. + + This method uses the SET command with the GET option introduced in Redis 6.2.0 instead of the deprecated GETSET command. + + + + + + Atomically sets key to value and returns the previous value (if any) stored at . + + The key of the string. + The value to set. + The expiry to set. + Whether to maintain the existing key's TTL (KEEPTTL flag). + Which condition to set the value under (defaults to ). + The flags to use for this operation. + The previous value stored at , or when key did not exist. + This method uses the SET command with the GET option introduced in Redis 6.2.0 instead of the deprecated GETSET command. + + + + + Sets or clears the bit at offset in the string value stored at key. + The bit is either set or cleared depending on value, which can be either 0 or 1. + When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset. + + The key of the string. + The offset in the string to set . + The bit value to set, true for 1, false for 0. + The flags to use for this operation. + The original bit value stored at offset. + + + + + Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. + If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. + Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset. + + The key of the string. + The offset in the string to overwrite. + The value to overwrite with. + The flags to use for this operation. + The length of the string after it was modified by the command. + + + + + Describes functionality that is common to both standalone redis servers and redis clusters. + + + + + Indicates whether the instance can communicate with the server (resolved using the supplied key and optional flags). + + The key to check for. + The flags to use for this operation. + + + + + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Describes retry policy functionality that can be provided to the multiplexer to be used for connection reconnects. + + + + + This method is called by the multiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the multiplexer while it was in connecting state. + Total time elapsed in milliseconds since the last reconnect retry was made. + + + + Common operations available to all redis connections. + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The command flags to use when pinging. + The observed latency. + + + + + Common operations available to all redis connections. + + + + + Gets the multiplexer that created this instance. + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The command flags to use. + The observed latency. + + + + + Wait for a given asynchronous operation to complete (or timeout), reporting which. + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type of task to wait on. + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Represents a resumable, cursor-based scanning operation. + + + + + Returns the cursor that represents the *active* page of results (not the pending/next page of results as returned by SCAN/HSCAN/ZSCAN/SSCAN). + + + + + The page size of the current operation. + + + + + The offset into the current page. + + + + + Provides configuration controls of a redis server. + + + + + Gets the cluster configuration associated with this server, if known. + + + + + Gets the address of the connected server. + + + + + Gets the features available to the connected server. + + + + + Gets whether the connection to the server is active and usable. + + + + + The protocol being used to communicate with this server (if not connected/known, then the anticipated protocol from the configuration is returned, assuming success). + + + + + Gets whether the connected server is a replica. + + + + + Gets whether the connected server is a replica. + + + + + Explicitly opt in for replica writes on writable replica. + + + + + Explicitly opt in for replica writes on writable replica. + + + + + Gets the operating mode of the connected server. + + + + + Gets the version of the connected server. + + + + + The number of databases supported on this server. + + + + + The CLIENT KILL command closes a given client connection identified by ip:port. + The ip:port should match a line returned by the CLIENT LIST command. + Due to the single-threaded nature of Redis, it is not possible to kill a client connection while it is executing a command. + From the client point of view, the connection can never be closed in the middle of the execution of a command. + However, the client will notice the connection has been closed only when the next command is sent (and results in network error). + + The endpoint of the client to kill. + The command flags to use. + + + + + + + + The CLIENT KILL command closes multiple connections that match the specified filters. + + The ID of the client to kill. + The type of client. + The endpoint to kill. + Whether to skip the current connection. + The command flags to use. + the number of clients killed. + + + + + + + + The CLIENT KILL command closes multiple connections that match the specified filters. + + The filter to use in choosing which clients to kill. + The command flags to use. + the number of clients killed. + + + + + + + The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. + + The command flags to use. + + + + + + + + Obtains the current CLUSTER NODES output from a cluster server. + + The command flags to use. + + + + + + + + Obtains the current raw CLUSTER NODES output from a cluster server. + + The command flags to use. + + + + + + + + Get all configuration parameters matching the specified pattern. + + The pattern of config values to get. + The command flags to use. + All matching configuration parameters. + + + + + + + + Resets the statistics reported by Redis using the INFO command. + + The command flags to use. + + + + + + + + The CONFIG REWRITE command rewrites the redis.conf file the server was started with, + applying the minimal changes needed to make it reflecting the configuration currently + used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. + + The command flags to use. + + + + + + + + The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. + You can change both trivial parameters or switch from one to another persistence option using this command. + + The setting name. + The new setting value. + The command flags to use. + + + + + + + + Returns the number of total commands available in this Redis server. + + The command flags to use. + + + + + + + + Returns list of keys from a full Redis command. + + The command to get keys from. + The command flags to use. + + + + + + + + Returns a list of command names available on this Redis server. + Only one of the filter options is usable at a time. + + The module name to filter the command list by. + The category to filter the command list by. + The pattern to filter the command list by. + The command flags to use. + + + + + + + + Return the number of keys in the database. + + The database ID. + The command flags to use. + + + + + + + + Return the same message passed in. + + The message to echo. + The command flags to use. + + + + + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API. + + The command to run. + The arguments to pass for the command. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API. + + The command to run. + The arguments to pass for the command. + The flags to use for this operation. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + + + + Delete all the keys of all databases on the server. + + The command flags to use. + + + + + + + + Delete all the keys of the database. + + The database ID. + The command flags to use. + + + + + + + + Get summary statistics associates with this server. + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + The info section to get, if getting a specific one. + The command flags to use. + A grouping of key/value pairs, grouped by their section header. + + + + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + The info section to get, if getting a specific one. + The command flags to use. + The entire raw INFO string. + + + + + + + + + + + Returns all keys matching . + The KEYS or SCAN commands will be used based on the server capabilities. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The database ID. + The pattern to use. + The page size to iterate by. + The cursor position to resume at. + The page offset to start at. + The command flags to use. + An enumeration of matching redis keys. + + Warning: consider KEYS as a command that should only be used in production environments with extreme care. + + See + , + . + + + + + + + + + Return the time of the last DB save executed with success. + A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command + and checking at regular intervals every N seconds if LASTSAVE changed. + + The command flags to use. + The last time a save was performed. + + + + + + + + + + + Promote the selected node to be primary. + + The options to use for this topology change. + The log to write output to. + + + + + Returns the role info for the current server. + + + + + + + + + Explicitly request the database to persist the current state to disk. + + The method of the save (e.g. background or foreground). + The command flags to use. + + See + , + , + , + . + + + + + + + + Indicates whether the specified script is defined on the server. + + The text of the script to check for on the server. + The command flags to use. + + + + + + + + Indicates whether the specified script hash is defined on the server. + + The SHA1 of the script to check for on the server. + The command flags to use. + + + + + + + + Removes all cached scripts on this server. + + The command flags to use. + + + + + + + + Explicitly defines a script on the server. + + The script to load. + The command flags to use. + The SHA1 of the loaded script. + + + + + + + + Explicitly defines a script on the server. + + The script to load. + The command flags to use. + The loaded script, ready for rapid reuse based on the SHA1. + + + + + + + + Asks the redis server to shutdown, killing all connections. Please FULLY read the notes on the SHUTDOWN command. + + The mode of the shutdown. + The command flags to use. + + + + + + + + + + + + + + The REPLICAOF command can change the replication settings of a replica on the fly. + If a Redis server is already acting as replica, specifying a null primary will turn off the replication, + turning the Redis server into a PRIMARY. Specifying a non-null primary will make the server a replica of + another server listening at the specified hostname and port. + + Endpoint of the new primary to replicate from. + The command flags to use. + + + + + To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. + It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). + + The count of items to get. + The command flags to use. + The slow command traces as recorded by the Redis server. + + + + + + + + You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. + + The command flags to use. + + + + + + + + Lists the currently active channels. + An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). + + The channel name pattern to get channels for. + The command flags to use. + a list of active channels, optionally matching the specified pattern. + + + + + + + + Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). + Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. + + The command flags to use. + the number of patterns all the clients are subscribed to. + + + + + + + + Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. + + The channel to get a subscriber count for. + The command flags to use. + The number of subscribers on this server. + + + + + + + + Swaps two Redis databases, so that immediately all the clients connected to a given database will see the data of the other database, and the other way around. + + The ID of the first database. + The ID of the second database. + The command flags to use. + + + + + + + + The TIME command returns the current server time in UTC format. + Use the method to get local time. + + The command flags to use. + The server's current time. + + + + + + + + Gets a text-based latency diagnostic. + + The full text result of latency doctor. + + See + , + . + + + + + + + + Resets the given events (or all if none are specified), discarding the currently logged latency spike events, and resetting the maximum event time register. + + The number of events that were reset. + + See + , + . + + + + + + + + Fetch raw latency data from the event time series, as timestamp-latency pairs. + + An array of latency history entries. + + See + , + . + + + + + + + + Fetch raw latency data from the event time series, as timestamp-latency pairs. + + An array of the latest latency history entries. + + See + , + . + + + + + + + + Reports about different memory-related issues that the Redis server experiences, and advises about possible remedies. + + The full text result of memory doctor. + + + + + + + + Attempts to purge dirty pages so these can be reclaimed by the allocator. + + + + + + + + + Returns an array reply about the memory usage of the server. + + An array reply of memory stat metrics and values. + + + + + + + + Provides an internal statistics report from the memory allocator. + + The full text result of memory allocation stats. + + + + + + + + Returns the IP and port number of the primary with that name. + If a failover is in progress or terminated successfully for this primary it returns the address and port of the promoted replica. + + The sentinel service name. + The command flags to use. + The primary IP and port. + + + + + + + + Returns the IP and port numbers of all known Sentinels for the given service name. + + The sentinel service name. + The command flags to use. + A list of the sentinel IPs and ports. + + + + + + + + Returns the IP and port numbers of all known Sentinel replicas for the given service name. + + The sentinel service name. + The command flags to use. + A list of the replica IPs and ports. + + + + + + + + Show the state and info of the specified primary. + + The sentinel service name. + The command flags to use. + The primaries state as KeyValuePairs. + + + + + + + + Show a list of monitored primaries and their state. + + The command flags to use. + An array of primaries state KeyValuePair arrays. + + + + + + + + + + + + + + Show a list of replicas for this primary, and their state. + + The sentinel service name. + The command flags to use. + An array of replica state KeyValuePair arrays. + + + + + + + + Force a failover as if the primary was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + The sentinel service name. + The command flags to use. + + + + + + + + Show a list of sentinels for a primary, and their state. + + The sentinel service name. + The command flags to use. + + + + + + + + For testing only: Break the connection without mercy or thought. + + The server to simulate failure on. + The type of failure(s) to simulate. + + + + A redis connection used as the subscriber in a pub/sub scenario. + + + + + Indicate exactly which redis server we are talking to. + + The channel to identify the server endpoint by. + The command flags to use. + + + + + + + Indicates whether the instance can communicate with the server. + If a channel is specified, the existing subscription map is queried to + resolve the server responsible for that subscription - otherwise the + server is chosen arbitrarily from the primaries. + + The channel to identify the server endpoint by. + if connected, otherwise. + + + + Posts a message to the given channel. + + The channel to publish to. + The message to publish. + The command flags to use. + + The number of clients that received the message *on the destination server*, + note that this doesn't mean much in a cluster as clients can get the message through other nodes. + + + + + + + + + Subscribe to perform some operation when a message to the preferred/active node is broadcast, without any guarantee of ordered handling. + + The channel to subscribe to. + The handler to invoke when a message is received on . + The command flags to use. + + See + , + . + + + + + + + + Subscribe to perform some operation when a message to the preferred/active node is broadcast, as a queue that guarantees ordered handling. + + The redis channel to subscribe to. + The command flags to use. + A channel that represents this source. + + See + , + . + + + + + + + + Indicate to which redis server we are actively subscribed for a given channel. + + The channel to check which server endpoint was subscribed on. + The subscribed endpoint for the given , if the channel is not actively subscribed. + + + + Unsubscribe from a specified message channel. + Note: if no handler is specified, the subscription is canceled regardless of the subscribers. + If a handler is specified, the subscription is only canceled if this handler is the last handler remaining against the channel. + + The channel that was subscribed to. + The handler to no longer invoke when a message is received on . + The command flags to use. + + See + , + . + + + + + + + + Unsubscribe all subscriptions on this instance. + + The command flags to use. + + See + , + . + + + + + + + + Represents a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. Transactions can also include constraints + (implemented via WATCH), but note that constraint checking involves will (very briefly) + block the connection, since the transaction cannot be correctly committed (EXEC), + aborted (DISCARD) or not applied in the first place (UNWATCH) until the responses from + the constraint checks have arrived. + + + Note that on a cluster, it may be required that all keys involved in the transaction (including constraints) are in the same hash-slot. + + + + + + Adds a precondition for this transaction. + + The condition to add to the transaction. + + + + Execute the batch operation, sending all queued commands to the server. + + The command flags to use. + + + + Execute the batch operation, sending all queued commands to the server. + + The command flags to use. + + + + Describes internal errors (mainly intended for debugging). + + + + + This constructor is only for testing purposes. + + The source of the event. + The endpoint (if any) involved in the event. + Redis connection type. + The exception that occurred. + Origin. + + + + Gets the connection-type of the failing connection. + + + + + Gets the failing server-endpoint (this can be null). + + + + + Gets the exception if available (this can be null). + + + + + The underlying origin of the error. + + + + + Provides the extension method to . + + + + + Creates a new instance that provides an isolated key space + of the specified underlying database instance. + + + The underlying database instance that the returned instance shall use. + + + The prefix that defines a key space isolation for the returned database instance. + + + A new instance that invokes the specified underlying + but prepends the specified + to all key parameters and thus forms a logical key space isolation. + + + + The following methods are not supported in a key space isolated database and + will throw an when invoked: + + + + + + + Please notice that keys passed to a script are prefixed (as normal) but care must + be taken when a script returns the name of a key as that will (currently) not be + "unprefixed". + + + + + + A sized region of contiguous memory backed by a memory pool; disposing the lease returns the memory to the pool. + + The type of data being leased. + + + + A lease of length zero. + + + + + The length of the lease. + + + + + Create a new lease. + + The size required. + Whether to erase the memory. + + + + Release all resources owned by the lease. + + + + + The data as a . + + + + + The data as a . + + + + + The data as an . + + + + + Represents a retry policy that performs retries at a fixed interval. The retries are performed up to a maximum allowed time. + + + + + Initializes a new instance using the specified maximum retry elapsed time allowed. + + maximum elapsed time in milliseconds to be allowed for it to perform retries. + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state. + Total elapsed time in milliseconds since the last reconnect retry was made. + + + + Represents a Lua script that can be executed on Redis. + + Unlike normal Redis Lua scripts, LuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + + Parameters of type RedisKey are sent to Redis as KEY (https://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + Since the mapping of "script text" -> LuaScript doesn't depend on any particular details of + the redis connection itself, this cache is global. + + + + + The original Lua script that was used to create this. + + + + + The Lua script that will actually be sent to Redis for execution. + All @-prefixed parameter names have been replaced at this point. + + + + + Arguments are in the order they have to passed to the script in. + + + + + Finalizer - used to prompt cleanups of the script cache when a LuaScript reference goes out of scope. + + + + + Invalidates the internal cache of LuaScript objects. + Existing LuaScripts will continue to work, but future calls to LuaScript.Prepare + return a new LuaScript instance. + + + + + Returns the number of cached LuaScripts. + + + + + Prepares a Lua script with named parameters to be run against any Redis instance. + + The script to prepare. + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + using the implicit SHA1 hash that's calculated after the script is sent to the server for the first time. + + Note: the FireAndForget command flag cannot be set. + + The server to load the script on. + The command flags to use. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + using the implicit SHA1 hash that's calculated after the script is sent to the server for the first time. + + Note: the FireAndForget command flag cannot be set. + + The server to load the script on. + The command flags to use. + + + + Represents a Lua script that can be executed on Redis. + + Unlike LuaScript, LoadedLuaScript sends the hash of it's ExecutableScript to Redis rather than pass + the whole script on each call. This requires that the script be loaded into Redis before it is used. + + + To create a LoadedLuaScript first create a LuaScript via LuaScript.Prepare(string), then + call Load(IServer, CommandFlags) on the returned LuaScript. + + + Unlike normal Redis Lua scripts, LoadedLuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + + Parameters of type RedisKey are sent to Redis as KEY (https://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + The original script that was used to create this LoadedLuaScript. + + + + + The script that will actually be sent to Redis for execution. + + + + + The SHA1 hash of ExecutableScript. + This is sent to Redis instead of ExecutableScript during Evaluate and EvaluateAsync calls. + + Be aware that using hash directly is not resilient to Redis server restarts. + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. + If the script has not been loaded into the passed Redis instance, it will fail. + + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. + If the script has not been loaded into the passed Redis instance, it will fail. + + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Azure node maintenance event. For more information, please see: . + + + + + Indicates the type of event (raw string form). + + + + + The parsed version of for easier consumption. + + + + + Indicates if the event is for a replica node. + + + + + IPAddress of the node event is intended for. + + + + + SSL Port. + + + + + Non-SSL port. + + + + + The types of notifications that Azure is sending for events happening. + + + + + Unrecognized event type, likely needs a library update to recognize new events. + + + + + Indicates that a maintenance event is scheduled. May be several minutes from now. + + + + + This event gets fired ~20s before maintenance begins. + + + + + This event gets fired when maintenance is imminent (<5s). + + + + + Indicates that the node maintenance operation is over. + + + + + Indicates that a replica has been promoted to primary. + + + + + Indicates that a scale event (adding or removing nodes) has completed for a cluster. + + + + + Base class for all server maintenance events. + + + + + Raw message received from the server. + + + + + The time the event was received. If we know when the event is expected to start will be populated. + + + + + Indicates the expected start time of the event. + + + + + Returns a string representing the maintenance event with all of its properties. + + + + + Notifies a ConnectionMultiplexer of this event, for anyone observing its handler. + + + + + Things with the potential to cause harm, or to reveal configuration information. + + + + Gets whether this is primary-only. + + Note that the constructor runs the switch statement above, so + this will already be true for primary-only commands, even if the + user specified etc. + + + + + This does a few important things: + 1: it suppresses error events for commands that the user isn't interested in + (i.e. "why does my standalone server keep saying ERR unknown command 'cluster' ?") + 2: it allows the initial PING and GET (during connect) to get queued rather + than be rejected as no-server-available (note that this doesn't apply to + handshake messages, as they bypass the queue completely). + 3: it disables non-pref logging, as it is usually server-targeted. + + + + + Gets a string representation of this message: "[{DB}]:{CommandAndKey} ({resultProcessor})". + + + + + Gets a string representation of this message without the key: "[{DB}]:{Command} ({resultProcessor})". + + + + + Gets if this command should be sent over the subscription bridge. + + + + + Sends this command to the subscription connection rather than the interactive. + + + + + Checks if this message has violated the provided timeout. + Whether it's a sync operation in a .Wait() or in the backlog queue or written/pending asynchronously, we need to timeout everything. + ...or we get indefinite Task hangs for completions. + + + + + Sets the processor and box for this message to execute. + + + Note order here is reversed to prevent overload resolution errors. + + + + + Sets the box and processor for this message to execute. + + + Note order here is reversed to prevent overload resolution errors. + + The type of the result box result. + + + + We have 1 queue in play on this bridge. + We're bypassing the queue for handshake events that go straight to the socket. + Everything else that's not an internal call goes into the queue if there is a queue. + + + In a later release we want to remove per-server events from this queue completely and shunt queued messages + to another capable primary connection if one is available to process them faster (order is already hosed). + For now, simplicity in: queue it all, replay or timeout it all. + + + + + If we have a connection, report the protocol being used. + + + + + Number of messages sent since the last heartbeat was processed. + + + + + The time this connection was connected at, if it's connected currently. + + + + + Whether the pipe writer is currently active. + + + + + Status of the currently processing backlog, if any. + + + + + The number of messages that are in the backlog queue (waiting to be sent when the connection is healthy again). + + + + + The number of messages that are in the backlog queue (waiting to be sent when the connection is healthy again). + + + + + The number of messages ever added to the backlog queue in the life of this connection. + + + + + Status for the underlying . + + + + + The default bridge stats, notable *not* the same as default since initializers don't run. + + + + + Sends a keepalive message (ECHO or PING) to keep connections alive and check validity of response. + + Whether to run even then the connection isn't idle. + + + + Crawls from the head of the backlog queue, consuming anything that should have timed out + and pruning it accordingly (these messages will get timeout exceptions). + + + + + Process the backlog(s) in play if any. + This means flushing commands to an available/active connection (if any) or spinning until timeout if not. + + + + + Reset event for monitoring backlog additions mid-run. + This allows us to keep the thread around for a full flush and prevent "feathering the throttle" trying + to flush it. In short, we don't start and stop so many threads with a bit of linger. + + + + + This writes a message to the output stream. + + The physical connection to write to. + The message to be written. + Whether this message should bypass the backlog, going straight to the pipe or failing. + + + + For testing only. + + + + + Nullable because during simulation of failure, we'll null out. + ...but in those cases, we'll accept any null ref in a race - it's fine. + + + + + Did we ask for the shutdown? If so this leads to informational messages for tracking but not errors. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Runs on every heartbeat for a bridge, timing out any commands that are overdue and returning an integer of how many we timed out. + + How many commands were overdue and threw timeout exceptions. + + + + Number of messages sent outbound, but we don't yet have a response for. + + + + + Bytes available on the socket, not yet read into the pipe. + + + + + Bytes read from the socket, pending in the reader pipe. + + + + + Bytes in the writer pipe, waiting to be written to the socket. + + + + + Byte size of the last result we processed. + + + + + Byte size on the buffer that isn't processed yet. + + + + + The inbound pipe reader status. + + + + + The outbound pipe writer status. + + + + + The default connection stats, notable *not* the same as default since initializers don't run. + + + + + The zeroed connection stats, which we want to display as zero for default exception cases. + + + + + A profiled command against a redis instance. + + TimeSpans returned by this interface use a high precision timer if possible. + DateTimes returned by this interface are no more precise than DateTime.UtcNow. + + + + + + The endpoint this command was sent to. + + + + + The Db this command was sent to. + + + + + The name of this command. + + + + + The CommandFlags the command was submitted with. + + + + + + When this command was *created*, will be approximately + when the paired method of StackExchange.Redis was called but + before that method returned. + + Note that the resolution of the returned DateTime is limited by DateTime.UtcNow. + + + + + How long this command waited to be added to the queue of pending + redis commands. A large TimeSpan indicates serious contention for + the pending queue. + + + + + How long this command spent in the pending queue before being sent to redis. + A large TimeSpan can indicate a large number of pending events, large pending events, + or network issues. + + + + + How long before Redis responded to this command and it's response could be handled after it was sent. + A large TimeSpan can indicate a large response body, an overtaxed redis instance, or network issues. + + + + + How long between Redis responding to this command and awaiting consumers being notified. + + + + + How long it took this redis command to be processed, from creation to deserializing the final response. + Note that this TimeSpan *does not* include time spent awaiting a Task in consumer code. + + + + + + If a command has to be resent due to an ASK or MOVED response from redis (in a cluster configuration), + the second sending of the command will have this property set to the original IProfiledCommand. + + This can only be set if redis is configured as a cluster. + + + + + If RetransmissionOf is not null, this property will be set to either Ask or Moved to indicate + what sort of response triggered the retransmission. + + This can be useful for determining the root cause of extra commands. + + + + + A collection of IProfiledCommands. + This is a very light weight data structure, only supporting enumeration. + + While it implements IEnumerable, it there are fewer allocations if one uses + it's explicit GetEnumerator() method. Using `foreach` does this automatically. + + This type is not threadsafe. + + + + + + Implements IEnumerator for ProfiledCommandEnumerable. + This implementation is comparable to List.Enumerator and Dictionary.Enumerator, + and is provided to reduce allocations in the common (ie. foreach) case. + + This type is not threadsafe. + + + + + The current element. + + + + + Advances the enumeration, returning true if there is a new element to consume and false + if enumeration is complete. + + + + + Resets the enumeration. + + + + + Disposes the enumeration. + subsequent attempts to enumerate results in undefined behavior. + + + + + Returns the number of commands captured in this snapshot. + + + + + Returns the number of commands captured in this snapshot that match a condition. + + The predicate to match. + + + + Returns the captured commands as an array. + + + + + Returns the captured commands as a list. + + + + + + Returns an implementor of IEnumerator that, provided it isn't accessed + though an interface, avoids allocations. + + `foreach` will automatically use this method. + + + + + Lightweight profiling session that can be optionally registered (via ConnectionMultiplexer.RegisterProfiler) to track messages. + + + + + Caller-defined state object. + + + + + Create a new profiling session, optionally including a caller-defined state object. + + The state object to use for this session. + + + + Reset the session and yield the commands that were captured for enumeration; if additional commands + are added, they can be retrieved via additional calls to FinishProfiling. + + + + + Represents a pub/sub channel name. + + + + + Indicates whether the channel-name is either null or a zero-length value. + + + + + Indicates whether this channel represents a wildcard pattern (see PSUBSCRIBE). + + + + + Indicates whether channels should use when no + is specified; this is enabled by default, but can be disabled to avoid unexpected wildcard scenarios. + + + + + Creates a new that does not act as a wildcard subscription. + + + + + Creates a new that does not act as a wildcard subscription. + + + + + Creates a new that acts as a wildcard subscription. + + + + + Creates a new that acts as a wildcard subscription. + + + + + Create a new redis channel from a buffer, explicitly controlling the pattern mode. + + The name of the channel to create. + The mode for name matching. + + + + Create a new redis channel from a string, explicitly controlling the pattern mode. + + The string name of the channel to create. + The mode for name matching. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + See . + + The to compare to. + + + + Indicate whether two channel names are equal. + + The to compare to. + + + + + + + Obtains a string representation of the channel name. + + + + + The matching pattern for this channel. + + + + + Will be treated as a pattern if it includes *. + + + + + Never a pattern. + + + + + Always a pattern. + + + + + Create a channel name from a . + + The string to get a channel from. + + + + Create a channel name from a . + + The byte array to get a channel from. + + + + Obtain the channel name as a . + + The channel to get a byte[] from. + + + + Obtain the channel name as a . + + The channel to get a string from. + + + + Gets message for . + + + + + Gets a message for . + + + + + + Notification of errors from the redis server. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + Error message. + + + + The origin of the message. + + + + + The message from the server. + + + + + Provides basic information about the features available on a particular version of Redis. + + + + + Create a new RedisFeatures instance for the given version. + + The version of redis to base the feature set on. + + + + Are BITOP and BITCOUNT available? + + + + + Is CLIENT SETNAME available? + + + + + Is CLIENT ID available? + + + + + Does EXEC support EXECABORT if there are errors? + + + + + Can EXPIRE be used to set expiration on a key that is already volatile (i.e. has an expiration)? + + + + + Is GETDEL available? + + + + + Is HSTRLEN available? + + + + + Does HDEL support variadic usage? + + + + + Are INCRBYFLOAT and HINCRBYFLOAT available? + + + + + Does INFO support sections? + + + + + Is LINSERT available? + + + + + Is MEMORY available? + + + + + Are PEXPIRE and PTTL available? + + + + + Is MODULE available? + + + + + Does SRANDMEMBER support the "count" option? + + + + + Is PERSIST available? + + + + + Are LPUSHX and RPUSHX available? + + + + + Does this support SORT_RO? + + + + + Is SCAN (cursor-based scanning) available? + + + + + Are EVAL, EVALSHA, and other script commands available? + + + + + Does SET support the GET option? + + + + + Does SET support the EX, PX, NX, and XX options? + + + + + Does SET have the KEEPTTL option? + + + + + Does SET allow the NX and GET options to be used together? + + + + + Does SADD support variadic usage? + + + + + Are ZPOPMIN and ZPOPMAX available? + + + + + Is ZRANGESTORE available? + + + + + Are Redis Streams available? + + + + + Is STRLEN available? + + + + + Is SETRANGE available? + + + + + Is SWAPDB available? + + + + + Is TIME available? + + + + + Is UNLINK available? + + + + + Are Lua changes to the calling database transparent to the calling client? + + + + + + + + Is PFCOUNT available on replicas? + + + + + Are geospatial commands available? + + + + + Can PING be used on a subscription connection? + + + + + Does SPOP support popping multiple items? + + + + + Is TOUCH available? + + + + + Does the server prefer 'replica' terminology - 'REPLICAOF', etc? + + + + + Do list-push commands support multiple arguments? + + + + + Is the RESP3 protocol available? + + + + + The Redis version of the server. + + + + + Create a string representation of the available features. + + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + Indicates whether this instance and a specified object are equal. + + + if and this instance are the same type and represent the same value, otherwise. + + The object to compare with the current instance. + + + + Indicates whether this instance and a specified object are equal. + + + if and this instance are the same type and represent the same value, otherwise. + + The object to compare with the current instance. + + + + Checks if 2 are .Equal(). + + + + + Checks if 2 are not .Equal(). + + + + + Represents a key that can be stored in redis. + + + + + Creates a from a string. + + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + See . + + The to compare to. + + + + Indicate whether two keys are equal. + + The to compare to. + + + + + + + Obtains a string representation of the key. + + + + + Create a from a . + + The string to get a key from. + + + + Create a from a . + + The byte array to get a key from. + + + + Obtain the as a . + + The key to get a byte array for. + + + + Obtain the key as a . + + The key to get a string for. + + + + Concatenate two keys. + + The first to add. + The second to add. + + + + Prepends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make it less possible. + + + The prefix to prepend. + + + + Appends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make it less possible. + + + The suffix to append. + + + + Indicates the protocol for communicating with the server. + + + + + The protocol used by all redis server versions since 1.2, as defined by https://github.com/redis/redis-specifications/blob/master/protocol/RESP2.md. + + + + + Opt-in variant introduced in server version 6, as defined by https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md. + + + + + Represents a general-purpose result from redis, that may be cast into various anticipated types. + + + + + Do not use. + + + + + Create a new RedisResult representing a single value. + + The to create a result from. + The type of result being represented. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + The explicit data type. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + The explicit data type. + new . + + + + An empty array result. + + + + + A null array result. + + + + + A null single result, to use as a default for invalid returns. + + + + + Gets the number of elements in this item if it is a valid array, or -1 otherwise. + + + + + + + + Gets the string content as per , but also obtains the declared type from verbatim strings (for example LATENCY DOCTOR). + + The type of the returned string. + The content. + + + + Internally, this is very similar to RawResult, except it is designed to be usable, + outside of the IO-processing pipeline: the buffers are standalone, etc. + + + + + Indicate the type of result that was received from redis, in RESP2 terms. + + + + + Indicate the type of result that was received from redis, in RESP3 terms. + + + + + Indicate the type of result that was received from redis, in RESP2 terms. + + + + + Indicates whether this result was a null result. + + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets a multi-bulk result with successive key/name values as a dictionary keyed by name. + + The key comparator to use, or by default. + + + + Get a sub-item by index. + + + + + Create a from a key. + + The to create a from. + + + + Create a from a channel. + + The to create a from. + + + + For testing only. + + + + + A wrapper for subscription actions. + + + By having most functionality here and state on , we can + use the baseline execution methods to take the normal message paths. + + + + + This is *could* we be connected, as in "what's the theoretical endpoint for this channel?", + rather than if we're actually connected and actually listening on that channel. + + + + + Unregisters a handler or queue and returns if we should remove it from the server. + + if we should remove the subscription from the server, otherwise. + + + + Represents values that can be stored in redis. + + + + + Creates a from a string. + + + + + Obtain this value as an object - to be used alongside Unbox. + + + + + Parse this object as a value - to be used alongside Box. + + The value to unbox. + + + + Represents the string "". + + + + + A null value. + + + + + Indicates whether the **underlying** value is a primitive integer (signed or unsigned); this is **not** + the same as whether the value can be *treated* as an integer - see + and , which is usually the more appropriate test. + + + + + Indicates whether the value should be considered a null value. + + + + + Indicates whether the value is either null or a zero-length value. + + + + + Indicates whether the value is greater than zero-length or has an integer value. + + + + + Indicates whether two RedisValue values are equivalent. + + The first to compare. + The second to compare. + + + + Indicates whether two RedisValue values are equivalent. + + The first to compare. + The second to compare. + + + + See . + + The other to compare. + + + + Indicates whether two RedisValue values are equivalent. + + The to compare to. + + + + + + + Returns a string representation of the value. + + + + + Get the size of this value in bytes. + + + + + Compare against a RedisValue for relative order. + + The other to compare. + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from a . + + The to convert to a . + + + + Creates a new from a . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Attempt to reduce to canonical terms ahead of time; parses integers, floats, etc + Note: we don't use this aggressively ahead of time, a: because of extra CPU, + but more importantly b: because it can change values - for example, if they start + with "123.000", it should **stay** as "123.000", not become 123L; this could be + a hash key or similar - we don't want to break it; RedisConnection uses + the storage type, not the "does it look like a long?" - for this reason. + + + + + Convert to a signed if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Convert to an if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Convert to a if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Create a from a . + It will *attempt* to use the internal buffer directly, but if this isn't possible it will fallback to . + + The to create a value from. + + + + Indicates whether the current value has the supplied value as a prefix. + + The to check. + + + + Anything hashed with SHA1 has exactly 40 characters. We can use that as a shortcut in the code bellow. + + + + + Parser for the https://redis.io/commands/lcs/ format with the and arguments. + + + Example response: + 1) "matches" + 2) 1) 1) 1) (integer) 4 + 2) (integer) 7 + 2) 1) (integer) 5 + 2) (integer) 8 + 3) (integer) 4 + 3) "len" + 4) (integer) 6 + ... + + + + + Handles . + + + + + Handles . + + + + + This processor is for *without* the option. + + + + + This processor is for *with* the option. + + + + + Handles stream responses. For formats, see . + + The type of the stream result. + + + + Result of the ROLE command. Values depend on the role: master, replica, or sentinel. + + + + + + One of "master", "slave" (aka replica), or "sentinel". + + + + + + + + Result of the ROLE command for a primary node. + + + + + + The replication offset. To be consumed by replica nodes. + + + + + Connected replica nodes. + + + + + A connected replica node. + + + + + The IP address of this replica node. + + + + + The port number of this replica node. + + + + + The last replication offset acked by this replica node. + + + + + + + + Result of the ROLE command for a replica node. + + + + + + The IP address of the primary node for this replica. + + + + + The port number of the primary node for this replica. + + + + + This replica's replication state. + + + + + The last replication offset received by this replica. + + + + + Result of the ROLE command for a sentinel node. + + + + + + Primary names monitored by this sentinel node. + + + + + An unexpected result of the ROLE command. + + + + + Turns a script with @namedParameters into a LuaScript that can be executed against a given IDatabase(Async) object. + + The script to prepare. + + + + Determines whether or not the given type can be used to provide parameters for the given . + + The type of the parameter. + The script to match against. + The first missing member, if any. + The first type mismatched member, if any. + + + + Creates a Func that extracts parameters from the given type for use by a LuaScript. + + Members that are RedisKey's get extracted to be passed in as keys to redis; all members that + appear in the script get extracted as RedisValue arguments to be sent up as args. + + + We send all values as arguments so we don't have to prepare the same script for different parameter + types. + + + The created Func takes a RedisKey, which will be prefixed to all keys (and arguments of type RedisKey) for + keyspace isolation. + + + The type to extract for. + The script to extract for. + + + + Illustrates the queues associates with this server. + + + + + Creates a instance for an . + + The to create counters for. + + + + The endpoint to which this data relates (this can be null if the data represents all servers). + + + + + Counters associated with the interactive (non pub-sub) connection. + + + + + Counters associated with other ambient activity. + + + + + Counters associated with the subscription (pub-sub) connection. + + + + + Indicates the total number of outstanding items against this server. + + + + + See . + + + + + Whether this endpoint supports databases at all. + Note that some servers are cluster but present as standalone (e.g. Redis Enterprise), so we respect + being disabled here as a performance workaround. + + + This is memoized because it's accessed on hot paths inside the write lock. + + + + + Awaitable state seeing if this endpoint is connected. + + + + + If we have a connection (interactive), report the protocol being used. + + + + + Used to round-robin between multiple replicas. + + + + + Result of the latest tie breaker (from the last reconfigure). + + + + + Forces frequent replication check starting from 1 second up to max ConfigCheckSeconds with an exponential increment. + + + + + Write the message directly to the pipe or fail...will not queue. + + The type of the result processor. + + + + For testing only. + + + + + Computes the hash-slot that would be used by the given key. + + The to determine a slot ID for. + + + + Computes the hash-slot that would be used by the given channel. + + The to determine a slot ID for. + + + + Gets the hashslot for a given byte sequence. + + + HASH_SLOT = CRC16(key) mod 16384. + + + + + A SocketManager monitors multiple sockets for availability of data; this is done using + the Socket.Select API and a dedicated reader-thread, which allows for fast responses + even when the system is under ambient load. + + + + + Gets the name of this SocketManager instance. + + + + + Creates a new instance. + + The name for this . + + + + Creates a new instance. + + The name for this . + Whether this should use high priority sockets. + + + + Creates a new (optionally named) instance. + + The name for this . + the number of dedicated workers for this . + Whether this should use high priority sockets. + + + + Additional options for configuring the socket manager. + + + + + No additional options. + + + + + Whether the should use high priority sockets. + + + + + Use the regular thread-pool for all scheduling. + + + + + Creates a new (optionally named) instance. + + The name for this . + The number of dedicated workers for this . + Options to use when creating the socket manager. + + + + Default / shared socket manager using a dedicated thread-pool. + + + + + Shared socket manager using the main thread-pool. + + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + Releases all resources associated with this instance. + + + + + Releases *appropriate* resources associated with this instance. + + + + + Constants representing values used in Redis Stream commands. + + + + + The "~" value used with the MAXLEN option. + + + + + The "*" value used with the XADD command. + + + + + The "$" value used in the XGROUP command. Indicates reading only new messages from the stream. + + + + + The "0" value used in the XGROUP command. Indicates reading all messages from the stream. + + + + + The "-" value used in the XRANGE, XREAD, and XREADGROUP commands. Indicates the minimum message ID from the stream. + + + + + The "+" value used in the XRANGE, XREAD, and XREADGROUP commands. Indicates the maximum message ID from the stream. + + + + + The ">" value used in the XREADGROUP command. Use this to read messages that have not been delivered to a consumer group. + + + + + Licensed to the .NET Foundation under one or more agreements. + The .NET Foundation licenses this file to you under the MIT license. + + Inspired from . + + + + Create a new TaskCompletion source. + + The type for the created . + The state for the created . + The options to apply to the task. + + + + Optimization over . + + From . + + + diff --git a/local-nuget/stackexchange.redis/2.8.24/lib/net8.0/StackExchange.Redis.xml b/local-nuget/stackexchange.redis/2.8.24/lib/net8.0/StackExchange.Redis.xml new file mode 100644 index 000000000..1f1c828e3 --- /dev/null +++ b/local-nuget/stackexchange.redis/2.8.24/lib/net8.0/StackExchange.Redis.xml @@ -0,0 +1,12526 @@ + + + + StackExchange.Redis + + + + + Filter determining which Redis clients to kill. + + + + + + Filter arguments builder for `CLIENT KILL`. + + + + + The ID of the client to kill. + + + + + The type of client. + + + + + The authenticated ACL username. + + + + + The endpoint to kill. + + + + + The server endpoint to kill. + + + + + Whether to skip the current connection. + + + + + Age of connection in seconds. + + + + + Sets client id filter. + + Id of the client to kill. + + + + Sets client type filter. + + The type of the client. + + + + Sets the username filter. + + Authenticated ACL username. + + + + Set the endpoint filter. + + The endpoint to kill. + + + + Set the server endpoint filter. + + The server endpoint to kill. + + + + Set the skipMe filter (whether to skip the current connection). + + Whether to skip the current connection. + + + + Set the MaxAgeInSeconds filter. + + Age of connection in seconds. + + + + Describes a GeoEntry element with the corresponding value. + GeoEntries are stored in redis as SortedSetEntries. + + + + + The name of the GeoEntry. + + + + + Describes the longitude and latitude of a GeoEntry. + + + + + Initializes a GeoEntry value. + + The longitude position to use. + The latitude position to use. + The value to store for this position. + + + + The longitude of the GeoEntry. + + + + + The latitude of the GeoEntry. + + + + + A "({Longitude},{Latitude})={Member}" string representation of this entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first entry to compare. + The second entry to compare. + + + + Compares two values for non-equality. + + The first entry to compare. + The second entry to compare. + + + + Describes the longitude and latitude of a GeoEntry. + + + + + The Latitude of the GeoPosition. + + + + + The Longitude of the GeoPosition. + + + + + Creates a new GeoPosition. + + + + + A "{long} {lat}" string representation of this position. + + + + + See . + Diagonals not an issue in the case of lat/long. + + + Diagonals are not an issue in the case of lat/long. + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first position to compare. + The second position to compare. + + + + Compares two values for non-equality. + + The first position to compare. + The second position to compare. + + + + GeoRadius command options. + + + + + No Options. + + + + + Redis will return the coordinates of any results. + + + + + Redis will return the distance from center for all results. + + + + + Redis will return the geo hash value as an integer. (This is the score in the sorted set). + + + + + Populates the commonly used values from the entry (the integer hash is not returned as it is not commonly useful). + + + + + The result of a GeoRadius command. + + + + + Indicate the member being represented. + + + + + The matched member. + + + + + The distance of the matched member from the center of the geo radius command. + + + + + The hash value of the matched member as an integer. (The key in the sorted set). + + Note that this is not the same as the hash returned from GeoHash. + + + + The coordinates of the matched member. + + + + + Returns a new GeoRadiusResult. + + The value from the result. + The distance from the result. + The hash of the result. + The GeoPosition of the result. + + + + A Shape that you can use for a GeoSearch. + + + + + The unit to use for creating the shape. + + + + + The number of shape arguments. + + + + + constructs a . + + The geography unit to use. + + + + A circle drawn on a map bounding. + + + + + Creates a Shape. + + The radius of the circle. + The distance unit the circle will use, defaults to Meters. + + + + Gets the s for this shape. + + + + + A box drawn on a map. + + + + + Initializes a GeoBox. + + The height of the box. + The width of the box. + The distance unit the box will use, defaults to Meters. + + + + Describes a hash-field (a name/value pair). + + + + + Initializes a value. + + The name for this hash entry. + The value for this hash entry. + + + + The name of the hash field. + + + + + The value of the hash field. + + + + + The name of the hash field. + + + + + Converts to a key/value pair. + + The to create a from. + + + + Converts from a key/value pair. + + The to get a from. + + + + A "{name}: {value}" string representation of this entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + A latency entry as reported by the built-in LATENCY HISTORY command. + + + + + The time at which this entry was recorded. + + + + + The latency recorded for this event. + + + + + A latency entry as reported by the built-in LATENCY LATEST command. + + + + + The name of this event. + + + + + The time at which this entry was recorded. + + + + + The latency recorded for this event. + + + + + The max latency recorded for all events. + + + + + The result of a LongestCommonSubsequence command with IDX feature. + Returns a list of the positions of each sub-match. + + + + + Whether this match result contains any matches. + + + + + The matched positions of all the sub-matched strings. + + + + + The length of the longest match. + + + + + Returns a new . + + The matched positions in each string. + The length of the match. + + + + Represents a sub-match of the longest match. i.e first indexes the matched substring in each string. + + + + + The first index of the matched substring in the first string. + + + + + The first index of the matched substring in the second string. + + + + + The length of the match. + + + + + Returns a new Match. + + The first index of the matched substring in the first string. + The first index of the matched substring in the second string. + The length of the match. + + + + A contiguous portion of a redis list. + + + + + A null ListPopResult, indicating no results. + + + + + Whether this object is null/empty. + + + + + The key of the list that this set of entries came form. + + + + + The values from the list. + + + + + Describes a value contained in a stream (a name/value pair). + + + + + Initializes a value. + + The name for this entry. + The value for this entry. + + + + The name of the field. + + + + + The value of the field. + + + + + Converts to a key/value pair. + + The to create a from. + + + + Converts from a key/value pair. + + The to get a from. + + + + The "{name}: {value}" string representation. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + Describes a Redis Stream with an associated array of entries. + + + + + The key for the stream. + + + + + An array of entries contained within the stream. + + + + + Describes a value/expiry pair. + + + + + Creates a from a and a . + + + + + The expiry of this record. + + + + + The value of this record. + + + + + Describes a sorted-set element with the corresponding value. + + + + + Initializes a value. + + The to get an entry for. + The redis score for . + + + + The unique element stored in the sorted set. + + + + + The score against the element. + + + + + The score against the element. + + + + + The unique element stored in the sorted set. + + + + + Converts to a key/value pair. + + The to get a for. + + + + Converts from a key/value pair. + + The to get a for. + + + + A "{element}: {score}" string representation of the entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values by score. + + The to compare to. + + + + Compares two values by score. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + A contiguous portion of a redis sorted set. + + + + + A null SortedSetPopResult, indicating no results. + + + + + Whether this object is null/empty. + + + + + The key of the sorted set these entries came form. + + + + + The provided entries of the sorted set. + + + + + Result of the XAUTOCLAIM command with the JUSTID option. + + + + + A null , indicating no results. + + + + + Whether this object is null/empty. + + + + + The stream ID to be used in the next call to StreamAutoClaim. + + + + + Array of IDs claimed by the command. + + + + + Array of message IDs deleted from the stream. + + + + + Result of the XAUTOCLAIM command. + + + + + A null , indicating no results. + + + + + Whether this object is null/empty. + + + + + The stream ID to be used in the next call to StreamAutoClaim. + + + + + An array of for the successfully claimed entries. + + + + + An array of message IDs deleted from the stream. + + + + + Describes a consumer off a Redis Stream. + + + + + The name of the consumer. + + + + + The number of messages that have been delivered by not yet acknowledged by the consumer. + + + + + Describes a consumer within a consumer group, retrieved using the XINFO CONSUMERS command. . + + + + + The name of the consumer. + + + + + The number of pending messages for the consumer. A pending message is one that has been + received by the consumer but not yet acknowledged. + + + + + The idle time, if any, for the consumer. + + + + + Describes an entry contained in a Redis Stream. + + + + + Creates an stream entry. + + + + + A null stream entry. + + + + + The ID assigned to the message. + + + + + The values contained within the message. + + + + + Search for a specific field by name, returning the value. + + + + + Indicates that the Redis Stream Entry is null. + + + + + Describes a consumer group retrieved using the XINFO GROUPS command. . + + + + + The name of the consumer group. + + + + + The number of consumers within the consumer group. + + + + + The total number of pending messages for the consumer group. A pending message is one that has been + received by a consumer but not yet acknowledged. + + + + + The Id of the last message delivered to the group. + + + + + Total number of entries the group had read. + + + + + The number of entries in the range between the group's read entries and the stream's entries. + + + + + Describes stream information retrieved using the XINFO STREAM command. . + + + + + The number of entries in the stream. + + + + + The number of radix tree keys in the stream. + + + + + The number of radix tree nodes in the stream. + + + + + The number of consumers groups in the stream. + + + + + The first entry in the stream. + + + + + The last entry in the stream. + + + + + The last generated id. + + + + + Describes basic information about pending messages for a consumer group. + + + + + The number of pending messages. A pending message is a message that has been consumed but not yet acknowledged. + + + + + The lowest message ID in the set of pending messages. + + + + + The highest message ID in the set of pending messages. + + + + + An array of consumers within the consumer group that have pending messages. + + + + + Describes properties of a pending message. + A pending message is one that has been received by a consumer but has not yet been acknowledged. + + + + + The ID of the pending message. + + + + + The consumer that received the pending message. + + + + + The time that has passed since the message was last delivered to a consumer. + + + + + The number of times the message has been delivered to a consumer. + + + + + Describes a pair consisting of the Stream Key and the from which to begin reading a stream. + + + + + Read from the beginning of a stream. + + + + + Read new messages. + + + + + Initializes a value. + + The key for the stream. + The position from which to begin reading the stream. + + + + The stream key. + + + + + The offset at which to begin reading the stream. + + + + + The backlog policy to use for commands. This policy comes into effect when a connection is unhealthy or unavailable. + The policy can choose to backlog commands and wait to try them (within their timeout) against a connection when it comes up, + or it could choose to fail fast and throw ASAP. Different apps desire different behaviors with backpressure and how to handle + large amounts of load, so this is configurable to optimize the happy path but avoid spiral-of-death queue scenarios for others. + + + + + Backlog behavior matching StackExchange.Redis's 2.x line, failing fast and not attempting to queue + and retry when a connection is available again. + + + + + Default backlog policy which will allow commands to be issues against an endpoint and queue up. + Commands are still subject to their async timeout (which serves as a queue size check). + + + + + Whether to queue commands while disconnected. + True means queue for attempts up until their timeout. + means to fail ASAP and queue nothing. + + + + + Whether to immediately abandon (with an exception) all pending commands when a connection goes unhealthy. + + + + + Note that in results other than success, no guarantees are made about final state; if you care: snapshot. + + + + + Represents a message that is broadcast via publish/subscribe. + + + + + The Channel:Message string representation. + + + + + + + + + + + The channel that the subscription was created from. + + + + + The channel that the message was broadcast to. + + + + + The value that was broadcast. + + + + + Checks if 2 messages are .Equal(). + + + + + Checks if 2 messages are not .Equal(). + + + + + Represents a message queue of ordered pub/sub notifications. + + + To create a ChannelMessageQueue, use + or . + + + + + The Channel that was subscribed for this queue. + + + + + The string representation of this channel. + + + + + An awaitable task the indicates completion of the queue (including drain of data). + + + + + Consume a message from the channel. + + The to use. + + + + Attempt to synchronously consume a message from the channel. + + The read from the Channel. + + + + Attempt to query the backlog length of the queue. + + The (approximate) count of items in the Channel. + + + + Create a message loop that processes messages sequentially. + + The handler to run when receiving a message. + + + + Create a message loop that processes messages sequentially. + + The handler to execute when receiving a message. + + + + Stop receiving messages on this channel. + + The flags to use when unsubscribing. + + + + Stop receiving messages on this channel. + + The flags to use when unsubscribing. + + + + + + + Represents the state of an individual client connection to redis. + + + + + Address (host and port) of the client. + + + + + Total duration of the connection in seconds. + + + + + Current database ID. + + + + + The flags associated with this connection. + + + + + The client flags can be a combination of: + + + A + Connection to be closed ASAP. + + + b + The client is waiting in a blocking operation. + + + c + Connection to be closed after writing entire reply. + + + d + A watched keys has been modified - EXEC will fail. + + + i + The client is waiting for a VM I/O (deprecated). + + + M + The client is a primary. + + + N + No specific flag set. + + + O + The client is a replica in MONITOR mode. + + + P + The client is a Pub/Sub subscriber. + + + r + The client is in readonly mode against a cluster node. + + + S + The client is a normal replica server. + + + u + The client is unblocked. + + + U + The client is unblocked. + + + x + The client is in a MULTI/EXEC context. + + + t + The client enabled keys tracking in order to perform client side caching. + + + R + The client tracking target client is invalid. + + + B + The client enabled broadcast tracking mode. + + + + + + + + The host of the client (typically an IP address). + + + + + Idle time of the connection in seconds. + + + + + Last command played. + + + + + The name allocated to this connection, if any. + + + + + Number of pattern matching subscriptions. + + + + + The port of the client. + + + + + The raw content from redis. + + + + + Number of channel subscriptions. + + + + + Number of commands in a MULTI/EXEC context. + + + + + A unique 64-bit client ID (introduced in Redis 2.8.12). + + + + + Format the object as a string. + + + + + The class of the connection. + + + + + Client RESP protocol version. Added in Redis 7.0. + + + + + Client RESP protocol version. Added in Redis 7.0. + + + + + Client library name. Added in Redis 7.2. + + + + + + Client library version. Added in Redis 7.2. + + + + + + Indicates a range of slots served by a cluster node. + + + + + Create a new SlotRange value. + + The slot ID to start at. + The slot ID to end at. + + + + The start of the range (inclusive). + + + + + The end of the range (inclusive). + + + + + Indicates whether two ranges are not equal. + + The first slot range. + The second slot range. + + + + Indicates whether two ranges are equal. + + The first slot range. + The second slot range. + + + + Try to parse a string as a range. + + The range string to parse, e.g."1-12". + The parsed , if successful. + + + + Compares the current instance with another object of the same type and returns an integer that indicates + whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + The other slot range to compare to. + + + + See . + + The other slot range to compare to. + + + + Indicates whether two ranges are equal. + + The other slot range to compare to. + + + + + + + String representation ("{from}-{to}") of the range. + + + + + Describes the state of the cluster as reported by a single node. + + + + + Gets all nodes contained in the configuration. + + + + + The node that was asked for the configuration. + + + + + Obtain the node relating to a specified endpoint. + + The endpoint to get a cluster node from. + + + + Gets the node that serves the specified slot. + + The slot ID to get a node by. + + + + Gets the node that serves the specified key's slot. + + The key to identify a node by. + + + + Represents the configuration of a single node in a cluster configuration. + + + + + + Gets all child nodes of the current node. + + + + + Gets the endpoint of the current node. + + + + + Gets whether this node is in a failed state. + + + + + Gets whether this node is possibly in a failed state. + Possibly here means the node we're getting status from can't communicate with it, but doesn't mean it's down for sure. + + + + + Gets whether this is the node which responded to the CLUSTER NODES request. + + + + + Gets whether this node is a replica. + + + + + Gets whether this node is a replica. + + + + + Gets whether this node is flagged as noaddr. + + + + + Gets the node's connection status. + + + + + Gets the unique node-id of the current node. + + + + + Gets the parent node of the current node. + + + + + Gets the unique node-id of the parent of the current node. + + + + + The configuration as reported by the server. + + + + + The slots owned by this server. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates + whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + The to compare to. + + + + See . + + The to compare to. + + + + Indicates whether two instances are equivalent. + + The to compare to. + + + + + + + A string summary of this cluster configuration. + + + + + Represents the commands mapped on a particular configuration. + + + + + The default commands specified by redis. + + + + + The commands available to twemproxy. + + + + + + The commands available to envoyproxy. + + + + + + The commands available to SSDB. + + + + + + The commands available to Sentinel. + + + + + + Create a new , customizing some commands. + + The commands to override. + + + + Creates a by specifying which commands are available or unavailable. + + The commands to specify. + Whether the commands are available or excluded. + + + + See . + + + + + Represents the information known about long-running commands. + + + + + The array composing the arguments of the command. + + + + + The amount of time needed for its execution. + + + + + The time at which the logged command was processed. + + + + + A unique progressive identifier for every slow log entry. + + The entry's unique ID can be used in order to avoid processing slow log entries multiple times (for instance you may have a script sending you an email alert for every new slow log entry). The ID is never reset in the course of the Redis server execution, only a server restart will reset it. + + + + Deduces a link to the redis documentation about the specified command. + + + + + Describes a precondition used in a redis transaction. + + + + + Enforces that the given hash-field must have the specified value. + + The key of the hash to check. + The field in the hash to check. + The value that the hash field must match. + + + + Enforces that the given hash-field must exist. + + The key of the hash to check. + The field in the hash to check. + + + + Enforces that the given hash-field must not have the specified value. + + The key of the hash to check. + The field in the hash to check. + The value that the hash field must not match. + + + + Enforces that the given hash-field must not exist. + + The key of the hash to check. + The field in the hash that must not exist. + + + + Enforces that the given key must exist. + + The key that must exist. + + + + Enforces that the given key must not exist. + + The key that must not exist. + + + + Enforces that the given list index must have the specified value. + + The key of the list to check. + The position in the list to check. + The value of the list position that must match. + + + + Enforces that the given list index must exist. + + The key of the list to check. + The position in the list that must exist. + + + + Enforces that the given list index must not have the specified value. + + The key of the list to check. + The position in the list to check. + The value of the list position must not match. + + + + Enforces that the given list index must not exist. + + The key of the list to check. + The position in the list that must not exist. + + + + Enforces that the given key must have the specified value. + + The key to check. + The value that must match. + + + + Enforces that the given key must not have the specified value. + + The key to check. + The value that must not match. + + + + Enforces that the given hash length is a certain value. + + The key of the hash to check. + The length the hash must have. + + + + Enforces that the given hash length is less than a certain value. + + The key of the hash to check. + The length the hash must be less than. + + + + Enforces that the given hash length is greater than a certain value. + + The key of the hash to check. + The length the hash must be greater than. + + + + Enforces that the given string length is a certain value. + + The key of the string to check. + The length the string must be equal to. + + + + Enforces that the given string length is less than a certain value. + + The key of the string to check. + The length the string must be less than. + + + + Enforces that the given string length is greater than a certain value. + + The key of the string to check. + The length the string must be greater than. + + + + Enforces that the given list length is a certain value. + + The key of the list to check. + The length the list must be equal to. + + + + Enforces that the given list length is less than a certain value. + + The key of the list to check. + The length the list must be less than. + + + + Enforces that the given list length is greater than a certain value. + + The key of the list to check. + The length the list must be greater than. + + + + Enforces that the given set cardinality is a certain value. + + The key of the set to check. + The length the set must be equal to. + + + + Enforces that the given set cardinality is less than a certain value. + + The key of the set to check. + The length the set must be less than. + + + + Enforces that the given set cardinality is greater than a certain value. + + The key of the set to check. + The length the set must be greater than. + + + + Enforces that the given set contains a certain member. + + The key of the set to check. + The member the set must contain. + + + + Enforces that the given set does not contain a certain member. + + The key of the set to check. + The member the set must not contain. + + + + Enforces that the given sorted set cardinality is a certain value. + + The key of the sorted set to check. + The length the sorted set must be equal to. + + + + Enforces that the given sorted set contains a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set cardinality is less than a certain value. + + The key of the sorted set to check. + The length the sorted set must be less than. + + + + Enforces that the given sorted set contains less than a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set cardinality is greater than a certain value. + + The key of the sorted set to check. + The length the sorted set must be greater than. + + + + Enforces that the given sorted set contains more than a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set contains a certain member. + + The key of the sorted set to check. + The member the sorted set must contain. + + + + Enforces that the given sorted set does not contain a certain member. + + The key of the sorted set to check. + The member the sorted set must not contain. + + + + Enforces that the given sorted set member must have the specified score. + + The key of the sorted set to check. + The member the sorted set to check. + The score that member must have. + + + + Enforces that the given sorted set member must not have the specified score. + + The key of the sorted set to check. + The member the sorted set to check. + The score that member must not have. + + + + Enforces that the given sorted set must have the given score. + + The key of the sorted set to check. + The score that the sorted set must have. + + + + Enforces that the given sorted set must not have the given score. + + The key of the sorted set to check. + The score that the sorted set must not have. + + + + Enforces that the given sorted set must have the specified count of the given score. + + The key of the sorted set to check. + The score that the sorted set must have. + The number of members which sorted set must have. + + + + Enforces that the given sorted set must not have the specified count of the given score. + + The key of the sorted set to check. + The score that the sorted set must not have. + The number of members which sorted set must not have. + + + + Enforces that the given stream length is a certain value. + + The key of the stream to check. + The length the stream must have. + + + + Enforces that the given stream length is less than a certain value. + + The key of the stream to check. + The length the stream must be less than. + + + + Enforces that the given stream length is greater than a certain value. + + The key of the stream to check. + The length the stream must be greater than. + + + + Indicates the status of a condition as part of a transaction. + + + + + Indicates whether the condition was satisfied. + + + + + The options relevant to a set of redis connections. + + + Some options are not observed by a after initial creation: + + + + + + + + + + + A LocalCertificateSelectionCallback delegate responsible for selecting the certificate used for authentication; note + that this cannot be specified in the configuration-string. + + + + + A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party; note + that this cannot be specified in the configuration-string. + + + + + The default (not explicitly configured) options for this connection, fetched based on our parsed endpoints. + + + + + Allows modification of a between creation and connection. + Passed in is the endpoint we're connecting to, which type of connection it is, and the socket itself. + For example, a specific local IP endpoint could be bound, linger time altered, etc. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException. + + + + + Indicates whether admin operations should be allowed. + + + + + Specifies the time in milliseconds that the system should allow for asynchronous operations (defaults to SyncTimeout). + + + + + Indicates whether the connection should be encrypted. + + + + + Gets or sets whether the library should identify itself by library-name/version when possible. + + + + + Gets or sets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. + Defaults to "SE.Redis". + + If the value is null, empty or whitespace, then the value from the options-provider is used; + to disable the library name feature, use instead. + + + + Automatically encodes and decodes channels. + + + + + A Boolean value that specifies whether the certificate revocation list is checked during authentication. + + + + + A Boolean value that specifies whether to use per-command validation of strict protocol validity. + This sends an additional command after EVERY command which incurs measurable overhead. + + + The regular RESP protocol does not include correlation identifiers between requests and responses; in exceptional + scenarios, protocol desynchronization can occur, which may not be noticed immediately; this option adds additional data + to ensure that this cannot occur, at the cost of some (small) additional bandwidth usage. + + + + + Create a certificate validation check that checks against the supplied issuer even when not known by the machine. + + The file system path to find the certificate at. + + + + Create a certificate validation check that checks against the supplied issuer even when not known by the machine. + + The issuer to trust. + + + + The client name to use for all connections. + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly. + + + + + The command-map associated with this configuration. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Gets the command map for a given server type, since some supersede settings when connecting. + + + + + Channel to use for broadcasting and listening for configuration change notification. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Specifies the time in milliseconds that should be allowed for connection (defaults to 5 seconds unless SyncTimeout is higher). + + + + + Specifies the default database to be used when calling without any parameters. + + + + + The server version to assume. + + + + + The endpoints defined for this configuration. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. + This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection. + + + + + Controls how often the connection heartbeats. A heartbeat includes: + - Evaluating if any messages have timed out. + - Evaluating connection status (checking for failures). + - Sending a server message to keep the connection alive if needed. + + + This defaults to 1000 milliseconds and should not be changed for most use cases. + If for example you want to evaluate whether commands have violated the at a lower fidelity + than 1000 milliseconds, you could lower this value. + Be aware setting this very low incurs additional overhead of evaluating the above more often. + + + + + Use ThreadPriority.AboveNormal for SocketManager reader and writer threads (true by default). + If , will be used. + + + + + Whether exceptions include identifiable details (key names, additional .Data annotations). + + + + + Whether exceptions include performance counter details. + + + CPU usage, etc - note that this can be problematic on some platforms. + + + + + Specifies the time in seconds at which connections should be pinged to ensure validity. + -1 Defaults to 60 Seconds. + + + + + The to get loggers for connection events. + Note: changes here only affect s created after. + + + + + The username to use to authenticate with the server. + + + + + The password to use to authenticate with the server. + + + + + Specifies whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Type of proxy to use (if any); for example . + + + + + The retry policy to be used for connection reconnects. + + + + + The backlog policy to be used for commands when a connection is unhealthy. + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure. + + + + + Specifies the time in milliseconds that the system should allow for responses before concluding that the socket is unhealthy. + + + + + The service name used to resolve a service via sentinel. + + + + + Gets or sets the SocketManager instance to be used with these options. + If this is null a shared cross-multiplexer is used. + + + This is only used when a is created. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + A provider for a given host, for custom TLS connection options. + Note: this overrides *all* other TLS and certificate settings, only for advanced use cases. + + + + + Indicates whether the connection should be encrypted. + + + + + The target-host to use when validating SSL certificate; setting a value here enables SSL mode. + + + + + Configures which SSL/TLS protocols should be allowed. If not set, defaults are chosen by the .NET framework. + + + + + Specifies the time in milliseconds that the system should allow for synchronous operations (defaults to 5 seconds). + + + + + Tie-breaker used to choose between primaries (must match the endpoint exactly). + + + + + The size of the output buffer to use. + + + + + Check configuration every n seconds (every minute by default). + + + + + Parse the configuration from a comma-delimited configuration string. + + The configuration string to parse. + is . + is empty. + + + + Parse the configuration from a comma-delimited configuration string. + + The configuration string to parse. + Whether to ignore unknown elements in . + is . + is empty. + + + + Create a copy of the configuration. + + + + + Apply settings to configure this instance of , e.g. for a specific scenario. + + An action that will update the properties of this instance. + This instance, with any changes made. + + + + Resolve the default port for any endpoints that did not have a port explicitly specified. + + + + + Gets a tie breaker if we both have one set, and should be using one. + + + + + Returns the effective configuration string for this configuration, including Redis credentials. + + + Includes password to allow generation of configuration strings used for connecting multiplexer. + + + + + Returns the effective configuration string for this configuration + with the option to include or exclude the password from the string. + + Whether to include the password. + + + + Allows custom transport implementations, such as http-tunneling via a proxy. + + + + + Specify the redis protocol type. + + + + + Options provider for Azure environments. + + + + + Allow connecting after startup, in the cases where remote cache isn't ready or is overloaded. + + + + + The minimum version of Redis in Azure is 6, so use the widest set of available commands when connecting. + + + + + Lists of domains known to be Azure Redis, so we can light up some helpful functionality + for minimizing downtime during maintenance events and such. + + + + + + + + + + + + + + A defaults providers for . + This providers defaults not explicitly specified and is present to be inherited by environments that want to provide + better defaults for their use case, e.g. in a single wrapper library used many places. + + + Why not just have a default instance? Good question! + Since we null coalesce down to the defaults, there's an inherent pit-of-failure with that approach of . + If you forget anything or if someone creates a provider nulling these out...kaboom. + + + + + The known providers to match against (built into the library) - the default set. + If none of these match, is used. + + + + + The current list of providers to match (potentially modified from defaults via . + + + + + Adds a provider to match endpoints against. The last provider added has the highest priority. + If you want your provider to match everything, implement as return true;. + + The provider to add. + + + + Whether this options provider matches a given endpoint, for automatically selecting a provider based on what's being connected to. + + + + + Gets a provider for the given endpoints, falling back to if nothing more specific is found. + + + + + Gets a provider for a given endpoints, falling back to if nothing more specific is found. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException. + + + + + Indicates whether admin operations should be allowed. + + + + + The backlog policy to be used for commands when a connection is unhealthy. + + + + + A Boolean value that specifies whether the certificate revocation list is checked during authentication. + + + + + A Boolean value that specifies whether to use per-command validation of strict protocol validity. + This sends an additional command after EVERY command which incurs measurable overhead. + + + The regular RESP protocol does not include correlation identifiers between requests and responses; in exceptional + scenarios, protocol desynchronization can occur, which may not be noticed immediately; this option adds additional data + to ensure that this cannot occur, at the cost of some (small) additional bandwidth usage. + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly. + + + + + Specifies the time that should be allowed for connection. + Falls back to Max(5000, SyncTimeout) if null. + + + + + The command-map associated with this configuration. + + + + + Channel to use for broadcasting and listening for configuration change notification. + + + + + The server version to assume. + + + + + Controls how often the connection heartbeats. A heartbeat includes: + - Evaluating if any messages have timed out. + - Evaluating connection status (checking for failures). + - Sending a server message to keep the connection alive if needed. + + Be aware setting this very low incurs additional overhead of evaluating the above more often. + + + + Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. + This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection. + + + + + Whether exceptions include identifiable details (key names, additional .Data annotations). + + + + + Whether exceptions include performance counter details. + + + CPU usage, etc - note that this can be problematic on some platforms. + + + + + Specifies the time interval at which connections should be pinged to ensure validity. + + + + + The to get loggers for connection events. + Note: changes here only affect s created after. + + + + + Type of proxy to use (if any); for example . + + + + + The retry policy to be used for connection reconnects. + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure. + + + + + Specifies the time that the system should allow for synchronous operations. + + + + + Tie-breaker used to choose between primaries (must match the endpoint exactly). + + + + + Check configuration every n interval. + + + + + The username to use to authenticate with the server. + + + + + The password to use to authenticate with the server. + + + + + The default client name for a connection, with the library version appended. + + + + + Gets the default client name for a connection. + + + + + Gets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. + Defaults to "SE.Redis". + + + + + String version of the StackExchange.Redis library, for use in any options. + + + + + Name of the machine we're running on, for use in any options. + + + + + Whether to identify the client by library name/version when possible. + + + + + Tries to get the RoleInstance Id if Microsoft.WindowsAzure.ServiceRuntime is loaded. + In case of any failure, swallows the exception and returns null. + + + Azure, in the default provider? Yes, to maintain existing compatibility/convenience. + Source != destination here. + + + + + The action to perform, if any, immediately after an initial connection completes. + + The multiplexer that just connected. + The logger for the connection, to emit to the connection output log. + + + + Gets the default SSL "enabled or not" based on a set of endpoints. + Note: this setting then applies for *all* endpoints. + + The configured endpoints to determine SSL usage from (e.g. from the port). + Whether to enable SSL for connections (unless explicitly overridden in a direct set). + + + + Gets the SSL Host to check for when connecting to endpoints (customizable in case of internal certificate shenanigans. + + The configured endpoints to determine SSL host from (e.g. from the port). + The common host, if any, detected from the endpoint collection. + + + + Captures redis traffic; intended for debug use. + + + + + Replay the RESP messages for a pair of streams, invoking a callback per operation. + + + + + Replay the RESP messages all the streams in a folder, invoking a callback per operation. + + The directory of captured files to replay. + Operation to perform per replayed message pair. + + + + Validate a RESP stream and return the number of top-level RESP fragments. + + The path of a single file to validate, or a directory of captured files to validate. + + + + Validate a RESP stream and return the number of top-level RESP fragments. + + + + + Create a new instance of a . + + + + + Configures the provided options to perform file-based logging to a directory; + files will be sequential per stream starting from zero, and will blindly overwrite existing files. + + + + + + + + Perform logging on the provided stream. + + + + + + + + + + + Get a typical text representation of a redis command. + + + + + Get a typical text representation of a redis response. + + + + + Allows interception of the transport used to communicate with Redis. + + + + + Gets the underlying socket endpoint to use when connecting to a logical endpoint. + + null should be returned if a socket is not required for this endpoint. + + + + Allows modification of a between creation and connection. + Passed in is the endpoint we're connecting to, which type of connection it is, and the socket itself. + For example, a specific local IP endpoint could be bound, linger time altered, etc. + + + + + Invoked on a connected endpoint before server authentication and other handshakes occur, allowing pre-redis handshakes. By returning a custom , + the entire data flow can be intercepted, providing entire custom transports. + + + + + Create a tunnel via an HTTP proxy server. + + The endpoint to use as an HTTP proxy server. + + + + Illustrates the counters associated with an individual connection. + + + + + The number of operations that have been completed asynchronously. + + + + + The number of operations that have been completed synchronously. + + + + + The type of this connection. + + + + + The number of operations that failed to complete asynchronously. + + + + + Indicates if there are any pending items or failures on this connection. + + + + + Indicates the total number of messages dispatched to a non-preferred endpoint, for example sent + to a primary when the caller stated a preference of replica. + + + + + The number of operations performed on this connection. + + + + + Operations that have been requested, but which have not yet been sent to the server. + + + + + Operations for which the response has been processed, but which are awaiting asynchronous completion. + + + + + Operations that have been sent to the server, but which are awaiting a response. + + + + + The number of sockets used by this logical connection (total, including reconnects). + + + + + The number of subscriptions (with and without patterns) currently held against this connection. + + + + + Indicates the total number of outstanding items against this connection. + + + + + Indicates the total number of writers items against this connection. + + + + + See . + + + + + Contains information about a server connection failure. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + Redis connection type. + Redis connection failure type. + The exception that occurred. + Connection physical name. + + + + Gets the connection-type of the failing connection. + + + + + Gets the failing server-endpoint. + + + + + Gets the exception if available (this can be null). + + + + + The type of failure. + + + + + Returns the physical name of the connection. + + + + + Represents an inter-related group of connections to redis servers. + A reference to this should be held and re-used. + + + + + + No longer used. + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Tracks overall connection multiplexer counts. + + + + + Tracks overall connection multiplexer counts. + + + + + Tracks overall connection multiplexer counts. + + + + + + + + + + + Gets the synchronous timeout associated with the connections. + + + + + Gets the asynchronous timeout associated with the connections. + + + + + Gets the client-name that will be used on all new connections. + + + We null coalesce here instead of in Options so that we don't populate it everywhere (e.g. .ToString()), given it's a default. + + + + + Gets the configuration of the connection. + + + + + Indicates whether any servers are connected. + + + + + Indicates whether any servers are currently trying to connect. + + + + + Get summary statistics associated with all servers in this multiplexer. + + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type contains in the task to wait on. + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + The to log to. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + Action to further modify the parsed configuration options. + The to log to. + + + + Creates a new instance. + + The configuration options to use for this multiplexer. + The to log to. + Note: For Sentinel, do not specify a - this is handled automatically. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + The to log to. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + Action to further modify the parsed configuration options. + The to log to. + + + + Creates a new instance. + + The configuration options to use for this multiplexer. + The to log to. + Note: For Sentinel, do not specify a - this is handled automatically. + + + + Obtain a pub/sub subscriber connection to the specified server. + + The async state object to pass to the created . + + + + Applies common DB number defaults and rules. + + + + + Obtain an interactive connection to a database inside redis. + + The ID to get a database for. + The async state to pass into the resulting . + + + + Compute the hash-slot of a specified key. + + The key to get a hash slot ID for. + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The port for to get a server for. + The async state to pass into the resulting . + + + + Obtain a configuration API for an individual server. + + The "host:port" string to get a server for. + The async state to pass into the resulting . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The port for to get a server for. + + + + Obtain a configuration API for an individual server. + + The endpoint to get a server for. + The async state to pass into the resulting . + + + + Obtain configuration APIs for all servers in this multiplexer. + + + + + Get the hash-slot associated with a given key, if applicable. + This can be useful for grouping operations. + + The to determine the hash slot for. + + + + The number of operations that have been performed on all connections. + + + + + Reconfigure the current connections based on the existing configuration. + + The to log to. + + + + Reconfigure the current connections based on the existing configuration. + + The to log to. + + + + Provides a text overview of the status of all connections. + + + + + Provides a text overview of the status of all connections. + + The to log to. + + + + Triggers a reconfigure of this multiplexer. + This re-assessment of all server endpoints to get the current topology and adjust, the same as if we had first connected. + + + + + Gets all endpoints defined on the multiplexer. + + Whether to get only the endpoints specified explicitly in the config. + + + + Gets the client name for this multiplexer. + + + + + Sends request to all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending). + + + + Sends request to all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher). + + + + Release all resources associated with this object. + + + + + Release all resources associated with this object. + + + + + Close all connections and release all resources associated with this object. + + Whether to allow all in-queue commands to complete first. + + + + Close all connections and release all resources associated with this object. + + Whether to allow all in-queue commands to complete first. + + + + Invoked by the garbage collector. + + + + + For debugging: when not enabled, servers cannot connect. + + + + + For debugging: when not enabled, end-connect is silently ignored (to simulate a long-running connect). + + + + + Raised whenever a physical connection fails. + + + + + Raised whenever an internal error occurs (this is primarily for debugging). + + + + + Raised whenever a physical connection is established. + + + + + Raised when configuration changes are detected. + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast. + This usually means primary/replica changes. + + + + + Raised when server indicates a maintenance event is going to happen. + + + + + Raised when a hash-slot has been relocated. + + + + + Raised when a server replied with an error message. + + + + + Write the configuration of all servers to an output stream. + + The destination stream to write the export to. + The options to use for this export. + + + + Enables or disables a feature flag. + This should only be used under support guidance, and should not be rapidly toggled. + + + + + Returns the state of a feature flag. + This should only be used under support guidance. + + + + + + + + Register a callback to provide an on-demand ambient session provider based on the + calling context; the implementing code is responsible for reliably resolving the same provider + based on ambient context, or returning null to not profile. + + The session provider to register. + + + + Initializes the connection as a Sentinel connection and adds the necessary event handlers to track changes to the managed primaries. + + The to log to, if any. + + + + Create a new instance that connects to a Sentinel server. + + The string configuration to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The string configuration to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a sentinel server, discovers the current primary server + for the specified in the config and returns a managed connection to the current primary server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a sentinel server, discovers the current primary server + for the specified in the config and returns a managed connection to the current primary server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Returns a managed connection to the primary server indicated by the in the config. + + The configuration to be used when connecting to the primary. + The writer to log to, if any. + + + + Switches the SentinelMasterConnection over to a new primary. + + The endpoint responsible for the switch. + The connection that should be switched over to a new primary endpoint. + The writer to log to, if any. + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time). + Set to a negative value to disable this feature. + + + + + Obtains the log of unusual busy patterns. + + + + + Resets the log of unusual busy patterns. + + + + + Gets the subscriber counts for a channel. + + if there's a subscription registered at all. + + + + Gets which server, if any, there's a registered subscription to for this channel. + + + This may be null if there is a subscription, but we don't have a connected server at the moment. + This behavior is fine but IsConnected checks, but is a subtle difference in . + + + + + Handler that executes whenever a message comes in, this doles out messages to any registered handlers. + + + + + Updates all subscriptions re-evaluating their state. + This clears the current server if it's not connected, prepping them to reconnect. + + + + + Ensures all subscriptions are connected to a server, if possible. + + The count of subscriptions attempting to reconnect (same as the count currently not connected). + + + + This is the record of a single subscription to a redis server. + It's the singular channel (which may or may not be a pattern), to one or more handlers. + We subscriber to a redis server once (for all messages) and execute 1-many handlers when a message arrives. + + + + + Whether the we have is connected. + Since we clear on a disconnect, this should stay correct. + + + + + Gets the configured (P)SUBSCRIBE or (P)UNSUBSCRIBE for an action. + + + + + Evaluates state and if we're not currently connected, clears the server reference. + + + + + Provides the ability to iterate over a cursor-based sequence of redis data, synchronously or asynchronously. + + The type of the data in the cursor. + + + + Gets an enumerator for the sequence. + + + + + Gets an enumerator for the sequence. + + + + + Provides the ability to iterate over a cursor-based sequence of redis data, synchronously or asynchronously. + + + + + Gets the current value of the enumerator. + + + + + Release all resources associated with this enumerator. + + + + + Release all resources associated with this enumerator. + + + + + Try to move to the next item in the sequence. + + + + + Try to move to the next item in the sequence. + + + + + Reset the enumerator. + + + + + The cursor position. + + + This may fail on cluster-proxy - I'm OK with this for now. + + + + + A list of endpoints. + + + + + Create a new . + + + + + Create a new . + + The endpoints to add to the collection. + + + + Format an . + + The endpoint to get a string representation for. + + + + Attempt to parse a string into an . + + The endpoint string to parse. + + + + Adds a new endpoint to the list. + + The host:port string to add an endpoint for to the collection. + + + + Adds a new endpoint to the list. + + The host to add. + The port for to add. + + + + Adds a new endpoint to the list. + + The host to add. + The port for to add. + + + + Try adding a new endpoint to the list. + + The endpoint to add. + if the endpoint was added, if not. + + + + See . + + The index to add into the collection at. + The item to insert at . + + + + See . + + The index to replace an endpoint at. + The item to replace the existing endpoint at . + + + + + + + Event information related to redis endpoints. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + + + + The endpoint involved in this event (this can be null). + + + + + Specifies how elements should be aggregated when combining sorted sets. + + + + + The values of the combined elements are added. + + + + + The least value of the combined elements is used. + + + + + The greatest value of the combined elements is used. + + + + + Bitwise operators + + + + + And + + + + + Or + + + + + Xor + + + + + Not + + + + + The client flags can be a combination of: + + + A + Connection to be closed ASAP. + + + b + The client is waiting in a blocking operation. + + + c + Connection to be closed after writing entire reply. + + + d + A watched keys has been modified - EXEC will fail. + + + i + The client is waiting for a VM I/O (deprecated). + + + M + The client is a primary. + + + N + No specific flag set. + + + O + The client is a replica in MONITOR mode. + + + P + The client is a Pub/Sub subscriber. + + + r + The client is in readonly mode against a cluster node. + + + S + The client is a normal replica server. + + + u + The client is unblocked. + + + U + The client is unblocked. + + + x + The client is in a MULTI/EXEC context. + + + t + The client enabled keys tracking in order to perform client side caching. + + + R + The client tracking target client is invalid. + + + B + The client enabled broadcast tracking mode. + + + + + + + + No specific flag set. + + + + + The client is a replica in MONITOR mode. + + + + + The client is a replica in MONITOR mode. + + + + + The client is a normal replica server. + + + + + The client is a normal replica server. + + + + + The client is a primary. + + + + + The client is in a MULTI/EXEC context. + + + + + The client is waiting in a blocking operation. + + + + + A watched keys has been modified - EXEC will fail. + + + + + Connection to be closed after writing entire reply. + + + + + The client is unblocked. + + + + + Connection to be closed ASAP. + + + + + The client is a Pub/Sub subscriber. + + + + + The client is in readonly mode against a cluster node. + + + + + The client is connected via a Unix domain socket. + + + + + The client enabled keys tracking in order to perform client side caching. + + + + + The client tracking target client is invalid. + + + + + The client enabled broadcast tracking mode. + + + + + The class of the connection. + + + + + Regular connections, including MONITOR connections. + + + + + Replication connections. + + + + + Replication connections. + + + + + Subscription connections. + + + + + Behaviour markers associated with a given command. + + + + + Default behaviour. + + + + + From 2.0, this flag is not used. + + + + + The caller is not interested in the result; the caller will immediately receive a default-value + of the expected return type (this value is not indicative of anything at the server). + + + + + This operation should be performed on the primary if it is available, but read operations may + be performed on a replica if no primary is available. This is the default option. + + + + + This operation should be performed on the replica if it is available, but will be performed on + a primary if no replicas are available. Suitable for read operations only. + + + + + This operation should only be performed on the primary. + + + + + This operation should be performed on the replica if it is available, but will be performed on + a primary if no replicas are available. Suitable for read operations only. + + + + + This operation should only be performed on a replica. Suitable for read operations only. + + + + + This operation should only be performed on a replica. Suitable for read operations only. + + + + + Indicates that this operation should not be forwarded to other servers as a result of an ASK or MOVED response. + + + + + Indicates that script-related operations should use EVAL, not SCRIPT LOAD + EVALSHA. + + + + + Track status of a command while communicating with Redis. + + + + + Command status unknown. + + + + + ConnectionMultiplexer has not yet started writing this command to Redis. + + + + + Command has been sent to Redis. + + + + + Command is in the backlog, waiting to be processed and written to Redis. + + + + + The known types of connection failure. + + + + + This event is not a failure. + + + + + No viable connections were available for this operation. + + + + + The socket for this connection failed. + + + + + Either SSL Stream or Redis authentication failed. + + + + + An unexpected response was received from the server. + + + + + An unknown internal error occurred. + + + + + The socket was closed. + + + + + The socket was closed. + + + + + The database is loading and is not available for use. + + + + + It has not been possible to create an initial connection to the redis server(s). + + + + + High-integrity mode was enabled, and a failure was detected. + + + + + The type of a connection. + + + + + Not connection-type related. + + + + + An interactive connection handles request/response commands for accessing data on demand. + + + + + A subscriber connection receives unsolicited messages from the server as pub/sub events occur. + + + + + When performing a range query, by default the start / stop limits are inclusive; + however, both can also be specified separately as exclusive. + + + + + Both start and stop are inclusive. + + + + + Start is exclusive, stop is inclusive. + + + + + Start is inclusive, stop is exclusive. + + + + + Both start and stop are exclusive. + + + + + Specifies the result of operation to set expire time. + + + + + Field deleted because the specified expiration time is due. + + + + + Expiration time/duration updated successfully. + + + + + Expiration not set because of a specified NX | XX | GT | LT condition not met. + + + + + No such field. + + + + + Specifies when to set the expiry for a key. + + + + + Set expiry whether or not there is an existing expiry. + + + + + Set expiry only when the new expiry is greater than current one. + + + + + Set expiry only when the key has an existing expiry. + + + + + Set expiry only when the key has no expiry. + + + + + Set expiry only when the new expiry is less than current one. + + + + + Which settings to export. + + + + + No options. + + + + + The output of INFO. + + + + + The output of CONFIG GET *. + + + + + The output of CLIENT LIST. + + + + + The output of CLUSTER NODES. + + + + + Everything available. + + + + + Units associated with Geo Commands. + + + + + Meters. + + + + + Kilometers. + + + + + Miles. + + + + + Feet. + + + + + Specifies what side of the list to refer to. + + + + + The head of the list. + + + + + The tail of the list. + + + + + Additional options for the MIGRATE command. + + + + + No options specified. + + + + + Do not remove the key from the local instance. + + + + + Replace existing key on the remote instance. + + + + + The direction in which to sequence elements. + + + + + Ordered from low values to high values. + + + + + Ordered from high values to low values. + + + + + Specifies the result of operation to remove the expire time. + + + + + Expiration removed successfully. + + + + + Expiration not removed because of a specified NX | XX | GT | LT condition not met. + + + + + No such field. + + + + + Specifies the proxy that is being used to communicate to redis. + + + + + Direct communication to the redis server(s). + + + + + Communication via twemproxy. + + + + + Communication via envoyproxy. + + + + + Whether a proxy supports databases (e.g. database > 0). + + + + + Whether a proxy supports pub/sub. + + + + + Whether a proxy supports the ConnectionMultiplexer.GetServer. + + + + + Gets whether a given command can be issued only to a primary, or if any server is eligible. + + The to check. + if the command is primary-only, otherwise. + + + + The intrinsic data-types supported by redis. + + + + + + The specified key does not exist. + + + + + Strings are the most basic kind of Redis value. Redis Strings are binary safe, this means that + a Redis string can contain any kind of data, for instance a JPEG image or a serialized Ruby object. + A String value can be at max 512 Megabytes in length. + + + + + + Redis Lists are simply lists of strings, sorted by insertion order. + It is possible to add elements to a Redis List pushing new elements on the head (on the left) or + on the tail (on the right) of the list. + + + + + + Redis Sets are an unordered collection of Strings. It is possible to add, remove, and test for + existence of members in O(1) (constant time regardless of the number of elements contained inside the Set). + Redis Sets have the desirable property of not allowing repeated members. + Adding the same element multiple times will result in a set having a single copy of this element. + Practically speaking this means that adding a member does not require a check if exists then add operation. + + + + + + Redis Sorted Sets are, similarly to Redis Sets, non repeating collections of Strings. + The difference is that every member of a Sorted Set is associated with score, that is used + in order to take the sorted set ordered, from the smallest to the greatest score. + While members are unique, scores may be repeated. + + + + + + Redis Hashes are maps between string fields and string values, so they are the perfect data type + to represent objects (e.g. A User with a number of fields like name, surname, age, and so forth). + + + + + + A Redis Stream is a data structure which models the behavior of an append only log but it has more + advanced features for manipulating the data contained within the stream. Each entry in a + stream contains a unique message ID and a list of name/value pairs containing the entry's data. + + + + + + The data-type was not recognised by the client library. + + + + + Additional operations to perform when making a server a primary. + + + + + No additional operations. + + + + + Set the tie-breaker key on all available primaries, to specify this server. + + + + + Broadcast to the pub-sub channel to listening clients to reconfigure themselves. + + + + + Issue a REPLICAOF to all other known nodes, making this primary of all. + + + + + Issue a REPLICAOF to all other known nodes, making this primary of all. + + + + + All additional operations. + + + + + The underlying result type as defined by Redis. + + + + + No value was received. + + + + + Basic strings typically represent status results such as "OK". + + + + + Error strings represent invalid operation results from the server. + + + + + Integers are returned for count operations and some integer-based increment operations. + + + + + Bulk strings represent typical user content values. + + + + + Array of results (former Multi-bulk). + + + + + Multi-bulk replies represent complex results such as arrays. + + + + + A single null value replacing RESP v2 blob and multi-bulk nulls. + + + + + True or false. + + + + + A floating point number. + + + + + A large number non representable by the type. + + + + + Binary safe error code and message. + + + + + A binary safe string that should be displayed to humans without any escaping or filtering. For instance the output of LATENCY DOCTOR in Redis. + + + + + An unordered collection of key-value pairs. Keys and values can be any other RESP3 type. + + + + + An unordered collection of N other types. + + + + + Like the type, but the client should keep reading the reply ignoring the attribute type, and return it to the client as additional information. + + + + + Out of band data. The format is like the type, but the client should just check the first string element, + stating the type of the out of band data, a call a callback if there is one registered for this specific type of push information. + Push types are not related to replies, since they are information that the server may push at any time in the connection, + so the client should keep reading if it is reading the reply of a command. + + + + + + If an IProfiledCommand is a retransmission of a previous command, this enum + is used to indicate what prompted the retransmission. + + + This can be used to distinguish between transient causes (moving hashslots, joining nodes, etc.) + and incorrect routing. + + + + + + No stated reason. + + + + + Issued to investigate which node owns a key. + + + + + A node has indicated that it does *not* own the given key. + + + + + The type of save operation to perform. + + + + + Instruct Redis to start an Append Only File rewrite process. + The rewrite will create a small optimized version of the current Append Only File. + + + + + + Save the DB in background. The OK code is immediately returned. + Redis forks, the parent continues to serve the clients, the child saves the DB on disk then exits. + A client my be able to check if the operation succeeded using the LASTSAVE command. + + + + + + Save the DB in foreground. + This is almost never a good thing to do, and could cause significant blocking. + Only do this if you know you need to save. + + + + + + Indicates the flavor of a particular redis server. + + + + + Classic redis-server server. + + + + + Monitoring/configuration redis-sentinel server. + + + + + Distributed redis-cluster server. + + + + + Distributed redis installation via twemproxy. + + + + + Redis cluster via envoyproxy. + + + + + Whether a server type can have only a single primary, meaning an election if multiple are found. + + + + + Whether a server type supports . + + + + + Describes an algebraic set operation that can be performed to combine multiple sets. + + + + + Returns the members of the set resulting from the union of all the given sets. + + + + + Returns the members of the set resulting from the intersection of all the given sets. + + + + + Returns the members of the set resulting from the difference between the first set and all the successive sets. + + + + + Defines the persistence behaviour of the server during shutdown. + + + + + The data is persisted if save points are configured. + + + + + The data is NOT persisted even if save points are configured. + + + + + The data is persisted even if save points are NOT configured. + + + + + Enum to manage ordering in sorted sets. + + + + + Bases ordering off of the rank in the sorted set. This means that your start and stop inside the sorted set will be some offset into the set. + + + + + Bases ordering off of the score in the sorted set. This means your start/stop will be some number which is the score for each member in the sorted set. + + + + + Bases ordering off of lexicographical order, this is only appropriate in an instance where all the members of your sorted set are given the same score. + + + + + Indicates when this operation should be performed (only some variations are legal in a given context). + + + + + The operation won't be prevented. + + + + + The operation should only occur when there is an existing value. + + + + + The operation should only occur when the new score is greater than the current score. + + + + + The operation should only occur when the new score is less than the current score. + + + + + The operation should only occur when there is not an existing value. + + + + + Specifies how to compare elements for sorting. + + + + + Elements are interpreted as a double-precision floating point number and sorted numerically. + + + + + Elements are sorted using their alphabetic form + (Redis is UTF-8 aware as long as the !LC_COLLATE environment variable is set at the server). + + + + + Indicates if we index into a string based on bits or bytes. + + + + + Indicates the index is the number of bytes into a string. + + + + + Indicates the index is the number of bits into a string. + + + + + Indicates when this operation should be performed (only some variations are legal in a given context). + + + + + The operation should occur whether or not there is an existing value. + + + + + The operation should only occur when there is an existing value. + + + + + The operation should only occur when there is not an existing value. + + + + + Indicates that a command was illegal and was not sent to the server. + + + + + Creates a new . + + The message for the exception. + + + + Creates a new . + + The message for the exception. + The inner exception. + + + + Indicates the time allotted for a command or operation has expired. + + + + + Creates a new . + + The message for the exception. + The command status, as of when the timeout happened. + + + + status of the command while communicating with Redis. + + + + + Serialization implementation; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates a connection fault when communicating with redis. + + + + + Creates a new . + + The type of connection failure. + The message for the exception. + + + + Creates a new . + + The type of connection failure. + The message for the exception. + The inner exception. + + + + Creates a new . + + The type of connection failure. + The message for the exception. + The inner exception. + The status of the command. + + + + The type of connection failure. + + + + + Status of the command while communicating with Redis. + + + + + Serialization implementation; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates an issue communicating with redis. + + + + + Creates a new . + + The message for the exception. + + + + Creates a new . + + The message for the exception. + The inner exception. + + + + Deserialization constructor; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates an exception raised by a redis server. + + + + + Creates a new . + + The message for the exception. + + + + Represents a retry policy that performs retries, using a randomized exponential back off scheme to determine the interval between retries. + + + + + Initializes a new instance using the specified back off interval with default maxDeltaBackOffMilliseconds of 10 seconds. + + Time in milliseconds for the back-off interval between retries. + + + + Initializes a new instance using the specified back off interval. + + Time in milliseconds for the back-off interval between retries. + Time in milliseconds for the maximum value that the back-off interval can exponentially grow up to. + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state. + Total elapsed time in milliseconds since the last reconnect retry was made. + + + + Utility methods. + + + + + Create a dictionary from an array of HashEntry values. + + The entry to convert to a dictionary. + + + + Create a dictionary from an array of HashEntry values. + + The entry to convert to a dictionary. + + + + Create a dictionary from an array of SortedSetEntry values. + + The set entries to convert to a dictionary. + + + + Create a dictionary from an array of SortedSetEntry values. + + The set entries to convert to a dictionary. + + + + Create a dictionary from an array of key/value pairs. + + The pairs to convert to a dictionary. + + + + Create a dictionary from an array of key/value pairs. + + The pairs to convert to a dictionary. + + + + Create a dictionary from an array of string pairs. + + The pairs to convert to a dictionary. + + + + Create an array of RedisValues from an array of strings. + + The string array to convert to RedisValues. + + + + Create an array of strings from an array of values. + + The values to convert to an array. + + + + Represent a byte-Lease as a read-only Stream. + + The lease upon which to base the stream. + If true, disposing the stream also disposes the lease. + + + + Decode a byte-Lease as a String, optionally specifying the encoding (UTF-8 if omitted). + + The bytes to decode. + The encoding to use. + + + + Decode a byte-Lease as a String, optionally specifying the encoding (UTF-8 if omitted). + + The bytes to decode. + The encoding to use. + + + + + Adapted from IPEndPointParser in Microsoft.AspNetCore + Link: . + + + Copyright (c) .NET Foundation. All rights reserved. + Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + + + If Unix sockets are attempted but not supported. + + + + Contains information about individual hash-slot relocations. + + + + + The hash-slot that was relocated. + + + + + The old endpoint for this hash-slot (if known). + + + + + The new endpoint for this hash-slot (if known). + + + + + This constructor is only for testing purposes. + + The source of the event. + Hash slot. + Old endpoint. + New endpoint. + + + + Represents a block of operations that will be sent to the server together. + This can be useful to reduce packet fragmentation on slow connections - it + can improve the time to get *all* the operations processed, with the trade-off + of a slower time to get the *first* operation processed; this is usually + a good thing. Unless this batch is a transaction, there is no guarantee + that these operations will be processed either contiguously or atomically by the server. + + + + + Execute the batch operation, sending all queued commands to the server. + Note that this operation is neither synchronous nor truly asynchronous - it simply enqueues the buffered messages. + To check on completion, you should check the individual responses. + + + + + Represents the abstract multiplexer API. + + + + + Gets the client-name that will be used on all new connections. + + + + + Gets the configuration of the connection. + + + + + Gets the timeout associated with the connections. + + + + + The number of operations that have been performed on all connections. + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Indicates whether any servers are connected. + + + + + Indicates whether any servers are connecting. + + + + + Should exceptions include identifiable details? (key names, additional annotations). + + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time. + Set to a negative value to disable this feature). + + + + + Register a callback to provide an on-demand ambient session provider based on the calling context. + The implementing code is responsible for reliably resolving the same provider + based on ambient context, or returning null to not profile. + + The profiling session provider. + + + + Get summary statistics associates with this server. + + + + + A server replied with an error message. + + + + + Raised whenever a physical connection fails. + + + + + Raised whenever an internal error occurs (this is primarily for debugging). + + + + + Raised whenever a physical connection is established. + + + + + Raised when configuration changes are detected. + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast. + This usually means primary/replica changes. + + + + + Raised when server indicates a maintenance event is going to happen. + + + + + Gets all endpoints defined on the multiplexer. + + Whether to return only the explicitly configured endpoints. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type in . + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Raised when a hash-slot has been relocated. + + + + + Compute the hash-slot of a specified key. + + The key to get a slot ID for. + + + + Obtain a pub/sub subscriber connection to the specified server. + + The async state to pass to the created . + + + + Obtain an interactive connection to a database inside redis. + + The database ID to get. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The specific port for to get a server for. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The "host:port" string to get a server for. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The specific port for to get a server for. + + + + Obtain a configuration API for an individual server. + + The endpoint to get a server for. + The async state to pass to the created . + + + + Obtain configuration APIs for all servers in this multiplexer. + + + + + Reconfigure the current connections based on the existing configuration. + + The log to write output to. + + + + Reconfigure the current connections based on the existing configuration. + + The log to write output to. + + + + Provides a text overview of the status of all connections. + + + + + Provides a text overview of the status of all connections. + + The log to write output to. + + + + See . + + + + + Close all connections and release all resources associated with this object. + + Whether to allow in-queue commands to complete first. + + + + Close all connections and release all resources associated with this object. + + Whether to allow in-queue commands to complete first. + + + + Obtains the log of unusual busy patterns. + + + + + Resets the log of unusual busy patterns. + + + + + Request all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending). + + + + Request all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher). + + + + Get the hash-slot associated with a given key, if applicable; this can be useful for grouping operations. + + The key to get a the slot for. + + + + Write the configuration of all servers to an output stream. + + The destination stream to write the export to. + The options to use for this export. + + + + Append a usage-specific modifier to the advertised library name; suffixes are de-duplicated + and sorted alphabetically (so adding 'a', 'b' and 'a' will result in suffix '-a-b'). + Connections will be updated as necessary (RESP2 subscription + connections will not show updates until those connections next connect). + + + + + Describes functionality that is common to both standalone redis servers and redis clusters. + + + + + The numeric identifier of this database. + + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + but which may or may not be processed on the server contiguously. + + The async object state to be passed into the created . + The created batch. + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. + + The async object state to be passed into the created . + The created transaction. + + + + Atomically transfer a key from a source Redis instance to a destination Redis instance. + On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance. + + The key to migrate. + The server to migrate the key to. + The database to migrate the key to. + The timeout to use for the transfer. + The options to use for this migration. + The flags to use for this operation. + + + + + Returns the raw DEBUG OBJECT output for a key. + This command is not fully documented and should be avoided unless you have good reason, and then avoided anyway. + + The key to debug. + The flags to use for this migration. + The raw output from DEBUG OBJECT. + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The longitude of geo entry. + The latitude of the geo entry. + The value to set at this entry. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The geo value to store. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified members to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The geo values add to the set. + The flags to use for this operation. + The number of elements that were added to the set, not including all the elements already present into the set. + + + + + Removes the specified member from the geo sorted set stored at key. + Non existing members are ignored. + + The key of the set. + The geo value to remove. + The flags to use for this operation. + if the member existed in the sorted set and was removed, else . + + + + + Return the distance between two members in the geospatial index represented by the sorted set. + + The key of the set. + The first member to check. + The second member to check. + The unit of distance to return (defaults to meters). + The flags to use for this operation. + The command returns the distance as a double (represented as a string) in the specified unit, or if one or both the elements are missing. + + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The key of the set. + The members to get. + The flags to use for this operation. + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The key of the set. + The member to get. + The flags to use for this operation. + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The key of the set. + The members to get. + The flags to use for this operation. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command. + Non existing elements are reported as NULL elements of the array. + + + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The key of the set. + The member to get. + The flags to use for this operation. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command. + Non existing elements are reported as NULL elements of the array. + + + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are + within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + The key of the set. + The member to get a radius of results from. + The radius to check. + The unit of (defaults to meters). + The count of results to get, -1 for unlimited. + The order of the results. + The search options to use. + The flags to use for this operation. + The results found within the radius, if any. + + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are + within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + The key of the set. + The longitude of the point to get a radius of results from. + The latitude of the point to get a radius of results from. + The radius to check. + The unit of (defaults to meters). + The count of results to get, -1 for unlimited. + The order of the results. + The search options to use. + The flags to use for this operation. + The results found within the radius, if any. + + + + + Return the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the provided set . + + The key of the set. + The set member to use as the center of the shape. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + The search options to use. + The flags for this operation. + The results found within the shape, if any. + + + + + Return the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the point provided by the and . + + The key of the set. + The longitude of the center point. + The latitude of the center point. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + The search options to use. + The flags for this operation. + The results found within the shape, if any. + + + + + Stores the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the provided set . + + The key of the set. + The key to store the result at. + The set member to use as the center of the shape. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + If set to true, the resulting set will be a regular sorted-set containing only distances, rather than a geo-encoded sorted-set. + The flags for this operation. + The size of the set stored at . + + + + + Stores the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the point provided by the and . + + The key of the set. + The key to store the result at. + The longitude of the center point. + The latitude of the center point. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + If set to true, the resulting set will be a regular sorted-set containing only distances, rather than a geo-encoded sorted-set. + The flags for this operation. + The size of the set stored at . + + + + + Decrements the number stored at field in the hash stored at key by decrement. + If key does not exist, a new key holding a hash is created. + If field does not exist the value is set to 0 before the operation is performed. + + The key of the hash. + The field in the hash to decrement. + The amount to decrement by. + The flags to use for this operation. + The value at field after the decrement operation. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + + + + + + Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. + If the field does not exist, it is set to 0 before performing the operation. + + The key of the hash. + The field in the hash to decrement. + The amount to decrement by. + The flags to use for this operation. + The value at field after the decrement operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + + + + + Removes the specified fields from the hash stored at key. + Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + The key of the hash. + The field in the hash to delete. + The flags to use for this operation. + if the field was removed. + + + + + Removes the specified fields from the hash stored at key. + Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + The key of the hash. + The fields in the hash to delete. + The flags to use for this operation. + The number of fields that were removed. + + + + + Returns if field is an existing field in the hash stored at key. + + The key of the hash. + The field in the hash to check. + The flags to use for this operation. + if the hash contains field, if the hash does not contain field, or key does not exist. + + + + + Set the remaining time to live in milliseconds for the given set of fields of hash + After the timeout has expired, the field of the hash will automatically be deleted. + + The key of the hash. + The fields in the hash to set expire time. + The timeout to set. + under which condition the expiration will be set using . + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns an array where each item is the result of operation for given fields: + + + Result + Description + + + 2 + Field deleted because the specified expiration time is due. + + + 1 + Expiration time set/updated. + + + 0 + Expiration time is not set/update (a specified ExpireWhen condition is not met). + + + -1 + No such field exists. + + + + + + + Set the time out on a field of the given set of fields of hash. + After the timeout has expired, the field of the hash will automatically be deleted. + + The key of the hash. + The fields in the hash to set expire time. + The exact date to expiry to set. + under which condition the expiration will be set using . + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns an array where each item is the result of operation for given fields: + + + Result + Description + + + 2 + Field deleted because the specified expiration time is due. + + + 1 + Expiration time set/updated. + + + 0 + Expiration time is not set/update (a specified ExpireWhen condition is not met). + + + -1 + No such field exists. + + + + + + + For each specified field, it gets the expiration time as a Unix timestamp in milliseconds (milliseconds since the Unix epoch). + + The key of the hash. + The fields in the hash to get expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + > 0 + Expiration time, as a Unix timestamp in milliseconds. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + For each specified field, it removes the expiration time. + + The key of the hash. + The fields in the hash to remove expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + 1 + Expiration time was removed. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + For each specified field, it gets the remaining time to live in milliseconds. + + The key of the hash. + The fields in the hash to get expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + > 0 + Time to live, in milliseconds. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + Returns the value associated with field in the hash stored at key. + + The key of the hash. + The field in the hash to get. + The flags to use for this operation. + The value associated with field, or when field is not present in the hash or key does not exist. + + + + + Returns the value associated with field in the hash stored at key. + + The key of the hash. + The field in the hash to get. + The flags to use for this operation. + The value associated with field, or when field is not present in the hash or key does not exist. + + + + + Returns the values associated with the specified fields in the hash stored at key. + For every field that does not exist in the hash, a value is returned. + Because non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of values. + + The key of the hash. + The fields in the hash to get. + The flags to use for this operation. + List of values associated with the given fields, in the same order as they are requested. + + + + + Returns all fields and values of the hash stored at key. + + The key of the hash to get all entries from. + The flags to use for this operation. + List of fields and their values stored in the hash, or an empty list when key does not exist. + + + + + Increments the number stored at field in the hash stored at key by increment. + If key does not exist, a new key holding a hash is created. + If field does not exist the value is set to 0 before the operation is performed. + + The key of the hash. + The field in the hash to increment. + The amount to increment by. + The flags to use for this operation. + The value at field after the increment operation. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + + + + + + Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. + If the field does not exist, it is set to 0 before performing the operation. + + The key of the hash. + The field in the hash to increment. + The amount to increment by. + The flags to use for this operation. + The value at field after the increment operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + + + + + Returns all field names in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + List of fields in the hash, or an empty list when key does not exist. + + + + + Returns the number of fields contained in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + The number of fields in the hash, or 0 when key does not exist. + + + + + Gets a random field from the hash at . + + The key of the hash. + The flags to use for this operation. + A random hash field name or if the hash does not exist. + + + + + Gets field names from the hash at . + + The key of the hash. + The number of fields to return. + The flags to use for this operation. + An array of hash field names of size of at most , or if the hash does not exist. + + + + + Gets field names and values from the hash at . + + The key of the hash. + The number of fields to return. + The flags to use for this operation. + An array of hash entries of size of at most , or if the hash does not exist. + + + + + The HSCAN command is used to incrementally iterate over a hash. + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + The HSCAN command is used to incrementally iterate over a hash. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + The HSCAN command is used to incrementally iterate over a hash and return only field names. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + Sets the specified fields to their respective values in the hash stored at key. + This command overwrites any specified fields that already exist in the hash, leaving other unspecified fields untouched. + If key does not exist, a new key holding a hash is created. + + The key of the hash. + The entries to set in the hash. + The flags to use for this operation. + + + + + Sets field in the hash stored at key to value. + If key does not exist, a new key holding a hash is created. + If field already exists in the hash, it is overwritten. + + The key of the hash. + The field to set in the hash. + The value to set. + Which conditions under which to set the field value (defaults to always). + The flags to use for this operation. + if field is a new field in the hash and value was set, if field already exists in the hash and the value was updated. + + See + , + . + + + + + Returns the string length of the value associated with field in the hash stored at key. + + The key of the hash. + The field containing the string. + The flags to use for this operation. + The length of the string at field, or 0 when key does not exist. + + + + + Returns all values in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + List of values in the hash, or an empty list when key does not exist. + + + + + Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument. + + The key of the hyperloglog. + The value to add. + The flags to use for this operation. + if at least 1 HyperLogLog internal register was altered, otherwise. + + + + + Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument. + + The key of the hyperloglog. + The values to add. + The flags to use for this operation. + if at least 1 HyperLogLog internal register was altered, otherwise. + + + + + Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist. + + The key of the hyperloglog. + The flags to use for this operation. + The approximated number of unique elements observed via HyperLogLogAdd. + + + + + Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist. + + The keys of the hyperloglogs. + The flags to use for this operation. + The approximated number of unique elements observed via HyperLogLogAdd. + + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + The key of the merged hyperloglog. + The key of the first hyperloglog to merge. + The key of the second hyperloglog to merge. + The flags to use for this operation. + + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + The key of the merged hyperloglog. + The keys of the hyperloglogs to merge. + The flags to use for this operation. + + + + + Indicate exactly which redis server we are talking to. + + The key to check. + The flags to use for this operation. + The endpoint serving the key. + + + + Copies the value from the to the specified . + + The key of the source value to copy. + The destination key to copy the source to. + The database ID to store in. If default (-1), current database is used. + Whether to overwrite an existing values at . If and the key exists, the copy will not succeed. + The flags to use for this operation. + if key was copied. if key was not copied. + + + + + Removes the specified key. A key is ignored if it does not exist. + If UNLINK is available (Redis 4.0+), it will be used. + + The key to delete. + The flags to use for this operation. + if the key was removed. + + See + , + . + + + + + Removes the specified keys. A key is ignored if it does not exist. + If UNLINK is available (Redis 4.0+), it will be used. + + The keys to delete. + The flags to use for this operation. + The number of keys that were removed. + + See + , + . + + + + + Serialize the value stored at key in a Redis-specific format and return it to the user. + The returned value can be synthesized back into a Redis key using the RESTORE command. + + The key to dump. + The flags to use for this operation. + The serialized value. + + + + + Returns the internal encoding for the Redis object stored at . + + The key to dump. + The flags to use for this operation. + The Redis encoding for the value or is the key does not exist. + + + + + Returns if key exists. + + The key to check. + The flags to use for this operation. + if the key exists. if the key does not exist. + + + + + Indicates how many of the supplied keys exists. + + The keys to check. + The flags to use for this operation. + The number of keys that existed. + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. + So, if key already has an associated timeout, it will do nothing and return 0. + + + Since Redis 2.1.3, you can update the timeout of a key. + It is also possible to remove the timeout using the PERSIST command. + See the page on key expiry for more information. + + + See + , + , + . + + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + In Redis 7+, we can choose under which condition the expiration will be set using . + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + See + , + . + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The exact date to expiry to set. + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. + So, if key already has an associated timeout, it will do nothing and return 0. + + + Since Redis 2.1.3, you can update the timeout of a key. + It is also possible to remove the timeout using the PERSIST command. + See the page on key expiry for more information. + + + See + , + , + . + + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + In Redis 7+, we choose under which condition the expiration will be set using . + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + See + , + . + + + + + Returns the absolute time at which the given will expire, if it exists and has an expiration. + + The key to get the expiration for. + The flags to use for this operation. + The time at which the given key will expire, or if the key does not exist or has no associated expiration time. + + See + , + . + + + + + Returns the logarithmic access frequency counter of the object stored at . + The command is only available when the maxmemory-policy configuration directive is set to + one of the LFU policies. + + The key to get a frequency count for. + The flags to use for this operation. + The number of logarithmic access frequency counter, ( if the key does not exist). + + + + + Returns the time since the object stored at the specified key is idle (not requested by read or write operations). + + The key to get the time of. + The flags to use for this operation. + The time since the object stored at the specified key is idle. + + + + + Move key from the currently selected database (see SELECT) to the specified destination database. + When key already exists in the destination database, or it does not exist in the source database, it does nothing. + It is possible to use MOVE as a locking primitive because of this. + + The key to move. + The database to move the key to. + The flags to use for this operation. + if key was moved. if key was not moved. + + + + + Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated). + + The key to persist. + The flags to use for this operation. + if the timeout was removed. if key does not exist or does not have an associated timeout. + + + + + Return a random key from the currently selected database. + + The flags to use for this operation. + The random key, or when the database is empty. + + + + + Returns the reference count of the object stored at . + + The key to get a reference count for. + The flags to use for this operation. + The number of references ( if the key does not exist). + + + + + Renames to . + It returns an error when the source and destination names are the same, or when key does not exist. + + The key to rename. + The key to rename to. + What conditions to rename under (defaults to always). + The flags to use for this operation. + if the key was renamed, otherwise. + + See + , + . + + + + + Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP). + If is 0 the key is created without any expire, otherwise the specified expire time (in milliseconds) is set. + + The key to restore. + The value of the key. + The expiry to set. + The flags to use for this operation. + + + + + Returns the remaining time to live of a key that has a timeout. + This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. + + The key to check. + The flags to use for this operation. + TTL, or when key does not exist or does not have a timeout. + + + + + Alters the last access time of a key. + + The key to touch. + The flags to use for this operation. + if the key was touched, otherwise. + + + + + Alters the last access time of the specified . A key is ignored if it does not exist. + + The keys to touch. + The flags to use for this operation. + The number of keys that were touched. + + + + + Returns the string representation of the type of the value stored at key. + The different types that can be returned are: string, list, set, zset and hash. + + The key to get the type of. + The flags to use for this operation. + Type of key, or none when key does not exist. + + + + + Returns the element at index in the list stored at key. + The index is zero-based, so 0 means the first element, 1 the second element and so on. + Negative indices can be used to designate elements starting at the tail of the list. + Here, -1 means the last element, -2 means the penultimate and so forth. + + The key of the list. + The index position to get the value at. + The flags to use for this operation. + The requested element, or when index is out of range. + + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + The key of the list. + The value to insert after. + The value to insert. + The flags to use for this operation. + The length of the list after the insert operation, or -1 when the value pivot was not found. + + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + The key of the list. + The value to insert before. + The value to insert. + The flags to use for this operation. + The length of the list after the insert operation, or -1 when the value pivot was not found. + + + + + Removes and returns the first element of the list stored at key. + + The key of the list. + The flags to use for this operation. + The value of the first element, or when key does not exist. + + + + + Removes and returns count elements from the head of the list stored at key. + If the list contains less than count elements, removes and returns the number of elements in the list. + + The key of the list. + The number of elements to remove. + The flags to use for this operation. + Array of values that were popped, or if the key doesn't exist. + + + + + Removes and returns at most elements from the first non-empty list in . + Starts on the left side of the list. + + The keys to look through for elements to pop. + The maximum number of elements to pop from the list. + The flags to use for this operation. + A span of contiguous elements from the list, or if no non-empty lists are found. + + + + + Scans through the list stored at looking for , returning the 0-based + index of the first matching element. + + The key of the list. + The element to search for. + The rank of the first element to return, within the sub-list of matching indexes in the case of multiple matches. + The maximum number of elements to scan through before stopping, defaults to 0 (a full scan of the list.) + The flags to use for this operation. + The 0-based index of the first matching element, or -1 if not found. + + + + + Scans through the list stored at looking for instances of , returning the 0-based + indexes of any matching elements. + + The key of the list. + The element to search for. + The number of matches to find. A count of 0 will return the indexes of all occurrences of the element. + The rank of the first element to return, within the sub-list of matching indexes in the case of multiple matches. + The maximum number of elements to scan through before stopping, defaults to 0 (a full scan of the list.) + The flags to use for this operation. + An array of at most of indexes of matching elements. If none are found, and empty array is returned. + + + + + Insert the specified value at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + + The key of the list. + The value to add to the head of the list. + Which conditions to add to the list under (defaults to always). + The flags to use for this operation. + The length of the list after the push operations. + + See + , + . + + + + + Insert the specified value at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + + The key of the list. + The value to add to the head of the list. + Which conditions to add to the list under (defaults to always). + The flags to use for this operation. + The length of the list after the push operations. + + See + , + . + + + + + Insert all the specified values at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. + So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element. + + The key of the list. + The values to add to the head of the list. + The flags to use for this operation. + The length of the list after the push operations. + + + + + Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. + + The key of the list. + The flags to use for this operation. + The length of the list at key. + + + + + Returns and removes the first or last element of the list stored at , and pushes the element + as the first or last element of the list stored at . + + The key of the list to remove from. + The key of the list to move to. + What side of the list to remove from. + What side of the list to move to. + The flags to use for this operation. + The element being popped and pushed or if there is no element to move. + + + + + Returns the specified elements of the list stored at key. + The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. + These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on. + Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. + + The key of the list. + The start index of the list. + The stop index of the list. + The flags to use for this operation. + List of elements in the specified range. + + + + + Removes the first count occurrences of elements equal to value from the list stored at key. + The count argument influences the operation in the following ways: + + count > 0: Remove elements equal to value moving from head to tail. + count < 0: Remove elements equal to value moving from tail to head. + count = 0: Remove all elements equal to value. + + + The key of the list. + The value to remove from the list. + The count behavior (see method summary). + The flags to use for this operation. + The number of removed elements. + + + + + Removes and returns the last element of the list stored at key. + + The key of the list. + The flags to use for this operation. + The element being popped, or when key does not exist.. + + + + + Removes and returns count elements from the end the list stored at key. + If the list contains less than count elements, removes and returns the number of elements in the list. + + The key of the list. + The number of elements to pop. + The flags to use for this operation. + Array of values that were popped, or if the key doesn't exist. + + + + + Removes and returns at most elements from the first non-empty list in . + Starts on the right side of the list. + + The keys to look through for elements to pop. + The maximum number of elements to pop from the list. + The flags to use for this operation. + A span of contiguous elements from the list, or if no non-empty lists are found. + + + + + Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination. + + The key of the source list. + The key of the destination list. + The flags to use for this operation. + The element being popped and pushed. + + + + + Insert the specified value at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + + The key of the list. + The value to add to the tail of the list. + Which conditions to add to the list under. + The flags to use for this operation. + The length of the list after the push operation. + + See + , + . + + + + + Insert the specified value at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + + The key of the list. + The values to add to the tail of the list. + Which conditions to add to the list under. + The flags to use for this operation. + The length of the list after the push operation. + + See + , + . + + + + + Insert all the specified values at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. + So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element. + + The key of the list. + The values to add to the tail of the list. + The flags to use for this operation. + The length of the list after the push operation. + + + + + Sets the list element at index to value. + For more information on the index argument, see . + An error is returned for out of range indexes. + + The key of the list. + The index to set the value at. + The values to add to the list. + The flags to use for this operation. + + + + + Trim an existing list so that it will contain only the specified range of elements specified. + Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on. + For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain. + start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on. + + The key of the list. + The start index of the list to trim to. + The end index of the list to trim to. + The flags to use for this operation. + + + + + Extends a lock, if the token value is correct. + + The key of the lock. + The value to set at the key. + The expiration of the lock key. + The flags to use for this operation. + if the lock was successfully extended. + + + + Queries the token held against a lock. + + The key of the lock. + The flags to use for this operation. + The current value of the lock, if any. + + + + Releases a lock, if the token value is correct. + + The key of the lock. + The value at the key that must match. + The flags to use for this operation. + if the lock was successfully released, otherwise. + + + + Takes a lock (specifying a token value) if it is not already taken. + + The key of the lock. + The value to set at the key. + The expiration of the lock key. + The flags to use for this operation. + if the lock was successfully taken, otherwise. + + + + Posts a message to the given channel. + + The channel to publish to. + The message to send. + The flags to use for this operation. + + The number of clients that received the message *on the destination server*, + note that this doesn't mean much in a cluster as clients can get the message through other nodes. + + + + + + Execute an arbitrary command against the server; this is primarily intended for executing modules, + but may also be used to provide access to new features that lack a direct API. + + The command to run. + The arguments to pass for the command. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + Execute an arbitrary command against the server; this is primarily intended for executing modules, + but may also be used to provide access to new features that lack a direct API. + + The command to run. + The arguments to pass for the command. + The flags to use for this operation. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + Execute a Lua script against the server. + + The script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + See + , + . + + + + + Execute a Lua script against the server using just the SHA1 hash. + + The hash of the script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + Be aware that this method is not resilient to Redis server restarts. Use instead. + + + + + + Execute a lua script against the server, using previously prepared script. + Named parameters, if any, are provided by the `parameters` object. + + The script to execute. + The parameters to pass to the script. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Execute a lua script against the server, using previously prepared and loaded script. + This method sends only the SHA1 hash of the lua script to Redis. + Named parameters, if any, are provided by the `parameters` object. + + The already-loaded script to execute. + The parameters to pass to the script. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Read-only variant of the EVAL command that cannot execute commands that modify data, Execute a Lua script against the server. + + The script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + See + , + . + + + + + Read-only variant of the EVALSHA command that cannot execute commands that modify data, Execute a Lua script against the server using just the SHA1 hash. + + The hash of the script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The value to add to the set. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified members to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The values to add to the set. + The flags to use for this operation. + The number of elements that were added to the set, not including all the elements already present into the set. + + + + + Returns the members of the set resulting from the specified operation against the given sets. + + The operation to perform. + The key of the first set. + The key of the second set. + The flags to use for this operation. + List with members of the resulting set. + + See + , + , + . + + + + + Returns the members of the set resulting from the specified operation against the given sets. + + The operation to perform. + The keys of the sets to operate on. + The flags to use for this operation. + List with members of the resulting set. + + See + , + , + . + + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. + If destination already exists, it is overwritten. + + The operation to perform. + The key of the destination set. + The key of the first set. + The key of the second set. + The flags to use for this operation. + The number of elements in the resulting set. + + See + , + , + . + + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. + If destination already exists, it is overwritten. + + The operation to perform. + The key of the destination set. + The keys of the sets to operate on. + The flags to use for this operation. + The number of elements in the resulting set. + + See + , + , + . + + + + + Returns whether is a member of the set stored at . + + The key of the set. + The value to check for. + The flags to use for this operation. + + if the element is a member of the set. + if the element is not a member of the set, or if key does not exist. + + + + + + Returns whether each of is a member of the set stored at . + + The key of the set. + The members to check for. + The flags to use for this operation. + + if the element is a member of the set. + if the element is not a member of the set, or if key does not exist. + + + + + + + Returns the set cardinality (number of elements) of the intersection between the sets stored at the given . + + + If the intersection cardinality reaches partway through the computation, + the algorithm will exit and yield as the cardinality. + + + The keys of the sets. + The number of elements to check (defaults to 0 and means unlimited). + The flags to use for this operation. + The cardinality (number of elements) of the set, or 0 if key does not exist. + + + + + Returns the set cardinality (number of elements) of the set stored at key. + + The key of the set. + The flags to use for this operation. + The cardinality (number of elements) of the set, or 0 if key does not exist. + + + + + Returns all the members of the set value stored at key. + + The key of the set. + The flags to use for this operation. + All elements of the set. + + + + + Move member from the set at source to the set at destination. + This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients. + When the specified element already exists in the destination set, it is only removed from the source set. + + The key of the source set. + The key of the destination set. + The value to move. + The flags to use for this operation. + + if the element is moved. + if the element is not a member of source and no operation was performed. + + + + + + Removes and returns a random element from the set value stored at key. + + The key of the set. + The flags to use for this operation. + The removed element, or when key does not exist. + + + + + Removes and returns the specified number of random elements from the set value stored at key. + + The key of the set. + The number of elements to return. + The flags to use for this operation. + An array of elements, or an empty array when key does not exist. + + + + + Return a random element from the set value stored at . + + The key of the set. + The flags to use for this operation. + The randomly selected element, or when does not exist. + + + + + Return an array of count distinct elements if count is positive. + If called with a negative count the behavior changes and the command is allowed to return the same element multiple times. + In this case the number of returned elements is the absolute value of the specified count. + + The key of the set. + The count of members to get. + The flags to use for this operation. + An array of elements, or an empty array when does not exist. + + + + + Remove the specified member from the set stored at key. + Specified members that are not a member of this set are ignored. + + The key of the set. + The value to remove. + The flags to use for this operation. + if the specified member was already present in the set, otherwise. + + + + + Remove the specified members from the set stored at key. + Specified members that are not a member of this set are ignored. + + The key of the set. + The values to remove. + The flags to use for this operation. + The number of members that were removed from the set, not including non existing members. + + + + + The SSCAN command is used to incrementally iterate over a set. + + The key of the set. + The pattern to match. + The page size to iterate by. + The flags to use for this operation. + Yields all matching elements of the set. + + + + + The SSCAN command is used to incrementally iterate over set. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the set. + The pattern to match. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all matching elements of the set. + + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default). + By default, the elements themselves are compared, but the values can also be used to perform external key-lookups using the by parameter. + By default, the elements themselves are returned, but external key-lookups (one or many) can be performed instead by specifying + the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. + When used in hashes, by and get can be used to specify fields using -> notation (again, refer to redis documentation). + Uses SORT_RO when possible. + + The key of the list, set, or sorted set. + How many entries to skip on the return. + How many entries to take on the return. + The ascending or descending order (defaults to ascending). + The sorting method (defaults to numeric). + The key pattern to sort by, if any. e.g. ExternalKey_* would sort by ExternalKey_{listvalue} as a lookup. + The key pattern to sort by, if any e.g. ExternalKey_* would return the value of ExternalKey_{listvalue} for each entry. + The flags to use for this operation. + The sorted elements, or the external values if get is specified. + + See + , + . + + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default). + By default, the elements themselves are compared, but the values can also be used to perform external key-lookups using the by parameter. + By default, the elements themselves are returned, but external key-lookups (one or many) can be performed instead by specifying + the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. + When used in hashes, by and get can be used to specify fields using -> notation (again, refer to redis documentation). + + The destination key to store results in. + The key of the list, set, or sorted set. + How many entries to skip on the return. + How many entries to take on the return. + The ascending or descending order (defaults to ascending). + The sorting method (defaults to numeric). + The key pattern to sort by, if any. e.g. ExternalKey_* would sort by ExternalKey_{listvalue} as a lookup. + The key pattern to sort by, if any e.g. ExternalKey_* would return the value of ExternalKey_{listvalue} for each entry. + The flags to use for this operation. + The number of elements stored in the new list. + + + + + + + + + + + Adds the specified member with the specified score to the sorted set stored at key. + If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The key of the sorted set. + The member to add to the sorted set. + The score for the member to add to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + if the value was added. if it already existed (the score is still updated). + + + + + + + + + + + Adds all the specified members with the specified scores to the sorted set stored at key. + If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The key of the sorted set. + The members and values to add to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + + + + + Computes a set operation for multiple sorted sets (optionally using per-set ), + optionally performing a specific aggregation (defaults to ). + cannot be used with weights or aggregation. + + The operation to perform. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to ). + The flags to use for this operation. + The resulting sorted set. + + See + , + , + . + + + + + Computes a set operation for multiple sorted sets (optionally using per-set ), + optionally performing a specific aggregation (defaults to ). + cannot be used with weights or aggregation. + + The operation to perform. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to ). + The flags to use for this operation. + The resulting sorted set with scores. + + See + , + , + . + + + + + Computes a set operation over two sorted sets, and stores the result in destination, optionally performing + a specific aggregation (defaults to sum). + cannot be used with aggregation. + + The operation to perform. + The key to store the results in. + The key of the first sorted set. + The key of the second sorted set. + The aggregation method (defaults to sum). + The flags to use for this operation. + The number of elements in the resulting sorted set at destination. + + See + , + , + . + + + + + Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing + a specific aggregation (defaults to sum). + cannot be used with aggregation. + + The operation to perform. + The key to store the results in. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to sum). + The flags to use for this operation. + The number of elements in the resulting sorted set at destination. + + See + , + , + . + + + + + Decrements the score of member in the sorted set stored at key by decrement. + If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0). + + The key of the sorted set. + The member to decrement. + The amount to decrement by. + The flags to use for this operation. + The new score of member. + + + + + Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0). + + The key of the sorted set. + The member to increment. + The amount to increment by. + The flags to use for this operation. + The new score of member. + + + + + Returns the cardinality of the intersection of the sorted sets at . + + The keys of the sorted sets. + If the intersection cardinality reaches partway through the computation, the algorithm will exit and yield as the cardinality (defaults to 0 meaning unlimited). + The flags to use for this operation. + The number of elements in the resulting intersection. + + + + + Returns the sorted set cardinality (number of elements) of the sorted set stored at key. + + The key of the sorted set. + The min score to filter by (defaults to negative infinity). + The max score to filter by (defaults to positive infinity). + Whether to exclude and from the range check (defaults to both inclusive). + The flags to use for this operation. + The cardinality (number of elements) of the sorted set, or 0 if key does not exist. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns the number of elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Whether to exclude and from the range check (defaults to both inclusive). + The flags to use for this operation. + The number of elements in the specified score range. + + + + + Returns a random element from the sorted set value stored at . + + The key of the sorted set. + The flags to use for this operation. + The randomly selected element, or when does not exist. + + + + + Returns an array of random elements from the sorted set value stored at . + + The key of the sorted set. + + + If the provided count argument is positive, returns an array of distinct elements. + The array's length is either or the sorted set's cardinality (ZCARD), whichever is lower. + + + If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. + In this case, the number of returned elements is the absolute value of the specified count. + + + The flags to use for this operation. + The randomly selected elements, or an empty array when does not exist. + + + + + Returns an array of random elements from the sorted set value stored at . + + The key of the sorted set. + + + If the provided count argument is positive, returns an array of distinct elements. + The array's length is either or the sorted set's cardinality (ZCARD), whichever is lower. + + + If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. + In this case, the number of returned elements is the absolute value of the specified count. + + + The flags to use for this operation. + The randomly selected elements with scores, or an empty array when does not exist. + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. + They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + The key of the sorted set. + The start index to get. + The stop index to get. + The order to sort by (defaults to ascending). + The flags to use for this operation. + List of elements in the specified range. + + See + , + . + + + + + Takes the specified range of elements in the sorted set of the + and stores them in a new sorted set at the . + + The sorted set to take the range from. + Where the resulting set will be stored. + The starting point in the sorted set. If is , this should be a string. + The stopping point in the range of the sorted set. If is , this should be a string. + The ordering criteria to use for the range. Choices are , , and (defaults to ). + Whether to exclude and from the range check (defaults to both inclusive). + + The direction to consider the and in. + If , the must be smaller than the . + If , must be smaller than . + + The number of elements into the sorted set to skip. Note: this iterates after sorting so incurs O(n) cost for large values. + The maximum number of elements to pull into the new () set. + The flags to use for this operation. + The cardinality of (number of elements in) the newly created sorted set. + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. + They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + The key of the sorted set. + The start index to get. + The stop index to get. + The order to sort by (defaults to ascending). + The flags to use for this operation. + List of elements in the specified range. + + See + , + . + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. + Similar to other range methods the values are inclusive. + + The key of the sorted set. + The minimum score to filter by. + The maximum score to filter by. + Which of and to exclude (defaults to both inclusive). + The order to sort by (defaults to ascending). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. + Similar to other range methods the values are inclusive. + + The key of the sorted set. + The minimum score to filter by. + The maximum score to filter by. + Which of and to exclude (defaults to both inclusive). + The order to sort by (defaults to ascending). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns all the elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Which of and to exclude (defaults to both inclusive). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns all the elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Which of and to exclude (defaults to both inclusive). + Whether to order the data ascending or descending. + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. + The rank (or index) is 0-based, which means that the member with the lowest score has rank 0. + + The key of the sorted set. + The member to get the rank of. + The order to sort by (defaults to ascending). + The flags to use for this operation. + If member exists in the sorted set, the rank of member. If member does not exist in the sorted set or key does not exist, . + + See + , + . + + + + + Removes the specified member from the sorted set stored at key. Non existing members are ignored. + + The key of the sorted set. + The member to remove. + The flags to use for this operation. + if the member existed in the sorted set and was removed. otherwise. + + + + + Removes the specified members from the sorted set stored at key. Non existing members are ignored. + + The key of the sorted set. + The members to remove. + The flags to use for this operation. + The number of members removed from the sorted set, not including non existing members. + + + + + Removes all elements in the sorted set stored at key with rank between start and stop. + Both start and stop are 0 -based indexes with 0 being the element with the lowest score. + These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. + For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth. + + The key of the sorted set. + The minimum rank to remove. + The maximum rank to remove. + The flags to use for this operation. + The number of elements removed. + + + + + Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default). + + The key of the sorted set. + The minimum score to remove. + The maximum score to remove. + Which of and to exclude (defaults to both inclusive). + The flags to use for this operation. + The number of elements removed. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max. + + The key of the sorted set. + The minimum value to remove. + The maximum value to remove. + Which of and to exclude (defaults to both inclusive). + The flags to use for this operation. + The number of elements removed. + + + + + The ZSCAN command is used to incrementally iterate over a sorted set. + + The key of the sorted set. + The pattern to match. + The page size to iterate by. + The flags to use for this operation. + Yields all matching elements of the sorted set. + + + + + The ZSCAN command is used to incrementally iterate over a sorted set + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + The key of the sorted set. + The pattern to match. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all matching elements of the sorted set. + + + + + Returns the score of member in the sorted set at key. + If member does not exist in the sorted set, or key does not exist, is returned. + + The key of the sorted set. + The member to get a score for. + The flags to use for this operation. + The score of the member. + + + + + Returns the scores of members in the sorted set at . + If a member does not exist in the sorted set, or key does not exist, is returned. + + The key of the sorted set. + The members to get a score for. + The flags to use for this operation. + + The scores of the members in the same order as the array. + If a member does not exist in the set, is returned. + + + + + + Removes and returns the first element from the sorted set stored at key, by default with the scores ordered from low to high. + + The key of the sorted set. + The order to sort by (defaults to ascending). + The flags to use for this operation. + The removed element, or when key does not exist. + + See + , + . + + + + + Removes and returns the specified number of first elements from the sorted set stored at key, by default with the scores ordered from low to high. + + The key of the sorted set. + The number of elements to return. + The order to sort by (defaults to ascending). + The flags to use for this operation. + An array of elements, or an empty array when key does not exist. + + See + , + . + + + + + Removes and returns up to entries from the first non-empty sorted set in . + Returns if none of the sets exist or contain any elements. + + The keys to check. + The maximum number of records to pop out of the sorted set. + The order to sort by when popping items out of the set. + The flags to use for the operation. + A contiguous collection of sorted set entries with the key they were popped from, or if no non-empty sorted sets are found. + + + + + Same as but return the number of the elements changed. + + The key of the sorted set. + The member to add/update to the sorted set. + The score for the member to add/update to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements changed. + + + + + Same as but return the number of the elements changed. + + The key of the sorted set. + The members and values to add/update to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements changed. + + + + + Allow the consumer to mark a pending message as correctly processed. Returns the number of messages acknowledged. + + The key of the stream. + The name of the consumer group that received the message. + The ID of the message to acknowledge. + The flags to use for this operation. + The number of messages acknowledged. + + + + + Allow the consumer to mark a pending message as correctly processed. Returns the number of messages acknowledged. + + The key of the stream. + The name of the consumer group that received the message. + The IDs of the messages to acknowledge. + The flags to use for this operation. + The number of messages acknowledged. + + + + + Adds an entry using the specified values to the given stream key. + If key does not exist, a new key holding a stream is created. + The command returns the ID of the newly created stream entry. + + The key of the stream. + The field name for the stream entry. + The value to set in the stream entry. + The ID to assign to the stream entry, defaults to an auto-generated ID ("*"). + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The ID of the newly created message. + + + + + Adds an entry using the specified values to the given stream key. + If key does not exist, a new key holding a stream is created. + The command returns the ID of the newly created stream entry. + + The key of the stream. + The fields and their associated values to set in the stream entry. + The ID to assign to the stream entry, defaults to an auto-generated ID ("*"). + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The ID of the newly created message. + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + Messages that have been idle for more than will be claimed. + + The key of the stream. + The consumer group. + The consumer claiming the messages(s). + The minimum idle time threshold for pending messages to be claimed. + The starting ID to scan for pending messages that have an idle time greater than . + The upper limit of the number of entries that the command attempts to claim. If , Redis will default the value to 100. + The flags to use for this operation. + An instance of . + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + Messages that have been idle for more than will be claimed. + The result will contain the claimed message IDs instead of a instance. + + The key of the stream. + The consumer group. + The consumer claiming the messages(s). + The minimum idle time threshold for pending messages to be claimed. + The starting ID to scan for pending messages that have an idle time greater than . + The upper limit of the number of entries that the command attempts to claim. If , Redis will default the value to 100. + The flags to use for this operation. + An instance of . + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + This method returns the complete message for the claimed message(s). + + The key of the stream. + The consumer group. + The consumer claiming the given message(s). + The minimum message idle time to allow the reassignment of the message(s). + The IDs of the messages to claim for the given consumer. + The flags to use for this operation. + The messages successfully claimed by the given consumer. + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + This method returns the IDs for the claimed message(s). + + The key of the stream. + The consumer group. + The consumer claiming the given message(s). + The minimum message idle time to allow the reassignment of the message(s). + The IDs of the messages to claim for the given consumer. + The flags to use for this operation. + The message IDs for the messages successfully claimed by the given consumer. + + + + + Set the position from which to read a stream for a consumer group. + + The key of the stream. + The name of the consumer group. + The position from which to read for the consumer group. + The flags to use for this operation. + if successful, otherwise. + + + + + Retrieve information about the consumers for the given consumer group. + This is the equivalent of calling "XINFO GROUPS key group". + + The key of the stream. + The consumer group name. + The flags to use for this operation. + An instance of for each of the consumer group's consumers. + + + + + Create a consumer group for the given stream. + + The key of the stream. + The name of the group to create. + The position to begin reading the stream. Defaults to . + The flags to use for this operation. + if the group was created, otherwise. + + + + + Create a consumer group for the given stream. + + The key of the stream. + The name of the group to create. + The position to begin reading the stream. Defaults to . + Create the stream if it does not already exist. + The flags to use for this operation. + if the group was created, otherwise. + + + + + Delete messages in the stream. This method does not delete the stream. + + The key of the stream. + The IDs of the messages to delete. + The flags to use for this operation. + Returns the number of messages successfully deleted from the stream. + + + + + Delete a consumer from a consumer group. + + The key of the stream. + The name of the consumer group. + The name of the consumer. + The flags to use for this operation. + The number of messages that were pending for the deleted consumer. + + + + + Delete a consumer group. + + The key of the stream. + The name of the consumer group. + The flags to use for this operation. + if deleted, otherwise. + + + + + Retrieve information about the groups created for the given stream. This is the equivalent of calling "XINFO GROUPS key". + + The key of the stream. + The flags to use for this operation. + An instance of for each of the stream's groups. + + + + + Retrieve information about the given stream. This is the equivalent of calling "XINFO STREAM key". + + The key of the stream. + The flags to use for this operation. + A instance with information about the stream. + + + + + Return the number of entries in a stream. + + The key of the stream. + The flags to use for this operation. + The number of entries inside the given stream. + + + + + View information about pending messages for a stream. + A pending message is a message read using StreamReadGroup (XREADGROUP) but not yet acknowledged. + + The key of the stream. + The name of the consumer group. + The flags to use for this operation. + + An instance of . + contains the number of pending messages. + The highest and lowest ID of the pending messages, and the consumers with their pending message count. + + The equivalent of calling XPENDING key group. + + + + + View information about each pending message. + + The key of the stream. + The name of the consumer group. + The maximum number of pending messages to return. + The consumer name for the pending messages. Pass RedisValue.Null to include pending messages for all consumers. + The minimum ID from which to read the stream of pending messages. The method will default to reading from the beginning of the stream. + The maximum ID to read to within the stream of pending messages. The method will default to reading to the end of the stream. + The flags to use for this operation. + An instance of for each pending message. + Equivalent of calling XPENDING key group start-id end-id count consumer-name. + + + + + Read a stream using the given range of IDs. + + The key of the stream. + The minimum ID from which to read the stream. The method will default to reading from the beginning of the stream. + The maximum ID to read to within the stream. The method will default to reading to the end of the stream. + The maximum number of messages to return. + The order of the messages. will execute XRANGE and will execute XREVRANGE. + The flags to use for this operation. + Returns an instance of for each message returned. + + + + + Read from a single stream. + + The key of the stream. + The position from which to read the stream. + The maximum number of messages to return. + The flags to use for this operation. + Returns an instance of for each message returned. + + Equivalent of calling XREAD COUNT num STREAMS key id. + + + + + + Read from multiple streams. + + Array of streams and the positions from which to begin reading for each stream. + The maximum number of messages to return from each stream. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREAD COUNT num STREAMS key1 key2 id1 id2. + + + + + + Read messages from a stream into an associated consumer group. + + The key of the stream. + The name of the consumer group. + The consumer name. + The position from which to read the stream. Defaults to when . + The maximum number of messages to return. + The flags to use for this operation. + Returns a value of for each message returned. + + + + + Read messages from a stream into an associated consumer group. + + The key of the stream. + The name of the consumer group. + The consumer name. + The position from which to read the stream. Defaults to when . + The maximum number of messages to return. + When true, the message will not be added to the pending message list. + The flags to use for this operation. + Returns a value of for each message returned. + + + + + Read from multiple streams into the given consumer group. + The consumer group with the given will need to have been created for each stream prior to calling this method. + + Array of streams and the positions from which to begin reading for each stream. + The name of the consumer group. + The name of the consumer. + The maximum number of messages to return from each stream. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREADGROUP GROUP groupName consumerName COUNT countPerStream STREAMS stream1 stream2 id1 id2. + + + + + + Read from multiple streams into the given consumer group. + The consumer group with the given will need to have been created for each stream prior to calling this method. + + Array of streams and the positions from which to begin reading for each stream. + The name of the consumer group. + The name of the consumer. + The maximum number of messages to return from each stream. + When true, the message will not be added to the pending message list. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREADGROUP GROUP groupName consumerName COUNT countPerStream STREAMS stream1 stream2 id1 id2. + + + + + + Trim the stream to a specified maximum length. + + The key of the stream. + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The number of messages removed from the stream. + + + + + If key already exists and is a string, this command appends the value at the end of the string. + If key does not exist it is created and set as an empty string, so APPEND will be similar to SET in this special case. + + The key of the string. + The value to append to the string. + The flags to use for this operation. + The length of the string after the append operation. + + + + + + + + Count the number of set bits (population counting) in a string. + By default all the bytes contained in the string are examined. + It is possible to specify the counting operation only in an interval passing the additional arguments start and end. + Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The key of the string. + The start byte to count at. + The end byte to count at. + In Redis 7+, we can choose if and specify a bit index or byte index (defaults to ). + The flags to use for this operation. + The number of bits set to 1. + + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case + and only the first key will be considered. + The result of the operation is always stored at . + + The operation to perform. + The destination key to store the result in. + The first key to get the bit value from. + The second key to get the bit value from. + The flags to use for this operation. + The size of the string stored in the destination key, that is equal to the size of the longest input string. + + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator. + The result of the operation is always stored at . + + The operation to perform. + The destination key to store the result in. + The keys to get the bit values from. + The flags to use for this operation. + The size of the string stored in the destination key, that is equal to the size of the longest input string. + + + + + + + + Return the position of the first bit set to 1 or 0 in a string. + The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant bit is at position 8 and so forth. + A and may be specified - these are in bytes, not bits. + and can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The key of the string. + True to check for the first 1 bit, false to check for the first 0 bit. + The position to start looking (defaults to 0). + The position to stop looking (defaults to -1, unlimited). + In Redis 7+, we can choose if and specify a bit index or byte index (defaults to ). + The flags to use for this operation. + + The command returns the position of the first bit set to 1 or 0 according to the request. + If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned. + + + + + + Decrements the number stored at key by decrement. + If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. + This operation is limited to 64 bit signed integers. + + The key of the string. + The amount to decrement by (defaults to 1). + The flags to use for this operation. + The value of key after the decrement. + + See + , + . + + + + + Decrements the string representing a floating point number stored at key by the specified decrement. + If the key does not exist, it is set to 0 before performing the operation. + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + The key of the string. + The amount to decrement by (defaults to 1). + The flags to use for this operation. + The value of key after the decrement. + + + + + Get the value of key. If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Returns the values of all specified keys. + For every key that does not hold a string value or does not exist, the special value is returned. + + The keys of the strings. + The flags to use for this operation. + The values of the strings with for keys do not exist. + + + + + Get the value of key. If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Returns the bit value at offset in the string value stored at key. + When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits. + + The key of the string. + The offset in the string to get a bit at. + The flags to use for this operation. + The bit value stored at offset. + + + + + Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). + Negative offsets can be used in order to provide an offset starting from the end of the string. + So -1 means the last character, -2 the penultimate and so forth. + + The key of the string. + The start index of the substring to get. + The end index of the substring to get. + The flags to use for this operation. + The substring of the string value stored at key. + + + + + Atomically sets key to value and returns the old value stored at key. + + The key of the string. + The value to replace the existing value with. + The flags to use for this operation. + The old value stored at key, or when key did not exist. + + + + + Gets the value of and update its (relative) expiry. + If the key does not exist, the result will be . + + The key of the string. + The expiry to set. will remove expiry. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Gets the value of and update its (absolute) expiry. + If the key does not exist, the result will be . + + The key of the string. + The exact date and time to expire at. will remove expiry. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Get the value of key and delete the key. + If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Get the value of key. + If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key and its expiry, or when key does not exist. + + + + + Increments the number stored at key by increment. + If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. + This operation is limited to 64 bit signed integers. + + The key of the string. + The amount to increment by (defaults to 1). + The flags to use for this operation. + The value of key after the increment. + + See + , + . + + + + + Increments the string representing a floating point number stored at key by the specified increment. + If the key does not exist, it is set to 0 before performing the operation. + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + The key of the string. + The amount to increment by (defaults to 1). + The flags to use for this operation. + The value of key after the increment. + + + + + Returns the length of the string value stored at key. + + The key of the string. + The flags to use for this operation. + The length of the string at key, or 0 when key does not exist. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning a string containing the common sequence. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + The flags to use for this operation. + A string (sequence of characters) of the LCS match. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning the legnth of the common sequence. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + The flags to use for this operation. + The length of the LCS match. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning a list of all common sequences. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + Can be used to restrict the list of matches to the ones of a given minimum length. + The flags to use for this operation. + The result of LCS algorithm, based on the given parameters. + + + + + + + + + + + Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type. + + The key of the string. + The value to set. + The expiry to set. + Whether to maintain the existing key's TTL (KEEPTTL flag). + Which condition to set the value under (defaults to always). + The flags to use for this operation. + if the string was set, otherwise. + + + + + Sets the given keys to their respective values. + If is specified, this will not perform any operation at all even if just a single key already exists. + + The keys and values to set. + Which condition to set the value under (defaults to always). + The flags to use for this operation. + if the keys were set, otherwise. + + See + , + . + + + + + Atomically sets key to value and returns the previous value (if any) stored at . + + The key of the string. + The value to set. + The expiry to set. + Which condition to set the value under (defaults to ). + The flags to use for this operation. + The previous value stored at , or when key did not exist. + + This method uses the SET command with the GET option introduced in Redis 6.2.0 instead of the deprecated GETSET command. + + + + + + Atomically sets key to value and returns the previous value (if any) stored at . + + The key of the string. + The value to set. + The expiry to set. + Whether to maintain the existing key's TTL (KEEPTTL flag). + Which condition to set the value under (defaults to ). + The flags to use for this operation. + The previous value stored at , or when key did not exist. + This method uses the SET command with the GET option introduced in Redis 6.2.0 instead of the deprecated GETSET command. + + + + + Sets or clears the bit at offset in the string value stored at key. + The bit is either set or cleared depending on value, which can be either 0 or 1. + When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset. + + The key of the string. + The offset in the string to set . + The bit value to set, true for 1, false for 0. + The flags to use for this operation. + The original bit value stored at offset. + + + + + Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. + If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. + Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset. + + The key of the string. + The offset in the string to overwrite. + The value to overwrite with. + The flags to use for this operation. + The length of the string after it was modified by the command. + + + + + Describes functionality that is common to both standalone redis servers and redis clusters. + + + + + Indicates whether the instance can communicate with the server (resolved using the supplied key and optional flags). + + The key to check for. + The flags to use for this operation. + + + + + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Describes retry policy functionality that can be provided to the multiplexer to be used for connection reconnects. + + + + + This method is called by the multiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the multiplexer while it was in connecting state. + Total time elapsed in milliseconds since the last reconnect retry was made. + + + + Common operations available to all redis connections. + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The command flags to use when pinging. + The observed latency. + + + + + Common operations available to all redis connections. + + + + + Gets the multiplexer that created this instance. + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The command flags to use. + The observed latency. + + + + + Wait for a given asynchronous operation to complete (or timeout), reporting which. + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type of task to wait on. + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Represents a resumable, cursor-based scanning operation. + + + + + Returns the cursor that represents the *active* page of results (not the pending/next page of results as returned by SCAN/HSCAN/ZSCAN/SSCAN). + + + + + The page size of the current operation. + + + + + The offset into the current page. + + + + + Provides configuration controls of a redis server. + + + + + Gets the cluster configuration associated with this server, if known. + + + + + Gets the address of the connected server. + + + + + Gets the features available to the connected server. + + + + + Gets whether the connection to the server is active and usable. + + + + + The protocol being used to communicate with this server (if not connected/known, then the anticipated protocol from the configuration is returned, assuming success). + + + + + Gets whether the connected server is a replica. + + + + + Gets whether the connected server is a replica. + + + + + Explicitly opt in for replica writes on writable replica. + + + + + Explicitly opt in for replica writes on writable replica. + + + + + Gets the operating mode of the connected server. + + + + + Gets the version of the connected server. + + + + + The number of databases supported on this server. + + + + + The CLIENT KILL command closes a given client connection identified by ip:port. + The ip:port should match a line returned by the CLIENT LIST command. + Due to the single-threaded nature of Redis, it is not possible to kill a client connection while it is executing a command. + From the client point of view, the connection can never be closed in the middle of the execution of a command. + However, the client will notice the connection has been closed only when the next command is sent (and results in network error). + + The endpoint of the client to kill. + The command flags to use. + + + + + + + + The CLIENT KILL command closes multiple connections that match the specified filters. + + The ID of the client to kill. + The type of client. + The endpoint to kill. + Whether to skip the current connection. + The command flags to use. + the number of clients killed. + + + + + + + + The CLIENT KILL command closes multiple connections that match the specified filters. + + The filter to use in choosing which clients to kill. + The command flags to use. + the number of clients killed. + + + + + + + The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. + + The command flags to use. + + + + + + + + Obtains the current CLUSTER NODES output from a cluster server. + + The command flags to use. + + + + + + + + Obtains the current raw CLUSTER NODES output from a cluster server. + + The command flags to use. + + + + + + + + Get all configuration parameters matching the specified pattern. + + The pattern of config values to get. + The command flags to use. + All matching configuration parameters. + + + + + + + + Resets the statistics reported by Redis using the INFO command. + + The command flags to use. + + + + + + + + The CONFIG REWRITE command rewrites the redis.conf file the server was started with, + applying the minimal changes needed to make it reflecting the configuration currently + used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. + + The command flags to use. + + + + + + + + The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. + You can change both trivial parameters or switch from one to another persistence option using this command. + + The setting name. + The new setting value. + The command flags to use. + + + + + + + + Returns the number of total commands available in this Redis server. + + The command flags to use. + + + + + + + + Returns list of keys from a full Redis command. + + The command to get keys from. + The command flags to use. + + + + + + + + Returns a list of command names available on this Redis server. + Only one of the filter options is usable at a time. + + The module name to filter the command list by. + The category to filter the command list by. + The pattern to filter the command list by. + The command flags to use. + + + + + + + + Return the number of keys in the database. + + The database ID. + The command flags to use. + + + + + + + + Return the same message passed in. + + The message to echo. + The command flags to use. + + + + + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API. + + The command to run. + The arguments to pass for the command. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API. + + The command to run. + The arguments to pass for the command. + The flags to use for this operation. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + + + + Delete all the keys of all databases on the server. + + The command flags to use. + + + + + + + + Delete all the keys of the database. + + The database ID. + The command flags to use. + + + + + + + + Get summary statistics associates with this server. + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + The info section to get, if getting a specific one. + The command flags to use. + A grouping of key/value pairs, grouped by their section header. + + + + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + The info section to get, if getting a specific one. + The command flags to use. + The entire raw INFO string. + + + + + + + + + + + Returns all keys matching . + The KEYS or SCAN commands will be used based on the server capabilities. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The database ID. + The pattern to use. + The page size to iterate by. + The cursor position to resume at. + The page offset to start at. + The command flags to use. + An enumeration of matching redis keys. + + Warning: consider KEYS as a command that should only be used in production environments with extreme care. + + See + , + . + + + + + + + + + Return the time of the last DB save executed with success. + A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command + and checking at regular intervals every N seconds if LASTSAVE changed. + + The command flags to use. + The last time a save was performed. + + + + + + + + + + + Promote the selected node to be primary. + + The options to use for this topology change. + The log to write output to. + + + + + Returns the role info for the current server. + + + + + + + + + Explicitly request the database to persist the current state to disk. + + The method of the save (e.g. background or foreground). + The command flags to use. + + See + , + , + , + . + + + + + + + + Indicates whether the specified script is defined on the server. + + The text of the script to check for on the server. + The command flags to use. + + + + + + + + Indicates whether the specified script hash is defined on the server. + + The SHA1 of the script to check for on the server. + The command flags to use. + + + + + + + + Removes all cached scripts on this server. + + The command flags to use. + + + + + + + + Explicitly defines a script on the server. + + The script to load. + The command flags to use. + The SHA1 of the loaded script. + + + + + + + + Explicitly defines a script on the server. + + The script to load. + The command flags to use. + The loaded script, ready for rapid reuse based on the SHA1. + + + + + + + + Asks the redis server to shutdown, killing all connections. Please FULLY read the notes on the SHUTDOWN command. + + The mode of the shutdown. + The command flags to use. + + + + + + + + + + + + + + The REPLICAOF command can change the replication settings of a replica on the fly. + If a Redis server is already acting as replica, specifying a null primary will turn off the replication, + turning the Redis server into a PRIMARY. Specifying a non-null primary will make the server a replica of + another server listening at the specified hostname and port. + + Endpoint of the new primary to replicate from. + The command flags to use. + + + + + To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. + It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). + + The count of items to get. + The command flags to use. + The slow command traces as recorded by the Redis server. + + + + + + + + You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. + + The command flags to use. + + + + + + + + Lists the currently active channels. + An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). + + The channel name pattern to get channels for. + The command flags to use. + a list of active channels, optionally matching the specified pattern. + + + + + + + + Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). + Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. + + The command flags to use. + the number of patterns all the clients are subscribed to. + + + + + + + + Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. + + The channel to get a subscriber count for. + The command flags to use. + The number of subscribers on this server. + + + + + + + + Swaps two Redis databases, so that immediately all the clients connected to a given database will see the data of the other database, and the other way around. + + The ID of the first database. + The ID of the second database. + The command flags to use. + + + + + + + + The TIME command returns the current server time in UTC format. + Use the method to get local time. + + The command flags to use. + The server's current time. + + + + + + + + Gets a text-based latency diagnostic. + + The full text result of latency doctor. + + See + , + . + + + + + + + + Resets the given events (or all if none are specified), discarding the currently logged latency spike events, and resetting the maximum event time register. + + The number of events that were reset. + + See + , + . + + + + + + + + Fetch raw latency data from the event time series, as timestamp-latency pairs. + + An array of latency history entries. + + See + , + . + + + + + + + + Fetch raw latency data from the event time series, as timestamp-latency pairs. + + An array of the latest latency history entries. + + See + , + . + + + + + + + + Reports about different memory-related issues that the Redis server experiences, and advises about possible remedies. + + The full text result of memory doctor. + + + + + + + + Attempts to purge dirty pages so these can be reclaimed by the allocator. + + + + + + + + + Returns an array reply about the memory usage of the server. + + An array reply of memory stat metrics and values. + + + + + + + + Provides an internal statistics report from the memory allocator. + + The full text result of memory allocation stats. + + + + + + + + Returns the IP and port number of the primary with that name. + If a failover is in progress or terminated successfully for this primary it returns the address and port of the promoted replica. + + The sentinel service name. + The command flags to use. + The primary IP and port. + + + + + + + + Returns the IP and port numbers of all known Sentinels for the given service name. + + The sentinel service name. + The command flags to use. + A list of the sentinel IPs and ports. + + + + + + + + Returns the IP and port numbers of all known Sentinel replicas for the given service name. + + The sentinel service name. + The command flags to use. + A list of the replica IPs and ports. + + + + + + + + Show the state and info of the specified primary. + + The sentinel service name. + The command flags to use. + The primaries state as KeyValuePairs. + + + + + + + + Show a list of monitored primaries and their state. + + The command flags to use. + An array of primaries state KeyValuePair arrays. + + + + + + + + + + + + + + Show a list of replicas for this primary, and their state. + + The sentinel service name. + The command flags to use. + An array of replica state KeyValuePair arrays. + + + + + + + + Force a failover as if the primary was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + The sentinel service name. + The command flags to use. + + + + + + + + Show a list of sentinels for a primary, and their state. + + The sentinel service name. + The command flags to use. + + + + + + + + For testing only: Break the connection without mercy or thought. + + The server to simulate failure on. + The type of failure(s) to simulate. + + + + A redis connection used as the subscriber in a pub/sub scenario. + + + + + Indicate exactly which redis server we are talking to. + + The channel to identify the server endpoint by. + The command flags to use. + + + + + + + Indicates whether the instance can communicate with the server. + If a channel is specified, the existing subscription map is queried to + resolve the server responsible for that subscription - otherwise the + server is chosen arbitrarily from the primaries. + + The channel to identify the server endpoint by. + if connected, otherwise. + + + + Posts a message to the given channel. + + The channel to publish to. + The message to publish. + The command flags to use. + + The number of clients that received the message *on the destination server*, + note that this doesn't mean much in a cluster as clients can get the message through other nodes. + + + + + + + + + Subscribe to perform some operation when a message to the preferred/active node is broadcast, without any guarantee of ordered handling. + + The channel to subscribe to. + The handler to invoke when a message is received on . + The command flags to use. + + See + , + . + + + + + + + + Subscribe to perform some operation when a message to the preferred/active node is broadcast, as a queue that guarantees ordered handling. + + The redis channel to subscribe to. + The command flags to use. + A channel that represents this source. + + See + , + . + + + + + + + + Indicate to which redis server we are actively subscribed for a given channel. + + The channel to check which server endpoint was subscribed on. + The subscribed endpoint for the given , if the channel is not actively subscribed. + + + + Unsubscribe from a specified message channel. + Note: if no handler is specified, the subscription is canceled regardless of the subscribers. + If a handler is specified, the subscription is only canceled if this handler is the last handler remaining against the channel. + + The channel that was subscribed to. + The handler to no longer invoke when a message is received on . + The command flags to use. + + See + , + . + + + + + + + + Unsubscribe all subscriptions on this instance. + + The command flags to use. + + See + , + . + + + + + + + + Represents a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. Transactions can also include constraints + (implemented via WATCH), but note that constraint checking involves will (very briefly) + block the connection, since the transaction cannot be correctly committed (EXEC), + aborted (DISCARD) or not applied in the first place (UNWATCH) until the responses from + the constraint checks have arrived. + + + Note that on a cluster, it may be required that all keys involved in the transaction (including constraints) are in the same hash-slot. + + + + + + Adds a precondition for this transaction. + + The condition to add to the transaction. + + + + Execute the batch operation, sending all queued commands to the server. + + The command flags to use. + + + + Execute the batch operation, sending all queued commands to the server. + + The command flags to use. + + + + Describes internal errors (mainly intended for debugging). + + + + + This constructor is only for testing purposes. + + The source of the event. + The endpoint (if any) involved in the event. + Redis connection type. + The exception that occurred. + Origin. + + + + Gets the connection-type of the failing connection. + + + + + Gets the failing server-endpoint (this can be null). + + + + + Gets the exception if available (this can be null). + + + + + The underlying origin of the error. + + + + + Provides the extension method to . + + + + + Creates a new instance that provides an isolated key space + of the specified underlying database instance. + + + The underlying database instance that the returned instance shall use. + + + The prefix that defines a key space isolation for the returned database instance. + + + A new instance that invokes the specified underlying + but prepends the specified + to all key parameters and thus forms a logical key space isolation. + + + + The following methods are not supported in a key space isolated database and + will throw an when invoked: + + + + + + + Please notice that keys passed to a script are prefixed (as normal) but care must + be taken when a script returns the name of a key as that will (currently) not be + "unprefixed". + + + + + + A sized region of contiguous memory backed by a memory pool; disposing the lease returns the memory to the pool. + + The type of data being leased. + + + + A lease of length zero. + + + + + The length of the lease. + + + + + Create a new lease. + + The size required. + Whether to erase the memory. + + + + Release all resources owned by the lease. + + + + + The data as a . + + + + + The data as a . + + + + + The data as an . + + + + + Represents a retry policy that performs retries at a fixed interval. The retries are performed up to a maximum allowed time. + + + + + Initializes a new instance using the specified maximum retry elapsed time allowed. + + maximum elapsed time in milliseconds to be allowed for it to perform retries. + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state. + Total elapsed time in milliseconds since the last reconnect retry was made. + + + + Represents a Lua script that can be executed on Redis. + + Unlike normal Redis Lua scripts, LuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + + Parameters of type RedisKey are sent to Redis as KEY (https://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + Since the mapping of "script text" -> LuaScript doesn't depend on any particular details of + the redis connection itself, this cache is global. + + + + + The original Lua script that was used to create this. + + + + + The Lua script that will actually be sent to Redis for execution. + All @-prefixed parameter names have been replaced at this point. + + + + + Arguments are in the order they have to passed to the script in. + + + + + Finalizer - used to prompt cleanups of the script cache when a LuaScript reference goes out of scope. + + + + + Invalidates the internal cache of LuaScript objects. + Existing LuaScripts will continue to work, but future calls to LuaScript.Prepare + return a new LuaScript instance. + + + + + Returns the number of cached LuaScripts. + + + + + Prepares a Lua script with named parameters to be run against any Redis instance. + + The script to prepare. + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + using the implicit SHA1 hash that's calculated after the script is sent to the server for the first time. + + Note: the FireAndForget command flag cannot be set. + + The server to load the script on. + The command flags to use. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + using the implicit SHA1 hash that's calculated after the script is sent to the server for the first time. + + Note: the FireAndForget command flag cannot be set. + + The server to load the script on. + The command flags to use. + + + + Represents a Lua script that can be executed on Redis. + + Unlike LuaScript, LoadedLuaScript sends the hash of it's ExecutableScript to Redis rather than pass + the whole script on each call. This requires that the script be loaded into Redis before it is used. + + + To create a LoadedLuaScript first create a LuaScript via LuaScript.Prepare(string), then + call Load(IServer, CommandFlags) on the returned LuaScript. + + + Unlike normal Redis Lua scripts, LoadedLuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + + Parameters of type RedisKey are sent to Redis as KEY (https://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + The original script that was used to create this LoadedLuaScript. + + + + + The script that will actually be sent to Redis for execution. + + + + + The SHA1 hash of ExecutableScript. + This is sent to Redis instead of ExecutableScript during Evaluate and EvaluateAsync calls. + + Be aware that using hash directly is not resilient to Redis server restarts. + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. + If the script has not been loaded into the passed Redis instance, it will fail. + + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. + If the script has not been loaded into the passed Redis instance, it will fail. + + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Azure node maintenance event. For more information, please see: . + + + + + Indicates the type of event (raw string form). + + + + + The parsed version of for easier consumption. + + + + + Indicates if the event is for a replica node. + + + + + IPAddress of the node event is intended for. + + + + + SSL Port. + + + + + Non-SSL port. + + + + + The types of notifications that Azure is sending for events happening. + + + + + Unrecognized event type, likely needs a library update to recognize new events. + + + + + Indicates that a maintenance event is scheduled. May be several minutes from now. + + + + + This event gets fired ~20s before maintenance begins. + + + + + This event gets fired when maintenance is imminent (<5s). + + + + + Indicates that the node maintenance operation is over. + + + + + Indicates that a replica has been promoted to primary. + + + + + Indicates that a scale event (adding or removing nodes) has completed for a cluster. + + + + + Base class for all server maintenance events. + + + + + Raw message received from the server. + + + + + The time the event was received. If we know when the event is expected to start will be populated. + + + + + Indicates the expected start time of the event. + + + + + Returns a string representing the maintenance event with all of its properties. + + + + + Notifies a ConnectionMultiplexer of this event, for anyone observing its handler. + + + + + Things with the potential to cause harm, or to reveal configuration information. + + + + Gets whether this is primary-only. + + Note that the constructor runs the switch statement above, so + this will already be true for primary-only commands, even if the + user specified etc. + + + + + This does a few important things: + 1: it suppresses error events for commands that the user isn't interested in + (i.e. "why does my standalone server keep saying ERR unknown command 'cluster' ?") + 2: it allows the initial PING and GET (during connect) to get queued rather + than be rejected as no-server-available (note that this doesn't apply to + handshake messages, as they bypass the queue completely). + 3: it disables non-pref logging, as it is usually server-targeted. + + + + + Gets a string representation of this message: "[{DB}]:{CommandAndKey} ({resultProcessor})". + + + + + Gets a string representation of this message without the key: "[{DB}]:{Command} ({resultProcessor})". + + + + + Gets if this command should be sent over the subscription bridge. + + + + + Sends this command to the subscription connection rather than the interactive. + + + + + Checks if this message has violated the provided timeout. + Whether it's a sync operation in a .Wait() or in the backlog queue or written/pending asynchronously, we need to timeout everything. + ...or we get indefinite Task hangs for completions. + + + + + Sets the processor and box for this message to execute. + + + Note order here is reversed to prevent overload resolution errors. + + + + + Sets the box and processor for this message to execute. + + + Note order here is reversed to prevent overload resolution errors. + + The type of the result box result. + + + + We have 1 queue in play on this bridge. + We're bypassing the queue for handshake events that go straight to the socket. + Everything else that's not an internal call goes into the queue if there is a queue. + + + In a later release we want to remove per-server events from this queue completely and shunt queued messages + to another capable primary connection if one is available to process them faster (order is already hosed). + For now, simplicity in: queue it all, replay or timeout it all. + + + + + If we have a connection, report the protocol being used. + + + + + Number of messages sent since the last heartbeat was processed. + + + + + The time this connection was connected at, if it's connected currently. + + + + + Whether the pipe writer is currently active. + + + + + Status of the currently processing backlog, if any. + + + + + The number of messages that are in the backlog queue (waiting to be sent when the connection is healthy again). + + + + + The number of messages that are in the backlog queue (waiting to be sent when the connection is healthy again). + + + + + The number of messages ever added to the backlog queue in the life of this connection. + + + + + Status for the underlying . + + + + + The default bridge stats, notable *not* the same as default since initializers don't run. + + + + + Sends a keepalive message (ECHO or PING) to keep connections alive and check validity of response. + + Whether to run even then the connection isn't idle. + + + + Crawls from the head of the backlog queue, consuming anything that should have timed out + and pruning it accordingly (these messages will get timeout exceptions). + + + + + Process the backlog(s) in play if any. + This means flushing commands to an available/active connection (if any) or spinning until timeout if not. + + + + + Reset event for monitoring backlog additions mid-run. + This allows us to keep the thread around for a full flush and prevent "feathering the throttle" trying + to flush it. In short, we don't start and stop so many threads with a bit of linger. + + + + + This writes a message to the output stream. + + The physical connection to write to. + The message to be written. + Whether this message should bypass the backlog, going straight to the pipe or failing. + + + + For testing only. + + + + + Nullable because during simulation of failure, we'll null out. + ...but in those cases, we'll accept any null ref in a race - it's fine. + + + + + Did we ask for the shutdown? If so this leads to informational messages for tracking but not errors. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Runs on every heartbeat for a bridge, timing out any commands that are overdue and returning an integer of how many we timed out. + + How many commands were overdue and threw timeout exceptions. + + + + Number of messages sent outbound, but we don't yet have a response for. + + + + + Bytes available on the socket, not yet read into the pipe. + + + + + Bytes read from the socket, pending in the reader pipe. + + + + + Bytes in the writer pipe, waiting to be written to the socket. + + + + + Byte size of the last result we processed. + + + + + Byte size on the buffer that isn't processed yet. + + + + + The inbound pipe reader status. + + + + + The outbound pipe writer status. + + + + + The default connection stats, notable *not* the same as default since initializers don't run. + + + + + The zeroed connection stats, which we want to display as zero for default exception cases. + + + + + A profiled command against a redis instance. + + TimeSpans returned by this interface use a high precision timer if possible. + DateTimes returned by this interface are no more precise than DateTime.UtcNow. + + + + + + The endpoint this command was sent to. + + + + + The Db this command was sent to. + + + + + The name of this command. + + + + + The CommandFlags the command was submitted with. + + + + + + When this command was *created*, will be approximately + when the paired method of StackExchange.Redis was called but + before that method returned. + + Note that the resolution of the returned DateTime is limited by DateTime.UtcNow. + + + + + How long this command waited to be added to the queue of pending + redis commands. A large TimeSpan indicates serious contention for + the pending queue. + + + + + How long this command spent in the pending queue before being sent to redis. + A large TimeSpan can indicate a large number of pending events, large pending events, + or network issues. + + + + + How long before Redis responded to this command and it's response could be handled after it was sent. + A large TimeSpan can indicate a large response body, an overtaxed redis instance, or network issues. + + + + + How long between Redis responding to this command and awaiting consumers being notified. + + + + + How long it took this redis command to be processed, from creation to deserializing the final response. + Note that this TimeSpan *does not* include time spent awaiting a Task in consumer code. + + + + + + If a command has to be resent due to an ASK or MOVED response from redis (in a cluster configuration), + the second sending of the command will have this property set to the original IProfiledCommand. + + This can only be set if redis is configured as a cluster. + + + + + If RetransmissionOf is not null, this property will be set to either Ask or Moved to indicate + what sort of response triggered the retransmission. + + This can be useful for determining the root cause of extra commands. + + + + + A collection of IProfiledCommands. + This is a very light weight data structure, only supporting enumeration. + + While it implements IEnumerable, it there are fewer allocations if one uses + it's explicit GetEnumerator() method. Using `foreach` does this automatically. + + This type is not threadsafe. + + + + + + Implements IEnumerator for ProfiledCommandEnumerable. + This implementation is comparable to List.Enumerator and Dictionary.Enumerator, + and is provided to reduce allocations in the common (ie. foreach) case. + + This type is not threadsafe. + + + + + The current element. + + + + + Advances the enumeration, returning true if there is a new element to consume and false + if enumeration is complete. + + + + + Resets the enumeration. + + + + + Disposes the enumeration. + subsequent attempts to enumerate results in undefined behavior. + + + + + Returns the number of commands captured in this snapshot. + + + + + Returns the number of commands captured in this snapshot that match a condition. + + The predicate to match. + + + + Returns the captured commands as an array. + + + + + Returns the captured commands as a list. + + + + + + Returns an implementor of IEnumerator that, provided it isn't accessed + though an interface, avoids allocations. + + `foreach` will automatically use this method. + + + + + Lightweight profiling session that can be optionally registered (via ConnectionMultiplexer.RegisterProfiler) to track messages. + + + + + Caller-defined state object. + + + + + Create a new profiling session, optionally including a caller-defined state object. + + The state object to use for this session. + + + + Reset the session and yield the commands that were captured for enumeration; if additional commands + are added, they can be retrieved via additional calls to FinishProfiling. + + + + + Represents a pub/sub channel name. + + + + + Indicates whether the channel-name is either null or a zero-length value. + + + + + Indicates whether this channel represents a wildcard pattern (see PSUBSCRIBE). + + + + + Indicates whether channels should use when no + is specified; this is enabled by default, but can be disabled to avoid unexpected wildcard scenarios. + + + + + Creates a new that does not act as a wildcard subscription. + + + + + Creates a new that does not act as a wildcard subscription. + + + + + Creates a new that acts as a wildcard subscription. + + + + + Creates a new that acts as a wildcard subscription. + + + + + Create a new redis channel from a buffer, explicitly controlling the pattern mode. + + The name of the channel to create. + The mode for name matching. + + + + Create a new redis channel from a string, explicitly controlling the pattern mode. + + The string name of the channel to create. + The mode for name matching. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + See . + + The to compare to. + + + + Indicate whether two channel names are equal. + + The to compare to. + + + + + + + Obtains a string representation of the channel name. + + + + + The matching pattern for this channel. + + + + + Will be treated as a pattern if it includes *. + + + + + Never a pattern. + + + + + Always a pattern. + + + + + Create a channel name from a . + + The string to get a channel from. + + + + Create a channel name from a . + + The byte array to get a channel from. + + + + Obtain the channel name as a . + + The channel to get a byte[] from. + + + + Obtain the channel name as a . + + The channel to get a string from. + + + + Gets message for . + + + + + Gets a message for . + + + + + + Notification of errors from the redis server. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + Error message. + + + + The origin of the message. + + + + + The message from the server. + + + + + Provides basic information about the features available on a particular version of Redis. + + + + + Create a new RedisFeatures instance for the given version. + + The version of redis to base the feature set on. + + + + Are BITOP and BITCOUNT available? + + + + + Is CLIENT SETNAME available? + + + + + Is CLIENT ID available? + + + + + Does EXEC support EXECABORT if there are errors? + + + + + Can EXPIRE be used to set expiration on a key that is already volatile (i.e. has an expiration)? + + + + + Is GETDEL available? + + + + + Is HSTRLEN available? + + + + + Does HDEL support variadic usage? + + + + + Are INCRBYFLOAT and HINCRBYFLOAT available? + + + + + Does INFO support sections? + + + + + Is LINSERT available? + + + + + Is MEMORY available? + + + + + Are PEXPIRE and PTTL available? + + + + + Is MODULE available? + + + + + Does SRANDMEMBER support the "count" option? + + + + + Is PERSIST available? + + + + + Are LPUSHX and RPUSHX available? + + + + + Does this support SORT_RO? + + + + + Is SCAN (cursor-based scanning) available? + + + + + Are EVAL, EVALSHA, and other script commands available? + + + + + Does SET support the GET option? + + + + + Does SET support the EX, PX, NX, and XX options? + + + + + Does SET have the KEEPTTL option? + + + + + Does SET allow the NX and GET options to be used together? + + + + + Does SADD support variadic usage? + + + + + Are ZPOPMIN and ZPOPMAX available? + + + + + Is ZRANGESTORE available? + + + + + Are Redis Streams available? + + + + + Is STRLEN available? + + + + + Is SETRANGE available? + + + + + Is SWAPDB available? + + + + + Is TIME available? + + + + + Is UNLINK available? + + + + + Are Lua changes to the calling database transparent to the calling client? + + + + + + + + Is PFCOUNT available on replicas? + + + + + Are geospatial commands available? + + + + + Can PING be used on a subscription connection? + + + + + Does SPOP support popping multiple items? + + + + + Is TOUCH available? + + + + + Does the server prefer 'replica' terminology - 'REPLICAOF', etc? + + + + + Do list-push commands support multiple arguments? + + + + + Is the RESP3 protocol available? + + + + + The Redis version of the server. + + + + + Create a string representation of the available features. + + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + Indicates whether this instance and a specified object are equal. + + + if and this instance are the same type and represent the same value, otherwise. + + The object to compare with the current instance. + + + + Indicates whether this instance and a specified object are equal. + + + if and this instance are the same type and represent the same value, otherwise. + + The object to compare with the current instance. + + + + Checks if 2 are .Equal(). + + + + + Checks if 2 are not .Equal(). + + + + + Represents a key that can be stored in redis. + + + + + Creates a from a string. + + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + See . + + The to compare to. + + + + Indicate whether two keys are equal. + + The to compare to. + + + + + + + Obtains a string representation of the key. + + + + + Create a from a . + + The string to get a key from. + + + + Create a from a . + + The byte array to get a key from. + + + + Obtain the as a . + + The key to get a byte array for. + + + + Obtain the key as a . + + The key to get a string for. + + + + Concatenate two keys. + + The first to add. + The second to add. + + + + Prepends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make it less possible. + + + The prefix to prepend. + + + + Appends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make it less possible. + + + The suffix to append. + + + + Indicates the protocol for communicating with the server. + + + + + The protocol used by all redis server versions since 1.2, as defined by https://github.com/redis/redis-specifications/blob/master/protocol/RESP2.md. + + + + + Opt-in variant introduced in server version 6, as defined by https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md. + + + + + Represents a general-purpose result from redis, that may be cast into various anticipated types. + + + + + Do not use. + + + + + Create a new RedisResult representing a single value. + + The to create a result from. + The type of result being represented. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + The explicit data type. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + The explicit data type. + new . + + + + An empty array result. + + + + + A null array result. + + + + + A null single result, to use as a default for invalid returns. + + + + + Gets the number of elements in this item if it is a valid array, or -1 otherwise. + + + + + + + + Gets the string content as per , but also obtains the declared type from verbatim strings (for example LATENCY DOCTOR). + + The type of the returned string. + The content. + + + + Internally, this is very similar to RawResult, except it is designed to be usable, + outside of the IO-processing pipeline: the buffers are standalone, etc. + + + + + Indicate the type of result that was received from redis, in RESP2 terms. + + + + + Indicate the type of result that was received from redis, in RESP3 terms. + + + + + Indicate the type of result that was received from redis, in RESP2 terms. + + + + + Indicates whether this result was a null result. + + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets a multi-bulk result with successive key/name values as a dictionary keyed by name. + + The key comparator to use, or by default. + + + + Get a sub-item by index. + + + + + Create a from a key. + + The to create a from. + + + + Create a from a channel. + + The to create a from. + + + + For testing only. + + + + + A wrapper for subscription actions. + + + By having most functionality here and state on , we can + use the baseline execution methods to take the normal message paths. + + + + + This is *could* we be connected, as in "what's the theoretical endpoint for this channel?", + rather than if we're actually connected and actually listening on that channel. + + + + + Unregisters a handler or queue and returns if we should remove it from the server. + + if we should remove the subscription from the server, otherwise. + + + + Represents values that can be stored in redis. + + + + + Creates a from a string. + + + + + Obtain this value as an object - to be used alongside Unbox. + + + + + Parse this object as a value - to be used alongside Box. + + The value to unbox. + + + + Represents the string "". + + + + + A null value. + + + + + Indicates whether the **underlying** value is a primitive integer (signed or unsigned); this is **not** + the same as whether the value can be *treated* as an integer - see + and , which is usually the more appropriate test. + + + + + Indicates whether the value should be considered a null value. + + + + + Indicates whether the value is either null or a zero-length value. + + + + + Indicates whether the value is greater than zero-length or has an integer value. + + + + + Indicates whether two RedisValue values are equivalent. + + The first to compare. + The second to compare. + + + + Indicates whether two RedisValue values are equivalent. + + The first to compare. + The second to compare. + + + + See . + + The other to compare. + + + + Indicates whether two RedisValue values are equivalent. + + The to compare to. + + + + + + + Returns a string representation of the value. + + + + + Get the size of this value in bytes. + + + + + Compare against a RedisValue for relative order. + + The other to compare. + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from a . + + The to convert to a . + + + + Creates a new from a . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Attempt to reduce to canonical terms ahead of time; parses integers, floats, etc + Note: we don't use this aggressively ahead of time, a: because of extra CPU, + but more importantly b: because it can change values - for example, if they start + with "123.000", it should **stay** as "123.000", not become 123L; this could be + a hash key or similar - we don't want to break it; RedisConnection uses + the storage type, not the "does it look like a long?" - for this reason. + + + + + Convert to a signed if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Convert to an if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Convert to a if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Create a from a . + It will *attempt* to use the internal buffer directly, but if this isn't possible it will fallback to . + + The to create a value from. + + + + Indicates whether the current value has the supplied value as a prefix. + + The to check. + + + + Anything hashed with SHA1 has exactly 40 characters. We can use that as a shortcut in the code bellow. + + + + + Parser for the https://redis.io/commands/lcs/ format with the and arguments. + + + Example response: + 1) "matches" + 2) 1) 1) 1) (integer) 4 + 2) (integer) 7 + 2) 1) (integer) 5 + 2) (integer) 8 + 3) (integer) 4 + 3) "len" + 4) (integer) 6 + ... + + + + + Handles . + + + + + Handles . + + + + + This processor is for *without* the option. + + + + + This processor is for *with* the option. + + + + + Handles stream responses. For formats, see . + + The type of the stream result. + + + + Result of the ROLE command. Values depend on the role: master, replica, or sentinel. + + + + + + One of "master", "slave" (aka replica), or "sentinel". + + + + + + + + Result of the ROLE command for a primary node. + + + + + + The replication offset. To be consumed by replica nodes. + + + + + Connected replica nodes. + + + + + A connected replica node. + + + + + The IP address of this replica node. + + + + + The port number of this replica node. + + + + + The last replication offset acked by this replica node. + + + + + + + + Result of the ROLE command for a replica node. + + + + + + The IP address of the primary node for this replica. + + + + + The port number of the primary node for this replica. + + + + + This replica's replication state. + + + + + The last replication offset received by this replica. + + + + + Result of the ROLE command for a sentinel node. + + + + + + Primary names monitored by this sentinel node. + + + + + An unexpected result of the ROLE command. + + + + + Turns a script with @namedParameters into a LuaScript that can be executed against a given IDatabase(Async) object. + + The script to prepare. + + + + Determines whether or not the given type can be used to provide parameters for the given . + + The type of the parameter. + The script to match against. + The first missing member, if any. + The first type mismatched member, if any. + + + + Creates a Func that extracts parameters from the given type for use by a LuaScript. + + Members that are RedisKey's get extracted to be passed in as keys to redis; all members that + appear in the script get extracted as RedisValue arguments to be sent up as args. + + + We send all values as arguments so we don't have to prepare the same script for different parameter + types. + + + The created Func takes a RedisKey, which will be prefixed to all keys (and arguments of type RedisKey) for + keyspace isolation. + + + The type to extract for. + The script to extract for. + + + + Illustrates the queues associates with this server. + + + + + Creates a instance for an . + + The to create counters for. + + + + The endpoint to which this data relates (this can be null if the data represents all servers). + + + + + Counters associated with the interactive (non pub-sub) connection. + + + + + Counters associated with other ambient activity. + + + + + Counters associated with the subscription (pub-sub) connection. + + + + + Indicates the total number of outstanding items against this server. + + + + + See . + + + + + Whether this endpoint supports databases at all. + Note that some servers are cluster but present as standalone (e.g. Redis Enterprise), so we respect + being disabled here as a performance workaround. + + + This is memoized because it's accessed on hot paths inside the write lock. + + + + + Awaitable state seeing if this endpoint is connected. + + + + + If we have a connection (interactive), report the protocol being used. + + + + + Used to round-robin between multiple replicas. + + + + + Result of the latest tie breaker (from the last reconfigure). + + + + + Forces frequent replication check starting from 1 second up to max ConfigCheckSeconds with an exponential increment. + + + + + Write the message directly to the pipe or fail...will not queue. + + The type of the result processor. + + + + For testing only. + + + + + Computes the hash-slot that would be used by the given key. + + The to determine a slot ID for. + + + + Computes the hash-slot that would be used by the given channel. + + The to determine a slot ID for. + + + + Gets the hashslot for a given byte sequence. + + + HASH_SLOT = CRC16(key) mod 16384. + + + + + A SocketManager monitors multiple sockets for availability of data; this is done using + the Socket.Select API and a dedicated reader-thread, which allows for fast responses + even when the system is under ambient load. + + + + + Gets the name of this SocketManager instance. + + + + + Creates a new instance. + + The name for this . + + + + Creates a new instance. + + The name for this . + Whether this should use high priority sockets. + + + + Creates a new (optionally named) instance. + + The name for this . + the number of dedicated workers for this . + Whether this should use high priority sockets. + + + + Additional options for configuring the socket manager. + + + + + No additional options. + + + + + Whether the should use high priority sockets. + + + + + Use the regular thread-pool for all scheduling. + + + + + Creates a new (optionally named) instance. + + The name for this . + The number of dedicated workers for this . + Options to use when creating the socket manager. + + + + Default / shared socket manager using a dedicated thread-pool. + + + + + Shared socket manager using the main thread-pool. + + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + Releases all resources associated with this instance. + + + + + Releases *appropriate* resources associated with this instance. + + + + + Constants representing values used in Redis Stream commands. + + + + + The "~" value used with the MAXLEN option. + + + + + The "*" value used with the XADD command. + + + + + The "$" value used in the XGROUP command. Indicates reading only new messages from the stream. + + + + + The "0" value used in the XGROUP command. Indicates reading all messages from the stream. + + + + + The "-" value used in the XRANGE, XREAD, and XREADGROUP commands. Indicates the minimum message ID from the stream. + + + + + The "+" value used in the XRANGE, XREAD, and XREADGROUP commands. Indicates the maximum message ID from the stream. + + + + + The ">" value used in the XREADGROUP command. Use this to read messages that have not been delivered to a consumer group. + + + + + Licensed to the .NET Foundation under one or more agreements. + The .NET Foundation licenses this file to you under the MIT license. + + Inspired from . + + + + Create a new TaskCompletion source. + + The type for the created . + The state for the created . + The options to apply to the task. + + + + Optimization over . + + From . + + + diff --git a/local-nuget/stackexchange.redis/2.8.24/lib/netcoreapp3.1/StackExchange.Redis.xml b/local-nuget/stackexchange.redis/2.8.24/lib/netcoreapp3.1/StackExchange.Redis.xml new file mode 100644 index 000000000..ea4c81303 --- /dev/null +++ b/local-nuget/stackexchange.redis/2.8.24/lib/netcoreapp3.1/StackExchange.Redis.xml @@ -0,0 +1,12571 @@ + + + + StackExchange.Redis + + + + + Filter determining which Redis clients to kill. + + + + + + Filter arguments builder for `CLIENT KILL`. + + + + + The ID of the client to kill. + + + + + The type of client. + + + + + The authenticated ACL username. + + + + + The endpoint to kill. + + + + + The server endpoint to kill. + + + + + Whether to skip the current connection. + + + + + Age of connection in seconds. + + + + + Sets client id filter. + + Id of the client to kill. + + + + Sets client type filter. + + The type of the client. + + + + Sets the username filter. + + Authenticated ACL username. + + + + Set the endpoint filter. + + The endpoint to kill. + + + + Set the server endpoint filter. + + The server endpoint to kill. + + + + Set the skipMe filter (whether to skip the current connection). + + Whether to skip the current connection. + + + + Set the MaxAgeInSeconds filter. + + Age of connection in seconds. + + + + Describes a GeoEntry element with the corresponding value. + GeoEntries are stored in redis as SortedSetEntries. + + + + + The name of the GeoEntry. + + + + + Describes the longitude and latitude of a GeoEntry. + + + + + Initializes a GeoEntry value. + + The longitude position to use. + The latitude position to use. + The value to store for this position. + + + + The longitude of the GeoEntry. + + + + + The latitude of the GeoEntry. + + + + + A "({Longitude},{Latitude})={Member}" string representation of this entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first entry to compare. + The second entry to compare. + + + + Compares two values for non-equality. + + The first entry to compare. + The second entry to compare. + + + + Describes the longitude and latitude of a GeoEntry. + + + + + The Latitude of the GeoPosition. + + + + + The Longitude of the GeoPosition. + + + + + Creates a new GeoPosition. + + + + + A "{long} {lat}" string representation of this position. + + + + + See . + Diagonals not an issue in the case of lat/long. + + + Diagonals are not an issue in the case of lat/long. + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first position to compare. + The second position to compare. + + + + Compares two values for non-equality. + + The first position to compare. + The second position to compare. + + + + GeoRadius command options. + + + + + No Options. + + + + + Redis will return the coordinates of any results. + + + + + Redis will return the distance from center for all results. + + + + + Redis will return the geo hash value as an integer. (This is the score in the sorted set). + + + + + Populates the commonly used values from the entry (the integer hash is not returned as it is not commonly useful). + + + + + The result of a GeoRadius command. + + + + + Indicate the member being represented. + + + + + The matched member. + + + + + The distance of the matched member from the center of the geo radius command. + + + + + The hash value of the matched member as an integer. (The key in the sorted set). + + Note that this is not the same as the hash returned from GeoHash. + + + + The coordinates of the matched member. + + + + + Returns a new GeoRadiusResult. + + The value from the result. + The distance from the result. + The hash of the result. + The GeoPosition of the result. + + + + A Shape that you can use for a GeoSearch. + + + + + The unit to use for creating the shape. + + + + + The number of shape arguments. + + + + + constructs a . + + The geography unit to use. + + + + A circle drawn on a map bounding. + + + + + Creates a Shape. + + The radius of the circle. + The distance unit the circle will use, defaults to Meters. + + + + Gets the s for this shape. + + + + + A box drawn on a map. + + + + + Initializes a GeoBox. + + The height of the box. + The width of the box. + The distance unit the box will use, defaults to Meters. + + + + Describes a hash-field (a name/value pair). + + + + + Initializes a value. + + The name for this hash entry. + The value for this hash entry. + + + + The name of the hash field. + + + + + The value of the hash field. + + + + + The name of the hash field. + + + + + Converts to a key/value pair. + + The to create a from. + + + + Converts from a key/value pair. + + The to get a from. + + + + A "{name}: {value}" string representation of this entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + A latency entry as reported by the built-in LATENCY HISTORY command. + + + + + The time at which this entry was recorded. + + + + + The latency recorded for this event. + + + + + A latency entry as reported by the built-in LATENCY LATEST command. + + + + + The name of this event. + + + + + The time at which this entry was recorded. + + + + + The latency recorded for this event. + + + + + The max latency recorded for all events. + + + + + The result of a LongestCommonSubsequence command with IDX feature. + Returns a list of the positions of each sub-match. + + + + + Whether this match result contains any matches. + + + + + The matched positions of all the sub-matched strings. + + + + + The length of the longest match. + + + + + Returns a new . + + The matched positions in each string. + The length of the match. + + + + Represents a sub-match of the longest match. i.e first indexes the matched substring in each string. + + + + + The first index of the matched substring in the first string. + + + + + The first index of the matched substring in the second string. + + + + + The length of the match. + + + + + Returns a new Match. + + The first index of the matched substring in the first string. + The first index of the matched substring in the second string. + The length of the match. + + + + A contiguous portion of a redis list. + + + + + A null ListPopResult, indicating no results. + + + + + Whether this object is null/empty. + + + + + The key of the list that this set of entries came form. + + + + + The values from the list. + + + + + Describes a value contained in a stream (a name/value pair). + + + + + Initializes a value. + + The name for this entry. + The value for this entry. + + + + The name of the field. + + + + + The value of the field. + + + + + Converts to a key/value pair. + + The to create a from. + + + + Converts from a key/value pair. + + The to get a from. + + + + The "{name}: {value}" string representation. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + Describes a Redis Stream with an associated array of entries. + + + + + The key for the stream. + + + + + An array of entries contained within the stream. + + + + + Describes a value/expiry pair. + + + + + Creates a from a and a . + + + + + The expiry of this record. + + + + + The value of this record. + + + + + Describes a sorted-set element with the corresponding value. + + + + + Initializes a value. + + The to get an entry for. + The redis score for . + + + + The unique element stored in the sorted set. + + + + + The score against the element. + + + + + The score against the element. + + + + + The unique element stored in the sorted set. + + + + + Converts to a key/value pair. + + The to get a for. + + + + Converts from a key/value pair. + + The to get a for. + + + + A "{element}: {score}" string representation of the entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values by score. + + The to compare to. + + + + Compares two values by score. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + A contiguous portion of a redis sorted set. + + + + + A null SortedSetPopResult, indicating no results. + + + + + Whether this object is null/empty. + + + + + The key of the sorted set these entries came form. + + + + + The provided entries of the sorted set. + + + + + Result of the XAUTOCLAIM command with the JUSTID option. + + + + + A null , indicating no results. + + + + + Whether this object is null/empty. + + + + + The stream ID to be used in the next call to StreamAutoClaim. + + + + + Array of IDs claimed by the command. + + + + + Array of message IDs deleted from the stream. + + + + + Result of the XAUTOCLAIM command. + + + + + A null , indicating no results. + + + + + Whether this object is null/empty. + + + + + The stream ID to be used in the next call to StreamAutoClaim. + + + + + An array of for the successfully claimed entries. + + + + + An array of message IDs deleted from the stream. + + + + + Describes a consumer off a Redis Stream. + + + + + The name of the consumer. + + + + + The number of messages that have been delivered by not yet acknowledged by the consumer. + + + + + Describes a consumer within a consumer group, retrieved using the XINFO CONSUMERS command. . + + + + + The name of the consumer. + + + + + The number of pending messages for the consumer. A pending message is one that has been + received by the consumer but not yet acknowledged. + + + + + The idle time, if any, for the consumer. + + + + + Describes an entry contained in a Redis Stream. + + + + + Creates an stream entry. + + + + + A null stream entry. + + + + + The ID assigned to the message. + + + + + The values contained within the message. + + + + + Search for a specific field by name, returning the value. + + + + + Indicates that the Redis Stream Entry is null. + + + + + Describes a consumer group retrieved using the XINFO GROUPS command. . + + + + + The name of the consumer group. + + + + + The number of consumers within the consumer group. + + + + + The total number of pending messages for the consumer group. A pending message is one that has been + received by a consumer but not yet acknowledged. + + + + + The Id of the last message delivered to the group. + + + + + Total number of entries the group had read. + + + + + The number of entries in the range between the group's read entries and the stream's entries. + + + + + Describes stream information retrieved using the XINFO STREAM command. . + + + + + The number of entries in the stream. + + + + + The number of radix tree keys in the stream. + + + + + The number of radix tree nodes in the stream. + + + + + The number of consumers groups in the stream. + + + + + The first entry in the stream. + + + + + The last entry in the stream. + + + + + The last generated id. + + + + + Describes basic information about pending messages for a consumer group. + + + + + The number of pending messages. A pending message is a message that has been consumed but not yet acknowledged. + + + + + The lowest message ID in the set of pending messages. + + + + + The highest message ID in the set of pending messages. + + + + + An array of consumers within the consumer group that have pending messages. + + + + + Describes properties of a pending message. + A pending message is one that has been received by a consumer but has not yet been acknowledged. + + + + + The ID of the pending message. + + + + + The consumer that received the pending message. + + + + + The time that has passed since the message was last delivered to a consumer. + + + + + The number of times the message has been delivered to a consumer. + + + + + Describes a pair consisting of the Stream Key and the from which to begin reading a stream. + + + + + Read from the beginning of a stream. + + + + + Read new messages. + + + + + Initializes a value. + + The key for the stream. + The position from which to begin reading the stream. + + + + The stream key. + + + + + The offset at which to begin reading the stream. + + + + + The backlog policy to use for commands. This policy comes into effect when a connection is unhealthy or unavailable. + The policy can choose to backlog commands and wait to try them (within their timeout) against a connection when it comes up, + or it could choose to fail fast and throw ASAP. Different apps desire different behaviors with backpressure and how to handle + large amounts of load, so this is configurable to optimize the happy path but avoid spiral-of-death queue scenarios for others. + + + + + Backlog behavior matching StackExchange.Redis's 2.x line, failing fast and not attempting to queue + and retry when a connection is available again. + + + + + Default backlog policy which will allow commands to be issues against an endpoint and queue up. + Commands are still subject to their async timeout (which serves as a queue size check). + + + + + Whether to queue commands while disconnected. + True means queue for attempts up until their timeout. + means to fail ASAP and queue nothing. + + + + + Whether to immediately abandon (with an exception) all pending commands when a connection goes unhealthy. + + + + + Note that in results other than success, no guarantees are made about final state; if you care: snapshot. + + + + + Represents a message that is broadcast via publish/subscribe. + + + + + The Channel:Message string representation. + + + + + + + + + + + The channel that the subscription was created from. + + + + + The channel that the message was broadcast to. + + + + + The value that was broadcast. + + + + + Checks if 2 messages are .Equal(). + + + + + Checks if 2 messages are not .Equal(). + + + + + Represents a message queue of ordered pub/sub notifications. + + + To create a ChannelMessageQueue, use + or . + + + + + The Channel that was subscribed for this queue. + + + + + The string representation of this channel. + + + + + An awaitable task the indicates completion of the queue (including drain of data). + + + + + Consume a message from the channel. + + The to use. + + + + Attempt to synchronously consume a message from the channel. + + The read from the Channel. + + + + Attempt to query the backlog length of the queue. + + The (approximate) count of items in the Channel. + + + + Create a message loop that processes messages sequentially. + + The handler to run when receiving a message. + + + + Create a message loop that processes messages sequentially. + + The handler to execute when receiving a message. + + + + Stop receiving messages on this channel. + + The flags to use when unsubscribing. + + + + Stop receiving messages on this channel. + + The flags to use when unsubscribing. + + + + + + + Represents the state of an individual client connection to redis. + + + + + Address (host and port) of the client. + + + + + Total duration of the connection in seconds. + + + + + Current database ID. + + + + + The flags associated with this connection. + + + + + The client flags can be a combination of: + + + A + Connection to be closed ASAP. + + + b + The client is waiting in a blocking operation. + + + c + Connection to be closed after writing entire reply. + + + d + A watched keys has been modified - EXEC will fail. + + + i + The client is waiting for a VM I/O (deprecated). + + + M + The client is a primary. + + + N + No specific flag set. + + + O + The client is a replica in MONITOR mode. + + + P + The client is a Pub/Sub subscriber. + + + r + The client is in readonly mode against a cluster node. + + + S + The client is a normal replica server. + + + u + The client is unblocked. + + + U + The client is unblocked. + + + x + The client is in a MULTI/EXEC context. + + + t + The client enabled keys tracking in order to perform client side caching. + + + R + The client tracking target client is invalid. + + + B + The client enabled broadcast tracking mode. + + + + + + + + The host of the client (typically an IP address). + + + + + Idle time of the connection in seconds. + + + + + Last command played. + + + + + The name allocated to this connection, if any. + + + + + Number of pattern matching subscriptions. + + + + + The port of the client. + + + + + The raw content from redis. + + + + + Number of channel subscriptions. + + + + + Number of commands in a MULTI/EXEC context. + + + + + A unique 64-bit client ID (introduced in Redis 2.8.12). + + + + + Format the object as a string. + + + + + The class of the connection. + + + + + Client RESP protocol version. Added in Redis 7.0. + + + + + Client RESP protocol version. Added in Redis 7.0. + + + + + Client library name. Added in Redis 7.2. + + + + + + Client library version. Added in Redis 7.2. + + + + + + Indicates a range of slots served by a cluster node. + + + + + Create a new SlotRange value. + + The slot ID to start at. + The slot ID to end at. + + + + The start of the range (inclusive). + + + + + The end of the range (inclusive). + + + + + Indicates whether two ranges are not equal. + + The first slot range. + The second slot range. + + + + Indicates whether two ranges are equal. + + The first slot range. + The second slot range. + + + + Try to parse a string as a range. + + The range string to parse, e.g."1-12". + The parsed , if successful. + + + + Compares the current instance with another object of the same type and returns an integer that indicates + whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + The other slot range to compare to. + + + + See . + + The other slot range to compare to. + + + + Indicates whether two ranges are equal. + + The other slot range to compare to. + + + + + + + String representation ("{from}-{to}") of the range. + + + + + Describes the state of the cluster as reported by a single node. + + + + + Gets all nodes contained in the configuration. + + + + + The node that was asked for the configuration. + + + + + Obtain the node relating to a specified endpoint. + + The endpoint to get a cluster node from. + + + + Gets the node that serves the specified slot. + + The slot ID to get a node by. + + + + Gets the node that serves the specified key's slot. + + The key to identify a node by. + + + + Represents the configuration of a single node in a cluster configuration. + + + + + + Gets all child nodes of the current node. + + + + + Gets the endpoint of the current node. + + + + + Gets whether this node is in a failed state. + + + + + Gets whether this node is possibly in a failed state. + Possibly here means the node we're getting status from can't communicate with it, but doesn't mean it's down for sure. + + + + + Gets whether this is the node which responded to the CLUSTER NODES request. + + + + + Gets whether this node is a replica. + + + + + Gets whether this node is a replica. + + + + + Gets whether this node is flagged as noaddr. + + + + + Gets the node's connection status. + + + + + Gets the unique node-id of the current node. + + + + + Gets the parent node of the current node. + + + + + Gets the unique node-id of the parent of the current node. + + + + + The configuration as reported by the server. + + + + + The slots owned by this server. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates + whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + The to compare to. + + + + See . + + The to compare to. + + + + Indicates whether two instances are equivalent. + + The to compare to. + + + + + + + A string summary of this cluster configuration. + + + + + Represents the commands mapped on a particular configuration. + + + + + The default commands specified by redis. + + + + + The commands available to twemproxy. + + + + + + The commands available to envoyproxy. + + + + + + The commands available to SSDB. + + + + + + The commands available to Sentinel. + + + + + + Create a new , customizing some commands. + + The commands to override. + + + + Creates a by specifying which commands are available or unavailable. + + The commands to specify. + Whether the commands are available or excluded. + + + + See . + + + + + Represents the information known about long-running commands. + + + + + The array composing the arguments of the command. + + + + + The amount of time needed for its execution. + + + + + The time at which the logged command was processed. + + + + + A unique progressive identifier for every slow log entry. + + The entry's unique ID can be used in order to avoid processing slow log entries multiple times (for instance you may have a script sending you an email alert for every new slow log entry). The ID is never reset in the course of the Redis server execution, only a server restart will reset it. + + + + Deduces a link to the redis documentation about the specified command. + + + + + Describes a precondition used in a redis transaction. + + + + + Enforces that the given hash-field must have the specified value. + + The key of the hash to check. + The field in the hash to check. + The value that the hash field must match. + + + + Enforces that the given hash-field must exist. + + The key of the hash to check. + The field in the hash to check. + + + + Enforces that the given hash-field must not have the specified value. + + The key of the hash to check. + The field in the hash to check. + The value that the hash field must not match. + + + + Enforces that the given hash-field must not exist. + + The key of the hash to check. + The field in the hash that must not exist. + + + + Enforces that the given key must exist. + + The key that must exist. + + + + Enforces that the given key must not exist. + + The key that must not exist. + + + + Enforces that the given list index must have the specified value. + + The key of the list to check. + The position in the list to check. + The value of the list position that must match. + + + + Enforces that the given list index must exist. + + The key of the list to check. + The position in the list that must exist. + + + + Enforces that the given list index must not have the specified value. + + The key of the list to check. + The position in the list to check. + The value of the list position must not match. + + + + Enforces that the given list index must not exist. + + The key of the list to check. + The position in the list that must not exist. + + + + Enforces that the given key must have the specified value. + + The key to check. + The value that must match. + + + + Enforces that the given key must not have the specified value. + + The key to check. + The value that must not match. + + + + Enforces that the given hash length is a certain value. + + The key of the hash to check. + The length the hash must have. + + + + Enforces that the given hash length is less than a certain value. + + The key of the hash to check. + The length the hash must be less than. + + + + Enforces that the given hash length is greater than a certain value. + + The key of the hash to check. + The length the hash must be greater than. + + + + Enforces that the given string length is a certain value. + + The key of the string to check. + The length the string must be equal to. + + + + Enforces that the given string length is less than a certain value. + + The key of the string to check. + The length the string must be less than. + + + + Enforces that the given string length is greater than a certain value. + + The key of the string to check. + The length the string must be greater than. + + + + Enforces that the given list length is a certain value. + + The key of the list to check. + The length the list must be equal to. + + + + Enforces that the given list length is less than a certain value. + + The key of the list to check. + The length the list must be less than. + + + + Enforces that the given list length is greater than a certain value. + + The key of the list to check. + The length the list must be greater than. + + + + Enforces that the given set cardinality is a certain value. + + The key of the set to check. + The length the set must be equal to. + + + + Enforces that the given set cardinality is less than a certain value. + + The key of the set to check. + The length the set must be less than. + + + + Enforces that the given set cardinality is greater than a certain value. + + The key of the set to check. + The length the set must be greater than. + + + + Enforces that the given set contains a certain member. + + The key of the set to check. + The member the set must contain. + + + + Enforces that the given set does not contain a certain member. + + The key of the set to check. + The member the set must not contain. + + + + Enforces that the given sorted set cardinality is a certain value. + + The key of the sorted set to check. + The length the sorted set must be equal to. + + + + Enforces that the given sorted set contains a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set cardinality is less than a certain value. + + The key of the sorted set to check. + The length the sorted set must be less than. + + + + Enforces that the given sorted set contains less than a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set cardinality is greater than a certain value. + + The key of the sorted set to check. + The length the sorted set must be greater than. + + + + Enforces that the given sorted set contains more than a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set contains a certain member. + + The key of the sorted set to check. + The member the sorted set must contain. + + + + Enforces that the given sorted set does not contain a certain member. + + The key of the sorted set to check. + The member the sorted set must not contain. + + + + Enforces that the given sorted set member must have the specified score. + + The key of the sorted set to check. + The member the sorted set to check. + The score that member must have. + + + + Enforces that the given sorted set member must not have the specified score. + + The key of the sorted set to check. + The member the sorted set to check. + The score that member must not have. + + + + Enforces that the given sorted set must have the given score. + + The key of the sorted set to check. + The score that the sorted set must have. + + + + Enforces that the given sorted set must not have the given score. + + The key of the sorted set to check. + The score that the sorted set must not have. + + + + Enforces that the given sorted set must have the specified count of the given score. + + The key of the sorted set to check. + The score that the sorted set must have. + The number of members which sorted set must have. + + + + Enforces that the given sorted set must not have the specified count of the given score. + + The key of the sorted set to check. + The score that the sorted set must not have. + The number of members which sorted set must not have. + + + + Enforces that the given stream length is a certain value. + + The key of the stream to check. + The length the stream must have. + + + + Enforces that the given stream length is less than a certain value. + + The key of the stream to check. + The length the stream must be less than. + + + + Enforces that the given stream length is greater than a certain value. + + The key of the stream to check. + The length the stream must be greater than. + + + + Indicates the status of a condition as part of a transaction. + + + + + Indicates whether the condition was satisfied. + + + + + The options relevant to a set of redis connections. + + + Some options are not observed by a after initial creation: + + + + + + + + + + + A LocalCertificateSelectionCallback delegate responsible for selecting the certificate used for authentication; note + that this cannot be specified in the configuration-string. + + + + + A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party; note + that this cannot be specified in the configuration-string. + + + + + The default (not explicitly configured) options for this connection, fetched based on our parsed endpoints. + + + + + Allows modification of a between creation and connection. + Passed in is the endpoint we're connecting to, which type of connection it is, and the socket itself. + For example, a specific local IP endpoint could be bound, linger time altered, etc. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException. + + + + + Indicates whether admin operations should be allowed. + + + + + Specifies the time in milliseconds that the system should allow for asynchronous operations (defaults to SyncTimeout). + + + + + Indicates whether the connection should be encrypted. + + + + + Gets or sets whether the library should identify itself by library-name/version when possible. + + + + + Gets or sets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. + Defaults to "SE.Redis". + + If the value is null, empty or whitespace, then the value from the options-provider is used; + to disable the library name feature, use instead. + + + + Automatically encodes and decodes channels. + + + + + A Boolean value that specifies whether the certificate revocation list is checked during authentication. + + + + + A Boolean value that specifies whether to use per-command validation of strict protocol validity. + This sends an additional command after EVERY command which incurs measurable overhead. + + + The regular RESP protocol does not include correlation identifiers between requests and responses; in exceptional + scenarios, protocol desynchronization can occur, which may not be noticed immediately; this option adds additional data + to ensure that this cannot occur, at the cost of some (small) additional bandwidth usage. + + + + + Create a certificate validation check that checks against the supplied issuer even when not known by the machine. + + The file system path to find the certificate at. + + + + Create a certificate validation check that checks against the supplied issuer even when not known by the machine. + + The issuer to trust. + + + + The client name to use for all connections. + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly. + + + + + The command-map associated with this configuration. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Gets the command map for a given server type, since some supersede settings when connecting. + + + + + Channel to use for broadcasting and listening for configuration change notification. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Specifies the time in milliseconds that should be allowed for connection (defaults to 5 seconds unless SyncTimeout is higher). + + + + + Specifies the default database to be used when calling without any parameters. + + + + + The server version to assume. + + + + + The endpoints defined for this configuration. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. + This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection. + + + + + Controls how often the connection heartbeats. A heartbeat includes: + - Evaluating if any messages have timed out. + - Evaluating connection status (checking for failures). + - Sending a server message to keep the connection alive if needed. + + + This defaults to 1000 milliseconds and should not be changed for most use cases. + If for example you want to evaluate whether commands have violated the at a lower fidelity + than 1000 milliseconds, you could lower this value. + Be aware setting this very low incurs additional overhead of evaluating the above more often. + + + + + Use ThreadPriority.AboveNormal for SocketManager reader and writer threads (true by default). + If , will be used. + + + + + Whether exceptions include identifiable details (key names, additional .Data annotations). + + + + + Whether exceptions include performance counter details. + + + CPU usage, etc - note that this can be problematic on some platforms. + + + + + Specifies the time in seconds at which connections should be pinged to ensure validity. + -1 Defaults to 60 Seconds. + + + + + The to get loggers for connection events. + Note: changes here only affect s created after. + + + + + The username to use to authenticate with the server. + + + + + The password to use to authenticate with the server. + + + + + Specifies whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Type of proxy to use (if any); for example . + + + + + The retry policy to be used for connection reconnects. + + + + + The backlog policy to be used for commands when a connection is unhealthy. + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure. + + + + + Specifies the time in milliseconds that the system should allow for responses before concluding that the socket is unhealthy. + + + + + The service name used to resolve a service via sentinel. + + + + + Gets or sets the SocketManager instance to be used with these options. + If this is null a shared cross-multiplexer is used. + + + This is only used when a is created. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + A provider for a given host, for custom TLS connection options. + Note: this overrides *all* other TLS and certificate settings, only for advanced use cases. + + + + + Indicates whether the connection should be encrypted. + + + + + The target-host to use when validating SSL certificate; setting a value here enables SSL mode. + + + + + Configures which SSL/TLS protocols should be allowed. If not set, defaults are chosen by the .NET framework. + + + + + Specifies the time in milliseconds that the system should allow for synchronous operations (defaults to 5 seconds). + + + + + Tie-breaker used to choose between primaries (must match the endpoint exactly). + + + + + The size of the output buffer to use. + + + + + Check configuration every n seconds (every minute by default). + + + + + Parse the configuration from a comma-delimited configuration string. + + The configuration string to parse. + is . + is empty. + + + + Parse the configuration from a comma-delimited configuration string. + + The configuration string to parse. + Whether to ignore unknown elements in . + is . + is empty. + + + + Create a copy of the configuration. + + + + + Apply settings to configure this instance of , e.g. for a specific scenario. + + An action that will update the properties of this instance. + This instance, with any changes made. + + + + Resolve the default port for any endpoints that did not have a port explicitly specified. + + + + + Gets a tie breaker if we both have one set, and should be using one. + + + + + Returns the effective configuration string for this configuration, including Redis credentials. + + + Includes password to allow generation of configuration strings used for connecting multiplexer. + + + + + Returns the effective configuration string for this configuration + with the option to include or exclude the password from the string. + + Whether to include the password. + + + + Allows custom transport implementations, such as http-tunneling via a proxy. + + + + + Specify the redis protocol type. + + + + + Options provider for Azure environments. + + + + + Allow connecting after startup, in the cases where remote cache isn't ready or is overloaded. + + + + + The minimum version of Redis in Azure is 6, so use the widest set of available commands when connecting. + + + + + Lists of domains known to be Azure Redis, so we can light up some helpful functionality + for minimizing downtime during maintenance events and such. + + + + + + + + + + + + + + A defaults providers for . + This providers defaults not explicitly specified and is present to be inherited by environments that want to provide + better defaults for their use case, e.g. in a single wrapper library used many places. + + + Why not just have a default instance? Good question! + Since we null coalesce down to the defaults, there's an inherent pit-of-failure with that approach of . + If you forget anything or if someone creates a provider nulling these out...kaboom. + + + + + The known providers to match against (built into the library) - the default set. + If none of these match, is used. + + + + + The current list of providers to match (potentially modified from defaults via . + + + + + Adds a provider to match endpoints against. The last provider added has the highest priority. + If you want your provider to match everything, implement as return true;. + + The provider to add. + + + + Whether this options provider matches a given endpoint, for automatically selecting a provider based on what's being connected to. + + + + + Gets a provider for the given endpoints, falling back to if nothing more specific is found. + + + + + Gets a provider for a given endpoints, falling back to if nothing more specific is found. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException. + + + + + Indicates whether admin operations should be allowed. + + + + + The backlog policy to be used for commands when a connection is unhealthy. + + + + + A Boolean value that specifies whether the certificate revocation list is checked during authentication. + + + + + A Boolean value that specifies whether to use per-command validation of strict protocol validity. + This sends an additional command after EVERY command which incurs measurable overhead. + + + The regular RESP protocol does not include correlation identifiers between requests and responses; in exceptional + scenarios, protocol desynchronization can occur, which may not be noticed immediately; this option adds additional data + to ensure that this cannot occur, at the cost of some (small) additional bandwidth usage. + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly. + + + + + Specifies the time that should be allowed for connection. + Falls back to Max(5000, SyncTimeout) if null. + + + + + The command-map associated with this configuration. + + + + + Channel to use for broadcasting and listening for configuration change notification. + + + + + The server version to assume. + + + + + Controls how often the connection heartbeats. A heartbeat includes: + - Evaluating if any messages have timed out. + - Evaluating connection status (checking for failures). + - Sending a server message to keep the connection alive if needed. + + Be aware setting this very low incurs additional overhead of evaluating the above more often. + + + + Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. + This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection. + + + + + Whether exceptions include identifiable details (key names, additional .Data annotations). + + + + + Whether exceptions include performance counter details. + + + CPU usage, etc - note that this can be problematic on some platforms. + + + + + Specifies the time interval at which connections should be pinged to ensure validity. + + + + + The to get loggers for connection events. + Note: changes here only affect s created after. + + + + + Type of proxy to use (if any); for example . + + + + + The retry policy to be used for connection reconnects. + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure. + + + + + Specifies the time that the system should allow for synchronous operations. + + + + + Tie-breaker used to choose between primaries (must match the endpoint exactly). + + + + + Check configuration every n interval. + + + + + The username to use to authenticate with the server. + + + + + The password to use to authenticate with the server. + + + + + The default client name for a connection, with the library version appended. + + + + + Gets the default client name for a connection. + + + + + Gets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. + Defaults to "SE.Redis". + + + + + String version of the StackExchange.Redis library, for use in any options. + + + + + Name of the machine we're running on, for use in any options. + + + + + Whether to identify the client by library name/version when possible. + + + + + Tries to get the RoleInstance Id if Microsoft.WindowsAzure.ServiceRuntime is loaded. + In case of any failure, swallows the exception and returns null. + + + Azure, in the default provider? Yes, to maintain existing compatibility/convenience. + Source != destination here. + + + + + The action to perform, if any, immediately after an initial connection completes. + + The multiplexer that just connected. + The logger for the connection, to emit to the connection output log. + + + + Gets the default SSL "enabled or not" based on a set of endpoints. + Note: this setting then applies for *all* endpoints. + + The configured endpoints to determine SSL usage from (e.g. from the port). + Whether to enable SSL for connections (unless explicitly overridden in a direct set). + + + + Gets the SSL Host to check for when connecting to endpoints (customizable in case of internal certificate shenanigans. + + The configured endpoints to determine SSL host from (e.g. from the port). + The common host, if any, detected from the endpoint collection. + + + + Captures redis traffic; intended for debug use. + + + + + Replay the RESP messages for a pair of streams, invoking a callback per operation. + + + + + Replay the RESP messages all the streams in a folder, invoking a callback per operation. + + The directory of captured files to replay. + Operation to perform per replayed message pair. + + + + Validate a RESP stream and return the number of top-level RESP fragments. + + The path of a single file to validate, or a directory of captured files to validate. + + + + Validate a RESP stream and return the number of top-level RESP fragments. + + + + + Create a new instance of a . + + + + + Configures the provided options to perform file-based logging to a directory; + files will be sequential per stream starting from zero, and will blindly overwrite existing files. + + + + + + + + Perform logging on the provided stream. + + + + + + + + + + + Get a typical text representation of a redis command. + + + + + Get a typical text representation of a redis response. + + + + + Allows interception of the transport used to communicate with Redis. + + + + + Gets the underlying socket endpoint to use when connecting to a logical endpoint. + + null should be returned if a socket is not required for this endpoint. + + + + Allows modification of a between creation and connection. + Passed in is the endpoint we're connecting to, which type of connection it is, and the socket itself. + For example, a specific local IP endpoint could be bound, linger time altered, etc. + + + + + Invoked on a connected endpoint before server authentication and other handshakes occur, allowing pre-redis handshakes. By returning a custom , + the entire data flow can be intercepted, providing entire custom transports. + + + + + Create a tunnel via an HTTP proxy server. + + The endpoint to use as an HTTP proxy server. + + + + Illustrates the counters associated with an individual connection. + + + + + The number of operations that have been completed asynchronously. + + + + + The number of operations that have been completed synchronously. + + + + + The type of this connection. + + + + + The number of operations that failed to complete asynchronously. + + + + + Indicates if there are any pending items or failures on this connection. + + + + + Indicates the total number of messages dispatched to a non-preferred endpoint, for example sent + to a primary when the caller stated a preference of replica. + + + + + The number of operations performed on this connection. + + + + + Operations that have been requested, but which have not yet been sent to the server. + + + + + Operations for which the response has been processed, but which are awaiting asynchronous completion. + + + + + Operations that have been sent to the server, but which are awaiting a response. + + + + + The number of sockets used by this logical connection (total, including reconnects). + + + + + The number of subscriptions (with and without patterns) currently held against this connection. + + + + + Indicates the total number of outstanding items against this connection. + + + + + Indicates the total number of writers items against this connection. + + + + + See . + + + + + Contains information about a server connection failure. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + Redis connection type. + Redis connection failure type. + The exception that occurred. + Connection physical name. + + + + Gets the connection-type of the failing connection. + + + + + Gets the failing server-endpoint. + + + + + Gets the exception if available (this can be null). + + + + + The type of failure. + + + + + Returns the physical name of the connection. + + + + + Represents an inter-related group of connections to redis servers. + A reference to this should be held and re-used. + + + + + + No longer used. + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Tracks overall connection multiplexer counts. + + + + + Tracks overall connection multiplexer counts. + + + + + Tracks overall connection multiplexer counts. + + + + + + + + + + + Gets the synchronous timeout associated with the connections. + + + + + Gets the asynchronous timeout associated with the connections. + + + + + Gets the client-name that will be used on all new connections. + + + We null coalesce here instead of in Options so that we don't populate it everywhere (e.g. .ToString()), given it's a default. + + + + + Gets the configuration of the connection. + + + + + Indicates whether any servers are connected. + + + + + Indicates whether any servers are currently trying to connect. + + + + + Get summary statistics associated with all servers in this multiplexer. + + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type contains in the task to wait on. + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + The to log to. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + Action to further modify the parsed configuration options. + The to log to. + + + + Creates a new instance. + + The configuration options to use for this multiplexer. + The to log to. + Note: For Sentinel, do not specify a - this is handled automatically. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + The to log to. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + Action to further modify the parsed configuration options. + The to log to. + + + + Creates a new instance. + + The configuration options to use for this multiplexer. + The to log to. + Note: For Sentinel, do not specify a - this is handled automatically. + + + + Obtain a pub/sub subscriber connection to the specified server. + + The async state object to pass to the created . + + + + Applies common DB number defaults and rules. + + + + + Obtain an interactive connection to a database inside redis. + + The ID to get a database for. + The async state to pass into the resulting . + + + + Compute the hash-slot of a specified key. + + The key to get a hash slot ID for. + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The port for to get a server for. + The async state to pass into the resulting . + + + + Obtain a configuration API for an individual server. + + The "host:port" string to get a server for. + The async state to pass into the resulting . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The port for to get a server for. + + + + Obtain a configuration API for an individual server. + + The endpoint to get a server for. + The async state to pass into the resulting . + + + + Obtain configuration APIs for all servers in this multiplexer. + + + + + Get the hash-slot associated with a given key, if applicable. + This can be useful for grouping operations. + + The to determine the hash slot for. + + + + The number of operations that have been performed on all connections. + + + + + Reconfigure the current connections based on the existing configuration. + + The to log to. + + + + Reconfigure the current connections based on the existing configuration. + + The to log to. + + + + Provides a text overview of the status of all connections. + + + + + Provides a text overview of the status of all connections. + + The to log to. + + + + Triggers a reconfigure of this multiplexer. + This re-assessment of all server endpoints to get the current topology and adjust, the same as if we had first connected. + + + + + Gets all endpoints defined on the multiplexer. + + Whether to get only the endpoints specified explicitly in the config. + + + + Gets the client name for this multiplexer. + + + + + Sends request to all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending). + + + + Sends request to all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher). + + + + Release all resources associated with this object. + + + + + Release all resources associated with this object. + + + + + Close all connections and release all resources associated with this object. + + Whether to allow all in-queue commands to complete first. + + + + Close all connections and release all resources associated with this object. + + Whether to allow all in-queue commands to complete first. + + + + Invoked by the garbage collector. + + + + + For debugging: when not enabled, servers cannot connect. + + + + + For debugging: when not enabled, end-connect is silently ignored (to simulate a long-running connect). + + + + + Raised whenever a physical connection fails. + + + + + Raised whenever an internal error occurs (this is primarily for debugging). + + + + + Raised whenever a physical connection is established. + + + + + Raised when configuration changes are detected. + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast. + This usually means primary/replica changes. + + + + + Raised when server indicates a maintenance event is going to happen. + + + + + Raised when a hash-slot has been relocated. + + + + + Raised when a server replied with an error message. + + + + + Write the configuration of all servers to an output stream. + + The destination stream to write the export to. + The options to use for this export. + + + + Enables or disables a feature flag. + This should only be used under support guidance, and should not be rapidly toggled. + + + + + Returns the state of a feature flag. + This should only be used under support guidance. + + + + + + + + Register a callback to provide an on-demand ambient session provider based on the + calling context; the implementing code is responsible for reliably resolving the same provider + based on ambient context, or returning null to not profile. + + The session provider to register. + + + + Initializes the connection as a Sentinel connection and adds the necessary event handlers to track changes to the managed primaries. + + The to log to, if any. + + + + Create a new instance that connects to a Sentinel server. + + The string configuration to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The string configuration to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a sentinel server, discovers the current primary server + for the specified in the config and returns a managed connection to the current primary server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a sentinel server, discovers the current primary server + for the specified in the config and returns a managed connection to the current primary server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Returns a managed connection to the primary server indicated by the in the config. + + The configuration to be used when connecting to the primary. + The writer to log to, if any. + + + + Switches the SentinelMasterConnection over to a new primary. + + The endpoint responsible for the switch. + The connection that should be switched over to a new primary endpoint. + The writer to log to, if any. + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time). + Set to a negative value to disable this feature. + + + + + Obtains the log of unusual busy patterns. + + + + + Resets the log of unusual busy patterns. + + + + + Gets the subscriber counts for a channel. + + if there's a subscription registered at all. + + + + Gets which server, if any, there's a registered subscription to for this channel. + + + This may be null if there is a subscription, but we don't have a connected server at the moment. + This behavior is fine but IsConnected checks, but is a subtle difference in . + + + + + Handler that executes whenever a message comes in, this doles out messages to any registered handlers. + + + + + Updates all subscriptions re-evaluating their state. + This clears the current server if it's not connected, prepping them to reconnect. + + + + + Ensures all subscriptions are connected to a server, if possible. + + The count of subscriptions attempting to reconnect (same as the count currently not connected). + + + + This is the record of a single subscription to a redis server. + It's the singular channel (which may or may not be a pattern), to one or more handlers. + We subscriber to a redis server once (for all messages) and execute 1-many handlers when a message arrives. + + + + + Whether the we have is connected. + Since we clear on a disconnect, this should stay correct. + + + + + Gets the configured (P)SUBSCRIBE or (P)UNSUBSCRIBE for an action. + + + + + Evaluates state and if we're not currently connected, clears the server reference. + + + + + Provides the ability to iterate over a cursor-based sequence of redis data, synchronously or asynchronously. + + The type of the data in the cursor. + + + + Gets an enumerator for the sequence. + + + + + Gets an enumerator for the sequence. + + + + + Provides the ability to iterate over a cursor-based sequence of redis data, synchronously or asynchronously. + + + + + Gets the current value of the enumerator. + + + + + Release all resources associated with this enumerator. + + + + + Release all resources associated with this enumerator. + + + + + Try to move to the next item in the sequence. + + + + + Try to move to the next item in the sequence. + + + + + Reset the enumerator. + + + + + The cursor position. + + + This may fail on cluster-proxy - I'm OK with this for now. + + + + + A list of endpoints. + + + + + Create a new . + + + + + Create a new . + + The endpoints to add to the collection. + + + + Format an . + + The endpoint to get a string representation for. + + + + Attempt to parse a string into an . + + The endpoint string to parse. + + + + Adds a new endpoint to the list. + + The host:port string to add an endpoint for to the collection. + + + + Adds a new endpoint to the list. + + The host to add. + The port for to add. + + + + Adds a new endpoint to the list. + + The host to add. + The port for to add. + + + + Try adding a new endpoint to the list. + + The endpoint to add. + if the endpoint was added, if not. + + + + See . + + The index to add into the collection at. + The item to insert at . + + + + See . + + The index to replace an endpoint at. + The item to replace the existing endpoint at . + + + + + + + Event information related to redis endpoints. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + + + + The endpoint involved in this event (this can be null). + + + + + Specifies how elements should be aggregated when combining sorted sets. + + + + + The values of the combined elements are added. + + + + + The least value of the combined elements is used. + + + + + The greatest value of the combined elements is used. + + + + + Bitwise operators + + + + + And + + + + + Or + + + + + Xor + + + + + Not + + + + + The client flags can be a combination of: + + + A + Connection to be closed ASAP. + + + b + The client is waiting in a blocking operation. + + + c + Connection to be closed after writing entire reply. + + + d + A watched keys has been modified - EXEC will fail. + + + i + The client is waiting for a VM I/O (deprecated). + + + M + The client is a primary. + + + N + No specific flag set. + + + O + The client is a replica in MONITOR mode. + + + P + The client is a Pub/Sub subscriber. + + + r + The client is in readonly mode against a cluster node. + + + S + The client is a normal replica server. + + + u + The client is unblocked. + + + U + The client is unblocked. + + + x + The client is in a MULTI/EXEC context. + + + t + The client enabled keys tracking in order to perform client side caching. + + + R + The client tracking target client is invalid. + + + B + The client enabled broadcast tracking mode. + + + + + + + + No specific flag set. + + + + + The client is a replica in MONITOR mode. + + + + + The client is a replica in MONITOR mode. + + + + + The client is a normal replica server. + + + + + The client is a normal replica server. + + + + + The client is a primary. + + + + + The client is in a MULTI/EXEC context. + + + + + The client is waiting in a blocking operation. + + + + + A watched keys has been modified - EXEC will fail. + + + + + Connection to be closed after writing entire reply. + + + + + The client is unblocked. + + + + + Connection to be closed ASAP. + + + + + The client is a Pub/Sub subscriber. + + + + + The client is in readonly mode against a cluster node. + + + + + The client is connected via a Unix domain socket. + + + + + The client enabled keys tracking in order to perform client side caching. + + + + + The client tracking target client is invalid. + + + + + The client enabled broadcast tracking mode. + + + + + The class of the connection. + + + + + Regular connections, including MONITOR connections. + + + + + Replication connections. + + + + + Replication connections. + + + + + Subscription connections. + + + + + Behaviour markers associated with a given command. + + + + + Default behaviour. + + + + + From 2.0, this flag is not used. + + + + + The caller is not interested in the result; the caller will immediately receive a default-value + of the expected return type (this value is not indicative of anything at the server). + + + + + This operation should be performed on the primary if it is available, but read operations may + be performed on a replica if no primary is available. This is the default option. + + + + + This operation should only be performed on the primary. + + + + + This operation should be performed on the replica if it is available, but will be performed on + a primary if no replicas are available. Suitable for read operations only. + + + + + This operation should be performed on the replica if it is available, but will be performed on + a primary if no replicas are available. Suitable for read operations only. + + + + + This operation should only be performed on a replica. Suitable for read operations only. + + + + + This operation should only be performed on a replica. Suitable for read operations only. + + + + + Indicates that this operation should not be forwarded to other servers as a result of an ASK or MOVED response. + + + + + Indicates that script-related operations should use EVAL, not SCRIPT LOAD + EVALSHA. + + + + + Track status of a command while communicating with Redis. + + + + + Command status unknown. + + + + + ConnectionMultiplexer has not yet started writing this command to Redis. + + + + + Command has been sent to Redis. + + + + + Command is in the backlog, waiting to be processed and written to Redis. + + + + + The known types of connection failure. + + + + + This event is not a failure. + + + + + No viable connections were available for this operation. + + + + + The socket for this connection failed. + + + + + Either SSL Stream or Redis authentication failed. + + + + + An unexpected response was received from the server. + + + + + An unknown internal error occurred. + + + + + The socket was closed. + + + + + The socket was closed. + + + + + The database is loading and is not available for use. + + + + + It has not been possible to create an initial connection to the redis server(s). + + + + + High-integrity mode was enabled, and a failure was detected. + + + + + The type of a connection. + + + + + Not connection-type related. + + + + + An interactive connection handles request/response commands for accessing data on demand. + + + + + A subscriber connection receives unsolicited messages from the server as pub/sub events occur. + + + + + When performing a range query, by default the start / stop limits are inclusive; + however, both can also be specified separately as exclusive. + + + + + Both start and stop are inclusive. + + + + + Start is exclusive, stop is inclusive. + + + + + Start is inclusive, stop is exclusive. + + + + + Both start and stop are exclusive. + + + + + Specifies the result of operation to set expire time. + + + + + Field deleted because the specified expiration time is due. + + + + + Expiration time/duration updated successfully. + + + + + Expiration not set because of a specified NX | XX | GT | LT condition not met. + + + + + No such field. + + + + + Specifies when to set the expiry for a key. + + + + + Set expiry whether or not there is an existing expiry. + + + + + Set expiry only when the new expiry is greater than current one. + + + + + Set expiry only when the key has an existing expiry. + + + + + Set expiry only when the key has no expiry. + + + + + Set expiry only when the new expiry is less than current one. + + + + + Which settings to export. + + + + + No options. + + + + + The output of INFO. + + + + + The output of CONFIG GET *. + + + + + The output of CLIENT LIST. + + + + + The output of CLUSTER NODES. + + + + + Everything available. + + + + + Units associated with Geo Commands. + + + + + Meters. + + + + + Kilometers. + + + + + Miles. + + + + + Feet. + + + + + Specifies what side of the list to refer to. + + + + + The head of the list. + + + + + The tail of the list. + + + + + Additional options for the MIGRATE command. + + + + + No options specified. + + + + + Do not remove the key from the local instance. + + + + + Replace existing key on the remote instance. + + + + + The direction in which to sequence elements. + + + + + Ordered from low values to high values. + + + + + Ordered from high values to low values. + + + + + Specifies the result of operation to remove the expire time. + + + + + Expiration removed successfully. + + + + + Expiration not removed because of a specified NX | XX | GT | LT condition not met. + + + + + No such field. + + + + + Specifies the proxy that is being used to communicate to redis. + + + + + Direct communication to the redis server(s). + + + + + Communication via twemproxy. + + + + + Communication via envoyproxy. + + + + + Whether a proxy supports databases (e.g. database > 0). + + + + + Whether a proxy supports pub/sub. + + + + + Whether a proxy supports the ConnectionMultiplexer.GetServer. + + + + + Gets whether a given command can be issued only to a primary, or if any server is eligible. + + The to check. + if the command is primary-only, otherwise. + + + + The intrinsic data-types supported by redis. + + + + + + The specified key does not exist. + + + + + Strings are the most basic kind of Redis value. Redis Strings are binary safe, this means that + a Redis string can contain any kind of data, for instance a JPEG image or a serialized Ruby object. + A String value can be at max 512 Megabytes in length. + + + + + + Redis Lists are simply lists of strings, sorted by insertion order. + It is possible to add elements to a Redis List pushing new elements on the head (on the left) or + on the tail (on the right) of the list. + + + + + + Redis Sets are an unordered collection of Strings. It is possible to add, remove, and test for + existence of members in O(1) (constant time regardless of the number of elements contained inside the Set). + Redis Sets have the desirable property of not allowing repeated members. + Adding the same element multiple times will result in a set having a single copy of this element. + Practically speaking this means that adding a member does not require a check if exists then add operation. + + + + + + Redis Sorted Sets are, similarly to Redis Sets, non repeating collections of Strings. + The difference is that every member of a Sorted Set is associated with score, that is used + in order to take the sorted set ordered, from the smallest to the greatest score. + While members are unique, scores may be repeated. + + + + + + Redis Hashes are maps between string fields and string values, so they are the perfect data type + to represent objects (e.g. A User with a number of fields like name, surname, age, and so forth). + + + + + + A Redis Stream is a data structure which models the behavior of an append only log but it has more + advanced features for manipulating the data contained within the stream. Each entry in a + stream contains a unique message ID and a list of name/value pairs containing the entry's data. + + + + + + The data-type was not recognised by the client library. + + + + + Additional operations to perform when making a server a primary. + + + + + No additional operations. + + + + + Set the tie-breaker key on all available primaries, to specify this server. + + + + + Broadcast to the pub-sub channel to listening clients to reconfigure themselves. + + + + + Issue a REPLICAOF to all other known nodes, making this primary of all. + + + + + Issue a REPLICAOF to all other known nodes, making this primary of all. + + + + + All additional operations. + + + + + The underlying result type as defined by Redis. + + + + + No value was received. + + + + + Basic strings typically represent status results such as "OK". + + + + + Error strings represent invalid operation results from the server. + + + + + Integers are returned for count operations and some integer-based increment operations. + + + + + Bulk strings represent typical user content values. + + + + + Array of results (former Multi-bulk). + + + + + Multi-bulk replies represent complex results such as arrays. + + + + + A single null value replacing RESP v2 blob and multi-bulk nulls. + + + + + True or false. + + + + + A floating point number. + + + + + A large number non representable by the type. + + + + + Binary safe error code and message. + + + + + A binary safe string that should be displayed to humans without any escaping or filtering. For instance the output of LATENCY DOCTOR in Redis. + + + + + An unordered collection of key-value pairs. Keys and values can be any other RESP3 type. + + + + + An unordered collection of N other types. + + + + + Like the type, but the client should keep reading the reply ignoring the attribute type, and return it to the client as additional information. + + + + + Out of band data. The format is like the type, but the client should just check the first string element, + stating the type of the out of band data, a call a callback if there is one registered for this specific type of push information. + Push types are not related to replies, since they are information that the server may push at any time in the connection, + so the client should keep reading if it is reading the reply of a command. + + + + + + If an IProfiledCommand is a retransmission of a previous command, this enum + is used to indicate what prompted the retransmission. + + + This can be used to distinguish between transient causes (moving hashslots, joining nodes, etc.) + and incorrect routing. + + + + + + No stated reason. + + + + + Issued to investigate which node owns a key. + + + + + A node has indicated that it does *not* own the given key. + + + + + The type of save operation to perform. + + + + + Instruct Redis to start an Append Only File rewrite process. + The rewrite will create a small optimized version of the current Append Only File. + + + + + + Save the DB in background. The OK code is immediately returned. + Redis forks, the parent continues to serve the clients, the child saves the DB on disk then exits. + A client my be able to check if the operation succeeded using the LASTSAVE command. + + + + + + Save the DB in foreground. + This is almost never a good thing to do, and could cause significant blocking. + Only do this if you know you need to save. + + + + + + Indicates the flavor of a particular redis server. + + + + + Classic redis-server server. + + + + + Monitoring/configuration redis-sentinel server. + + + + + Distributed redis-cluster server. + + + + + Distributed redis installation via twemproxy. + + + + + Redis cluster via envoyproxy. + + + + + Whether a server type can have only a single primary, meaning an election if multiple are found. + + + + + Whether a server type supports . + + + + + Describes an algebraic set operation that can be performed to combine multiple sets. + + + + + Returns the members of the set resulting from the union of all the given sets. + + + + + Returns the members of the set resulting from the intersection of all the given sets. + + + + + Returns the members of the set resulting from the difference between the first set and all the successive sets. + + + + + Defines the persistence behaviour of the server during shutdown. + + + + + The data is persisted if save points are configured. + + + + + The data is NOT persisted even if save points are configured. + + + + + The data is persisted even if save points are NOT configured. + + + + + Enum to manage ordering in sorted sets. + + + + + Bases ordering off of the rank in the sorted set. This means that your start and stop inside the sorted set will be some offset into the set. + + + + + Bases ordering off of the score in the sorted set. This means your start/stop will be some number which is the score for each member in the sorted set. + + + + + Bases ordering off of lexicographical order, this is only appropriate in an instance where all the members of your sorted set are given the same score. + + + + + Indicates when this operation should be performed (only some variations are legal in a given context). + + + + + The operation won't be prevented. + + + + + The operation should only occur when there is an existing value. + + + + + The operation should only occur when the new score is greater than the current score. + + + + + The operation should only occur when the new score is less than the current score. + + + + + The operation should only occur when there is not an existing value. + + + + + Specifies how to compare elements for sorting. + + + + + Elements are interpreted as a double-precision floating point number and sorted numerically. + + + + + Elements are sorted using their alphabetic form + (Redis is UTF-8 aware as long as the !LC_COLLATE environment variable is set at the server). + + + + + Indicates if we index into a string based on bits or bytes. + + + + + Indicates the index is the number of bytes into a string. + + + + + Indicates the index is the number of bits into a string. + + + + + Indicates when this operation should be performed (only some variations are legal in a given context). + + + + + The operation should occur whether or not there is an existing value. + + + + + The operation should only occur when there is an existing value. + + + + + The operation should only occur when there is not an existing value. + + + + + Indicates that a command was illegal and was not sent to the server. + + + + + Creates a new . + + The message for the exception. + + + + Creates a new . + + The message for the exception. + The inner exception. + + + + Indicates the time allotted for a command or operation has expired. + + + + + Creates a new . + + The message for the exception. + The command status, as of when the timeout happened. + + + + status of the command while communicating with Redis. + + + + + Serialization implementation; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates a connection fault when communicating with redis. + + + + + Creates a new . + + The type of connection failure. + The message for the exception. + + + + Creates a new . + + The type of connection failure. + The message for the exception. + The inner exception. + + + + Creates a new . + + The type of connection failure. + The message for the exception. + The inner exception. + The status of the command. + + + + The type of connection failure. + + + + + Status of the command while communicating with Redis. + + + + + Serialization implementation; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates an issue communicating with redis. + + + + + Creates a new . + + The message for the exception. + + + + Creates a new . + + The message for the exception. + The inner exception. + + + + Deserialization constructor; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates an exception raised by a redis server. + + + + + Creates a new . + + The message for the exception. + + + + Represents a retry policy that performs retries, using a randomized exponential back off scheme to determine the interval between retries. + + + + + Initializes a new instance using the specified back off interval with default maxDeltaBackOffMilliseconds of 10 seconds. + + Time in milliseconds for the back-off interval between retries. + + + + Initializes a new instance using the specified back off interval. + + Time in milliseconds for the back-off interval between retries. + Time in milliseconds for the maximum value that the back-off interval can exponentially grow up to. + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state. + Total elapsed time in milliseconds since the last reconnect retry was made. + + + + Utility methods. + + + + + Create a dictionary from an array of HashEntry values. + + The entry to convert to a dictionary. + + + + Create a dictionary from an array of HashEntry values. + + The entry to convert to a dictionary. + + + + Create a dictionary from an array of SortedSetEntry values. + + The set entries to convert to a dictionary. + + + + Create a dictionary from an array of SortedSetEntry values. + + The set entries to convert to a dictionary. + + + + Create a dictionary from an array of key/value pairs. + + The pairs to convert to a dictionary. + + + + Create a dictionary from an array of key/value pairs. + + The pairs to convert to a dictionary. + + + + Create a dictionary from an array of string pairs. + + The pairs to convert to a dictionary. + + + + Create an array of RedisValues from an array of strings. + + The string array to convert to RedisValues. + + + + Create an array of strings from an array of values. + + The values to convert to an array. + + + + Represent a byte-Lease as a read-only Stream. + + The lease upon which to base the stream. + If true, disposing the stream also disposes the lease. + + + + Decode a byte-Lease as a String, optionally specifying the encoding (UTF-8 if omitted). + + The bytes to decode. + The encoding to use. + + + + Decode a byte-Lease as a String, optionally specifying the encoding (UTF-8 if omitted). + + The bytes to decode. + The encoding to use. + + + + + Adapted from IPEndPointParser in Microsoft.AspNetCore + Link: . + + + Copyright (c) .NET Foundation. All rights reserved. + Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + + + If Unix sockets are attempted but not supported. + + + + Contains information about individual hash-slot relocations. + + + + + The hash-slot that was relocated. + + + + + The old endpoint for this hash-slot (if known). + + + + + The new endpoint for this hash-slot (if known). + + + + + This constructor is only for testing purposes. + + The source of the event. + Hash slot. + Old endpoint. + New endpoint. + + + + Represents a block of operations that will be sent to the server together. + This can be useful to reduce packet fragmentation on slow connections - it + can improve the time to get *all* the operations processed, with the trade-off + of a slower time to get the *first* operation processed; this is usually + a good thing. Unless this batch is a transaction, there is no guarantee + that these operations will be processed either contiguously or atomically by the server. + + + + + Execute the batch operation, sending all queued commands to the server. + Note that this operation is neither synchronous nor truly asynchronous - it simply enqueues the buffered messages. + To check on completion, you should check the individual responses. + + + + + Represents the abstract multiplexer API. + + + + + Gets the client-name that will be used on all new connections. + + + + + Gets the configuration of the connection. + + + + + Gets the timeout associated with the connections. + + + + + The number of operations that have been performed on all connections. + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Indicates whether any servers are connected. + + + + + Indicates whether any servers are connecting. + + + + + Should exceptions include identifiable details? (key names, additional annotations). + + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time. + Set to a negative value to disable this feature). + + + + + Register a callback to provide an on-demand ambient session provider based on the calling context. + The implementing code is responsible for reliably resolving the same provider + based on ambient context, or returning null to not profile. + + The profiling session provider. + + + + Get summary statistics associates with this server. + + + + + A server replied with an error message. + + + + + Raised whenever a physical connection fails. + + + + + Raised whenever an internal error occurs (this is primarily for debugging). + + + + + Raised whenever a physical connection is established. + + + + + Raised when configuration changes are detected. + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast. + This usually means primary/replica changes. + + + + + Raised when server indicates a maintenance event is going to happen. + + + + + Gets all endpoints defined on the multiplexer. + + Whether to return only the explicitly configured endpoints. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type in . + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Raised when a hash-slot has been relocated. + + + + + Compute the hash-slot of a specified key. + + The key to get a slot ID for. + + + + Obtain a pub/sub subscriber connection to the specified server. + + The async state to pass to the created . + + + + Obtain an interactive connection to a database inside redis. + + The database ID to get. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The specific port for to get a server for. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The "host:port" string to get a server for. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The specific port for to get a server for. + + + + Obtain a configuration API for an individual server. + + The endpoint to get a server for. + The async state to pass to the created . + + + + Obtain configuration APIs for all servers in this multiplexer. + + + + + Reconfigure the current connections based on the existing configuration. + + The log to write output to. + + + + Reconfigure the current connections based on the existing configuration. + + The log to write output to. + + + + Provides a text overview of the status of all connections. + + + + + Provides a text overview of the status of all connections. + + The log to write output to. + + + + See . + + + + + Close all connections and release all resources associated with this object. + + Whether to allow in-queue commands to complete first. + + + + Close all connections and release all resources associated with this object. + + Whether to allow in-queue commands to complete first. + + + + Obtains the log of unusual busy patterns. + + + + + Resets the log of unusual busy patterns. + + + + + Request all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending). + + + + Request all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher). + + + + Get the hash-slot associated with a given key, if applicable; this can be useful for grouping operations. + + The key to get a the slot for. + + + + Write the configuration of all servers to an output stream. + + The destination stream to write the export to. + The options to use for this export. + + + + Append a usage-specific modifier to the advertised library name; suffixes are de-duplicated + and sorted alphabetically (so adding 'a', 'b' and 'a' will result in suffix '-a-b'). + Connections will be updated as necessary (RESP2 subscription + connections will not show updates until those connections next connect). + + + + + Describes functionality that is common to both standalone redis servers and redis clusters. + + + + + The numeric identifier of this database. + + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + but which may or may not be processed on the server contiguously. + + The async object state to be passed into the created . + The created batch. + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. + + The async object state to be passed into the created . + The created transaction. + + + + Atomically transfer a key from a source Redis instance to a destination Redis instance. + On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance. + + The key to migrate. + The server to migrate the key to. + The database to migrate the key to. + The timeout to use for the transfer. + The options to use for this migration. + The flags to use for this operation. + + + + + Returns the raw DEBUG OBJECT output for a key. + This command is not fully documented and should be avoided unless you have good reason, and then avoided anyway. + + The key to debug. + The flags to use for this migration. + The raw output from DEBUG OBJECT. + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The longitude of geo entry. + The latitude of the geo entry. + The value to set at this entry. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The geo value to store. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified members to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The geo values add to the set. + The flags to use for this operation. + The number of elements that were added to the set, not including all the elements already present into the set. + + + + + Removes the specified member from the geo sorted set stored at key. + Non existing members are ignored. + + The key of the set. + The geo value to remove. + The flags to use for this operation. + if the member existed in the sorted set and was removed, else . + + + + + Return the distance between two members in the geospatial index represented by the sorted set. + + The key of the set. + The first member to check. + The second member to check. + The unit of distance to return (defaults to meters). + The flags to use for this operation. + The command returns the distance as a double (represented as a string) in the specified unit, or if one or both the elements are missing. + + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The key of the set. + The members to get. + The flags to use for this operation. + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The key of the set. + The member to get. + The flags to use for this operation. + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The key of the set. + The members to get. + The flags to use for this operation. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command. + Non existing elements are reported as NULL elements of the array. + + + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The key of the set. + The member to get. + The flags to use for this operation. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command. + Non existing elements are reported as NULL elements of the array. + + + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are + within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + The key of the set. + The member to get a radius of results from. + The radius to check. + The unit of (defaults to meters). + The count of results to get, -1 for unlimited. + The order of the results. + The search options to use. + The flags to use for this operation. + The results found within the radius, if any. + + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are + within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + The key of the set. + The longitude of the point to get a radius of results from. + The latitude of the point to get a radius of results from. + The radius to check. + The unit of (defaults to meters). + The count of results to get, -1 for unlimited. + The order of the results. + The search options to use. + The flags to use for this operation. + The results found within the radius, if any. + + + + + Return the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the provided set . + + The key of the set. + The set member to use as the center of the shape. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + The search options to use. + The flags for this operation. + The results found within the shape, if any. + + + + + Return the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the point provided by the and . + + The key of the set. + The longitude of the center point. + The latitude of the center point. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + The search options to use. + The flags for this operation. + The results found within the shape, if any. + + + + + Stores the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the provided set . + + The key of the set. + The key to store the result at. + The set member to use as the center of the shape. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + If set to true, the resulting set will be a regular sorted-set containing only distances, rather than a geo-encoded sorted-set. + The flags for this operation. + The size of the set stored at . + + + + + Stores the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the point provided by the and . + + The key of the set. + The key to store the result at. + The longitude of the center point. + The latitude of the center point. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + If set to true, the resulting set will be a regular sorted-set containing only distances, rather than a geo-encoded sorted-set. + The flags for this operation. + The size of the set stored at . + + + + + Decrements the number stored at field in the hash stored at key by decrement. + If key does not exist, a new key holding a hash is created. + If field does not exist the value is set to 0 before the operation is performed. + + The key of the hash. + The field in the hash to decrement. + The amount to decrement by. + The flags to use for this operation. + The value at field after the decrement operation. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + + + + + + Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. + If the field does not exist, it is set to 0 before performing the operation. + + The key of the hash. + The field in the hash to decrement. + The amount to decrement by. + The flags to use for this operation. + The value at field after the decrement operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + + + + + Removes the specified fields from the hash stored at key. + Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + The key of the hash. + The field in the hash to delete. + The flags to use for this operation. + if the field was removed. + + + + + Removes the specified fields from the hash stored at key. + Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + The key of the hash. + The fields in the hash to delete. + The flags to use for this operation. + The number of fields that were removed. + + + + + Returns if field is an existing field in the hash stored at key. + + The key of the hash. + The field in the hash to check. + The flags to use for this operation. + if the hash contains field, if the hash does not contain field, or key does not exist. + + + + + Set the remaining time to live in milliseconds for the given set of fields of hash + After the timeout has expired, the field of the hash will automatically be deleted. + + The key of the hash. + The fields in the hash to set expire time. + The timeout to set. + under which condition the expiration will be set using . + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns an array where each item is the result of operation for given fields: + + + Result + Description + + + 2 + Field deleted because the specified expiration time is due. + + + 1 + Expiration time set/updated. + + + 0 + Expiration time is not set/update (a specified ExpireWhen condition is not met). + + + -1 + No such field exists. + + + + + + + Set the time out on a field of the given set of fields of hash. + After the timeout has expired, the field of the hash will automatically be deleted. + + The key of the hash. + The fields in the hash to set expire time. + The exact date to expiry to set. + under which condition the expiration will be set using . + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns an array where each item is the result of operation for given fields: + + + Result + Description + + + 2 + Field deleted because the specified expiration time is due. + + + 1 + Expiration time set/updated. + + + 0 + Expiration time is not set/update (a specified ExpireWhen condition is not met). + + + -1 + No such field exists. + + + + + + + For each specified field, it gets the expiration time as a Unix timestamp in milliseconds (milliseconds since the Unix epoch). + + The key of the hash. + The fields in the hash to get expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + > 0 + Expiration time, as a Unix timestamp in milliseconds. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + For each specified field, it removes the expiration time. + + The key of the hash. + The fields in the hash to remove expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + 1 + Expiration time was removed. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + For each specified field, it gets the remaining time to live in milliseconds. + + The key of the hash. + The fields in the hash to get expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + > 0 + Time to live, in milliseconds. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + Returns the value associated with field in the hash stored at key. + + The key of the hash. + The field in the hash to get. + The flags to use for this operation. + The value associated with field, or when field is not present in the hash or key does not exist. + + + + + Returns the value associated with field in the hash stored at key. + + The key of the hash. + The field in the hash to get. + The flags to use for this operation. + The value associated with field, or when field is not present in the hash or key does not exist. + + + + + Returns the values associated with the specified fields in the hash stored at key. + For every field that does not exist in the hash, a value is returned. + Because non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of values. + + The key of the hash. + The fields in the hash to get. + The flags to use for this operation. + List of values associated with the given fields, in the same order as they are requested. + + + + + Returns all fields and values of the hash stored at key. + + The key of the hash to get all entries from. + The flags to use for this operation. + List of fields and their values stored in the hash, or an empty list when key does not exist. + + + + + Increments the number stored at field in the hash stored at key by increment. + If key does not exist, a new key holding a hash is created. + If field does not exist the value is set to 0 before the operation is performed. + + The key of the hash. + The field in the hash to increment. + The amount to increment by. + The flags to use for this operation. + The value at field after the increment operation. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + + + + + + Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. + If the field does not exist, it is set to 0 before performing the operation. + + The key of the hash. + The field in the hash to increment. + The amount to increment by. + The flags to use for this operation. + The value at field after the increment operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + + + + + Returns all field names in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + List of fields in the hash, or an empty list when key does not exist. + + + + + Returns the number of fields contained in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + The number of fields in the hash, or 0 when key does not exist. + + + + + Gets a random field from the hash at . + + The key of the hash. + The flags to use for this operation. + A random hash field name or if the hash does not exist. + + + + + Gets field names from the hash at . + + The key of the hash. + The number of fields to return. + The flags to use for this operation. + An array of hash field names of size of at most , or if the hash does not exist. + + + + + Gets field names and values from the hash at . + + The key of the hash. + The number of fields to return. + The flags to use for this operation. + An array of hash entries of size of at most , or if the hash does not exist. + + + + + The HSCAN command is used to incrementally iterate over a hash. + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + The HSCAN command is used to incrementally iterate over a hash. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + The HSCAN command is used to incrementally iterate over a hash and return only field names. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + Sets the specified fields to their respective values in the hash stored at key. + This command overwrites any specified fields that already exist in the hash, leaving other unspecified fields untouched. + If key does not exist, a new key holding a hash is created. + + The key of the hash. + The entries to set in the hash. + The flags to use for this operation. + + + + + Sets field in the hash stored at key to value. + If key does not exist, a new key holding a hash is created. + If field already exists in the hash, it is overwritten. + + The key of the hash. + The field to set in the hash. + The value to set. + Which conditions under which to set the field value (defaults to always). + The flags to use for this operation. + if field is a new field in the hash and value was set, if field already exists in the hash and the value was updated. + + See + , + . + + + + + Returns the string length of the value associated with field in the hash stored at key. + + The key of the hash. + The field containing the string. + The flags to use for this operation. + The length of the string at field, or 0 when key does not exist. + + + + + Returns all values in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + List of values in the hash, or an empty list when key does not exist. + + + + + Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument. + + The key of the hyperloglog. + The value to add. + The flags to use for this operation. + if at least 1 HyperLogLog internal register was altered, otherwise. + + + + + Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument. + + The key of the hyperloglog. + The values to add. + The flags to use for this operation. + if at least 1 HyperLogLog internal register was altered, otherwise. + + + + + Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist. + + The key of the hyperloglog. + The flags to use for this operation. + The approximated number of unique elements observed via HyperLogLogAdd. + + + + + Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist. + + The keys of the hyperloglogs. + The flags to use for this operation. + The approximated number of unique elements observed via HyperLogLogAdd. + + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + The key of the merged hyperloglog. + The key of the first hyperloglog to merge. + The key of the second hyperloglog to merge. + The flags to use for this operation. + + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + The key of the merged hyperloglog. + The keys of the hyperloglogs to merge. + The flags to use for this operation. + + + + + Indicate exactly which redis server we are talking to. + + The key to check. + The flags to use for this operation. + The endpoint serving the key. + + + + Copies the value from the to the specified . + + The key of the source value to copy. + The destination key to copy the source to. + The database ID to store in. If default (-1), current database is used. + Whether to overwrite an existing values at . If and the key exists, the copy will not succeed. + The flags to use for this operation. + if key was copied. if key was not copied. + + + + + Removes the specified key. A key is ignored if it does not exist. + If UNLINK is available (Redis 4.0+), it will be used. + + The key to delete. + The flags to use for this operation. + if the key was removed. + + See + , + . + + + + + Removes the specified keys. A key is ignored if it does not exist. + If UNLINK is available (Redis 4.0+), it will be used. + + The keys to delete. + The flags to use for this operation. + The number of keys that were removed. + + See + , + . + + + + + Serialize the value stored at key in a Redis-specific format and return it to the user. + The returned value can be synthesized back into a Redis key using the RESTORE command. + + The key to dump. + The flags to use for this operation. + The serialized value. + + + + + Returns the internal encoding for the Redis object stored at . + + The key to dump. + The flags to use for this operation. + The Redis encoding for the value or is the key does not exist. + + + + + Returns if key exists. + + The key to check. + The flags to use for this operation. + if the key exists. if the key does not exist. + + + + + Indicates how many of the supplied keys exists. + + The keys to check. + The flags to use for this operation. + The number of keys that existed. + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. + So, if key already has an associated timeout, it will do nothing and return 0. + + + Since Redis 2.1.3, you can update the timeout of a key. + It is also possible to remove the timeout using the PERSIST command. + See the page on key expiry for more information. + + + See + , + , + . + + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + In Redis 7+, we can choose under which condition the expiration will be set using . + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + See + , + . + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The exact date to expiry to set. + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. + So, if key already has an associated timeout, it will do nothing and return 0. + + + Since Redis 2.1.3, you can update the timeout of a key. + It is also possible to remove the timeout using the PERSIST command. + See the page on key expiry for more information. + + + See + , + , + . + + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + In Redis 7+, we choose under which condition the expiration will be set using . + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + See + , + . + + + + + Returns the absolute time at which the given will expire, if it exists and has an expiration. + + The key to get the expiration for. + The flags to use for this operation. + The time at which the given key will expire, or if the key does not exist or has no associated expiration time. + + See + , + . + + + + + Returns the logarithmic access frequency counter of the object stored at . + The command is only available when the maxmemory-policy configuration directive is set to + one of the LFU policies. + + The key to get a frequency count for. + The flags to use for this operation. + The number of logarithmic access frequency counter, ( if the key does not exist). + + + + + Returns the time since the object stored at the specified key is idle (not requested by read or write operations). + + The key to get the time of. + The flags to use for this operation. + The time since the object stored at the specified key is idle. + + + + + Move key from the currently selected database (see SELECT) to the specified destination database. + When key already exists in the destination database, or it does not exist in the source database, it does nothing. + It is possible to use MOVE as a locking primitive because of this. + + The key to move. + The database to move the key to. + The flags to use for this operation. + if key was moved. if key was not moved. + + + + + Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated). + + The key to persist. + The flags to use for this operation. + if the timeout was removed. if key does not exist or does not have an associated timeout. + + + + + Return a random key from the currently selected database. + + The flags to use for this operation. + The random key, or when the database is empty. + + + + + Returns the reference count of the object stored at . + + The key to get a reference count for. + The flags to use for this operation. + The number of references ( if the key does not exist). + + + + + Renames to . + It returns an error when the source and destination names are the same, or when key does not exist. + + The key to rename. + The key to rename to. + What conditions to rename under (defaults to always). + The flags to use for this operation. + if the key was renamed, otherwise. + + See + , + . + + + + + Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP). + If is 0 the key is created without any expire, otherwise the specified expire time (in milliseconds) is set. + + The key to restore. + The value of the key. + The expiry to set. + The flags to use for this operation. + + + + + Returns the remaining time to live of a key that has a timeout. + This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. + + The key to check. + The flags to use for this operation. + TTL, or when key does not exist or does not have a timeout. + + + + + Alters the last access time of a key. + + The key to touch. + The flags to use for this operation. + if the key was touched, otherwise. + + + + + Alters the last access time of the specified . A key is ignored if it does not exist. + + The keys to touch. + The flags to use for this operation. + The number of keys that were touched. + + + + + Returns the string representation of the type of the value stored at key. + The different types that can be returned are: string, list, set, zset and hash. + + The key to get the type of. + The flags to use for this operation. + Type of key, or none when key does not exist. + + + + + Returns the element at index in the list stored at key. + The index is zero-based, so 0 means the first element, 1 the second element and so on. + Negative indices can be used to designate elements starting at the tail of the list. + Here, -1 means the last element, -2 means the penultimate and so forth. + + The key of the list. + The index position to get the value at. + The flags to use for this operation. + The requested element, or when index is out of range. + + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + The key of the list. + The value to insert after. + The value to insert. + The flags to use for this operation. + The length of the list after the insert operation, or -1 when the value pivot was not found. + + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + The key of the list. + The value to insert before. + The value to insert. + The flags to use for this operation. + The length of the list after the insert operation, or -1 when the value pivot was not found. + + + + + Removes and returns the first element of the list stored at key. + + The key of the list. + The flags to use for this operation. + The value of the first element, or when key does not exist. + + + + + Removes and returns count elements from the head of the list stored at key. + If the list contains less than count elements, removes and returns the number of elements in the list. + + The key of the list. + The number of elements to remove. + The flags to use for this operation. + Array of values that were popped, or if the key doesn't exist. + + + + + Removes and returns at most elements from the first non-empty list in . + Starts on the left side of the list. + + The keys to look through for elements to pop. + The maximum number of elements to pop from the list. + The flags to use for this operation. + A span of contiguous elements from the list, or if no non-empty lists are found. + + + + + Scans through the list stored at looking for , returning the 0-based + index of the first matching element. + + The key of the list. + The element to search for. + The rank of the first element to return, within the sub-list of matching indexes in the case of multiple matches. + The maximum number of elements to scan through before stopping, defaults to 0 (a full scan of the list.) + The flags to use for this operation. + The 0-based index of the first matching element, or -1 if not found. + + + + + Scans through the list stored at looking for instances of , returning the 0-based + indexes of any matching elements. + + The key of the list. + The element to search for. + The number of matches to find. A count of 0 will return the indexes of all occurrences of the element. + The rank of the first element to return, within the sub-list of matching indexes in the case of multiple matches. + The maximum number of elements to scan through before stopping, defaults to 0 (a full scan of the list.) + The flags to use for this operation. + An array of at most of indexes of matching elements. If none are found, and empty array is returned. + + + + + Insert the specified value at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + + The key of the list. + The value to add to the head of the list. + Which conditions to add to the list under (defaults to always). + The flags to use for this operation. + The length of the list after the push operations. + + See + , + . + + + + + Insert the specified value at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + + The key of the list. + The value to add to the head of the list. + Which conditions to add to the list under (defaults to always). + The flags to use for this operation. + The length of the list after the push operations. + + See + , + . + + + + + Insert all the specified values at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. + So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element. + + The key of the list. + The values to add to the head of the list. + The flags to use for this operation. + The length of the list after the push operations. + + + + + Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. + + The key of the list. + The flags to use for this operation. + The length of the list at key. + + + + + Returns and removes the first or last element of the list stored at , and pushes the element + as the first or last element of the list stored at . + + The key of the list to remove from. + The key of the list to move to. + What side of the list to remove from. + What side of the list to move to. + The flags to use for this operation. + The element being popped and pushed or if there is no element to move. + + + + + Returns the specified elements of the list stored at key. + The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. + These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on. + Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. + + The key of the list. + The start index of the list. + The stop index of the list. + The flags to use for this operation. + List of elements in the specified range. + + + + + Removes the first count occurrences of elements equal to value from the list stored at key. + The count argument influences the operation in the following ways: + + count > 0: Remove elements equal to value moving from head to tail. + count < 0: Remove elements equal to value moving from tail to head. + count = 0: Remove all elements equal to value. + + + The key of the list. + The value to remove from the list. + The count behavior (see method summary). + The flags to use for this operation. + The number of removed elements. + + + + + Removes and returns the last element of the list stored at key. + + The key of the list. + The flags to use for this operation. + The element being popped, or when key does not exist.. + + + + + Removes and returns count elements from the end the list stored at key. + If the list contains less than count elements, removes and returns the number of elements in the list. + + The key of the list. + The number of elements to pop. + The flags to use for this operation. + Array of values that were popped, or if the key doesn't exist. + + + + + Removes and returns at most elements from the first non-empty list in . + Starts on the right side of the list. + + The keys to look through for elements to pop. + The maximum number of elements to pop from the list. + The flags to use for this operation. + A span of contiguous elements from the list, or if no non-empty lists are found. + + + + + Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination. + + The key of the source list. + The key of the destination list. + The flags to use for this operation. + The element being popped and pushed. + + + + + Insert the specified value at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + + The key of the list. + The value to add to the tail of the list. + Which conditions to add to the list under. + The flags to use for this operation. + The length of the list after the push operation. + + See + , + . + + + + + Insert the specified value at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + + The key of the list. + The values to add to the tail of the list. + Which conditions to add to the list under. + The flags to use for this operation. + The length of the list after the push operation. + + See + , + . + + + + + Insert all the specified values at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. + So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element. + + The key of the list. + The values to add to the tail of the list. + The flags to use for this operation. + The length of the list after the push operation. + + + + + Sets the list element at index to value. + For more information on the index argument, see . + An error is returned for out of range indexes. + + The key of the list. + The index to set the value at. + The values to add to the list. + The flags to use for this operation. + + + + + Trim an existing list so that it will contain only the specified range of elements specified. + Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on. + For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain. + start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on. + + The key of the list. + The start index of the list to trim to. + The end index of the list to trim to. + The flags to use for this operation. + + + + + Extends a lock, if the token value is correct. + + The key of the lock. + The value to set at the key. + The expiration of the lock key. + The flags to use for this operation. + if the lock was successfully extended. + + + + Queries the token held against a lock. + + The key of the lock. + The flags to use for this operation. + The current value of the lock, if any. + + + + Releases a lock, if the token value is correct. + + The key of the lock. + The value at the key that must match. + The flags to use for this operation. + if the lock was successfully released, otherwise. + + + + Takes a lock (specifying a token value) if it is not already taken. + + The key of the lock. + The value to set at the key. + The expiration of the lock key. + The flags to use for this operation. + if the lock was successfully taken, otherwise. + + + + Posts a message to the given channel. + + The channel to publish to. + The message to send. + The flags to use for this operation. + + The number of clients that received the message *on the destination server*, + note that this doesn't mean much in a cluster as clients can get the message through other nodes. + + + + + + Execute an arbitrary command against the server; this is primarily intended for executing modules, + but may also be used to provide access to new features that lack a direct API. + + The command to run. + The arguments to pass for the command. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + Execute an arbitrary command against the server; this is primarily intended for executing modules, + but may also be used to provide access to new features that lack a direct API. + + The command to run. + The arguments to pass for the command. + The flags to use for this operation. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + Execute a Lua script against the server. + + The script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + See + , + . + + + + + Execute a Lua script against the server using just the SHA1 hash. + + The hash of the script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + Be aware that this method is not resilient to Redis server restarts. Use instead. + + + + + + Execute a lua script against the server, using previously prepared script. + Named parameters, if any, are provided by the `parameters` object. + + The script to execute. + The parameters to pass to the script. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Execute a lua script against the server, using previously prepared and loaded script. + This method sends only the SHA1 hash of the lua script to Redis. + Named parameters, if any, are provided by the `parameters` object. + + The already-loaded script to execute. + The parameters to pass to the script. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Read-only variant of the EVAL command that cannot execute commands that modify data, Execute a Lua script against the server. + + The script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + See + , + . + + + + + Read-only variant of the EVALSHA command that cannot execute commands that modify data, Execute a Lua script against the server using just the SHA1 hash. + + The hash of the script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The value to add to the set. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified members to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The values to add to the set. + The flags to use for this operation. + The number of elements that were added to the set, not including all the elements already present into the set. + + + + + Returns the members of the set resulting from the specified operation against the given sets. + + The operation to perform. + The key of the first set. + The key of the second set. + The flags to use for this operation. + List with members of the resulting set. + + See + , + , + . + + + + + Returns the members of the set resulting from the specified operation against the given sets. + + The operation to perform. + The keys of the sets to operate on. + The flags to use for this operation. + List with members of the resulting set. + + See + , + , + . + + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. + If destination already exists, it is overwritten. + + The operation to perform. + The key of the destination set. + The key of the first set. + The key of the second set. + The flags to use for this operation. + The number of elements in the resulting set. + + See + , + , + . + + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. + If destination already exists, it is overwritten. + + The operation to perform. + The key of the destination set. + The keys of the sets to operate on. + The flags to use for this operation. + The number of elements in the resulting set. + + See + , + , + . + + + + + Returns whether is a member of the set stored at . + + The key of the set. + The value to check for. + The flags to use for this operation. + + if the element is a member of the set. + if the element is not a member of the set, or if key does not exist. + + + + + + Returns whether each of is a member of the set stored at . + + The key of the set. + The members to check for. + The flags to use for this operation. + + if the element is a member of the set. + if the element is not a member of the set, or if key does not exist. + + + + + + + Returns the set cardinality (number of elements) of the intersection between the sets stored at the given . + + + If the intersection cardinality reaches partway through the computation, + the algorithm will exit and yield as the cardinality. + + + The keys of the sets. + The number of elements to check (defaults to 0 and means unlimited). + The flags to use for this operation. + The cardinality (number of elements) of the set, or 0 if key does not exist. + + + + + Returns the set cardinality (number of elements) of the set stored at key. + + The key of the set. + The flags to use for this operation. + The cardinality (number of elements) of the set, or 0 if key does not exist. + + + + + Returns all the members of the set value stored at key. + + The key of the set. + The flags to use for this operation. + All elements of the set. + + + + + Move member from the set at source to the set at destination. + This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients. + When the specified element already exists in the destination set, it is only removed from the source set. + + The key of the source set. + The key of the destination set. + The value to move. + The flags to use for this operation. + + if the element is moved. + if the element is not a member of source and no operation was performed. + + + + + + Removes and returns a random element from the set value stored at key. + + The key of the set. + The flags to use for this operation. + The removed element, or when key does not exist. + + + + + Removes and returns the specified number of random elements from the set value stored at key. + + The key of the set. + The number of elements to return. + The flags to use for this operation. + An array of elements, or an empty array when key does not exist. + + + + + Return a random element from the set value stored at . + + The key of the set. + The flags to use for this operation. + The randomly selected element, or when does not exist. + + + + + Return an array of count distinct elements if count is positive. + If called with a negative count the behavior changes and the command is allowed to return the same element multiple times. + In this case the number of returned elements is the absolute value of the specified count. + + The key of the set. + The count of members to get. + The flags to use for this operation. + An array of elements, or an empty array when does not exist. + + + + + Remove the specified member from the set stored at key. + Specified members that are not a member of this set are ignored. + + The key of the set. + The value to remove. + The flags to use for this operation. + if the specified member was already present in the set, otherwise. + + + + + Remove the specified members from the set stored at key. + Specified members that are not a member of this set are ignored. + + The key of the set. + The values to remove. + The flags to use for this operation. + The number of members that were removed from the set, not including non existing members. + + + + + The SSCAN command is used to incrementally iterate over a set. + + The key of the set. + The pattern to match. + The page size to iterate by. + The flags to use for this operation. + Yields all matching elements of the set. + + + + + The SSCAN command is used to incrementally iterate over set. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the set. + The pattern to match. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all matching elements of the set. + + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default). + By default, the elements themselves are compared, but the values can also be used to perform external key-lookups using the by parameter. + By default, the elements themselves are returned, but external key-lookups (one or many) can be performed instead by specifying + the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. + When used in hashes, by and get can be used to specify fields using -> notation (again, refer to redis documentation). + Uses SORT_RO when possible. + + The key of the list, set, or sorted set. + How many entries to skip on the return. + How many entries to take on the return. + The ascending or descending order (defaults to ascending). + The sorting method (defaults to numeric). + The key pattern to sort by, if any. e.g. ExternalKey_* would sort by ExternalKey_{listvalue} as a lookup. + The key pattern to sort by, if any e.g. ExternalKey_* would return the value of ExternalKey_{listvalue} for each entry. + The flags to use for this operation. + The sorted elements, or the external values if get is specified. + + See + , + . + + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default). + By default, the elements themselves are compared, but the values can also be used to perform external key-lookups using the by parameter. + By default, the elements themselves are returned, but external key-lookups (one or many) can be performed instead by specifying + the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. + When used in hashes, by and get can be used to specify fields using -> notation (again, refer to redis documentation). + + The destination key to store results in. + The key of the list, set, or sorted set. + How many entries to skip on the return. + How many entries to take on the return. + The ascending or descending order (defaults to ascending). + The sorting method (defaults to numeric). + The key pattern to sort by, if any. e.g. ExternalKey_* would sort by ExternalKey_{listvalue} as a lookup. + The key pattern to sort by, if any e.g. ExternalKey_* would return the value of ExternalKey_{listvalue} for each entry. + The flags to use for this operation. + The number of elements stored in the new list. + + + + + + + + + + + Adds the specified member with the specified score to the sorted set stored at key. + If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The key of the sorted set. + The member to add to the sorted set. + The score for the member to add to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + if the value was added. if it already existed (the score is still updated). + + + + + + + + + + + Adds all the specified members with the specified scores to the sorted set stored at key. + If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The key of the sorted set. + The members and values to add to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + + + + + Computes a set operation for multiple sorted sets (optionally using per-set ), + optionally performing a specific aggregation (defaults to ). + cannot be used with weights or aggregation. + + The operation to perform. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to ). + The flags to use for this operation. + The resulting sorted set. + + See + , + , + . + + + + + Computes a set operation for multiple sorted sets (optionally using per-set ), + optionally performing a specific aggregation (defaults to ). + cannot be used with weights or aggregation. + + The operation to perform. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to ). + The flags to use for this operation. + The resulting sorted set with scores. + + See + , + , + . + + + + + Computes a set operation over two sorted sets, and stores the result in destination, optionally performing + a specific aggregation (defaults to sum). + cannot be used with aggregation. + + The operation to perform. + The key to store the results in. + The key of the first sorted set. + The key of the second sorted set. + The aggregation method (defaults to sum). + The flags to use for this operation. + The number of elements in the resulting sorted set at destination. + + See + , + , + . + + + + + Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing + a specific aggregation (defaults to sum). + cannot be used with aggregation. + + The operation to perform. + The key to store the results in. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to sum). + The flags to use for this operation. + The number of elements in the resulting sorted set at destination. + + See + , + , + . + + + + + Decrements the score of member in the sorted set stored at key by decrement. + If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0). + + The key of the sorted set. + The member to decrement. + The amount to decrement by. + The flags to use for this operation. + The new score of member. + + + + + Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0). + + The key of the sorted set. + The member to increment. + The amount to increment by. + The flags to use for this operation. + The new score of member. + + + + + Returns the cardinality of the intersection of the sorted sets at . + + The keys of the sorted sets. + If the intersection cardinality reaches partway through the computation, the algorithm will exit and yield as the cardinality (defaults to 0 meaning unlimited). + The flags to use for this operation. + The number of elements in the resulting intersection. + + + + + Returns the sorted set cardinality (number of elements) of the sorted set stored at key. + + The key of the sorted set. + The min score to filter by (defaults to negative infinity). + The max score to filter by (defaults to positive infinity). + Whether to exclude and from the range check (defaults to both inclusive). + The flags to use for this operation. + The cardinality (number of elements) of the sorted set, or 0 if key does not exist. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns the number of elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Whether to exclude and from the range check (defaults to both inclusive). + The flags to use for this operation. + The number of elements in the specified score range. + + + + + Returns a random element from the sorted set value stored at . + + The key of the sorted set. + The flags to use for this operation. + The randomly selected element, or when does not exist. + + + + + Returns an array of random elements from the sorted set value stored at . + + The key of the sorted set. + + + If the provided count argument is positive, returns an array of distinct elements. + The array's length is either or the sorted set's cardinality (ZCARD), whichever is lower. + + + If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. + In this case, the number of returned elements is the absolute value of the specified count. + + + The flags to use for this operation. + The randomly selected elements, or an empty array when does not exist. + + + + + Returns an array of random elements from the sorted set value stored at . + + The key of the sorted set. + + + If the provided count argument is positive, returns an array of distinct elements. + The array's length is either or the sorted set's cardinality (ZCARD), whichever is lower. + + + If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. + In this case, the number of returned elements is the absolute value of the specified count. + + + The flags to use for this operation. + The randomly selected elements with scores, or an empty array when does not exist. + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. + They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + The key of the sorted set. + The start index to get. + The stop index to get. + The order to sort by (defaults to ascending). + The flags to use for this operation. + List of elements in the specified range. + + See + , + . + + + + + Takes the specified range of elements in the sorted set of the + and stores them in a new sorted set at the . + + The sorted set to take the range from. + Where the resulting set will be stored. + The starting point in the sorted set. If is , this should be a string. + The stopping point in the range of the sorted set. If is , this should be a string. + The ordering criteria to use for the range. Choices are , , and (defaults to ). + Whether to exclude and from the range check (defaults to both inclusive). + + The direction to consider the and in. + If , the must be smaller than the . + If , must be smaller than . + + The number of elements into the sorted set to skip. Note: this iterates after sorting so incurs O(n) cost for large values. + The maximum number of elements to pull into the new () set. + The flags to use for this operation. + The cardinality of (number of elements in) the newly created sorted set. + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. + They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + The key of the sorted set. + The start index to get. + The stop index to get. + The order to sort by (defaults to ascending). + The flags to use for this operation. + List of elements in the specified range. + + See + , + . + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. + Similar to other range methods the values are inclusive. + + The key of the sorted set. + The minimum score to filter by. + The maximum score to filter by. + Which of and to exclude (defaults to both inclusive). + The order to sort by (defaults to ascending). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. + Similar to other range methods the values are inclusive. + + The key of the sorted set. + The minimum score to filter by. + The maximum score to filter by. + Which of and to exclude (defaults to both inclusive). + The order to sort by (defaults to ascending). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns all the elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Which of and to exclude (defaults to both inclusive). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns all the elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Which of and to exclude (defaults to both inclusive). + Whether to order the data ascending or descending. + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. + The rank (or index) is 0-based, which means that the member with the lowest score has rank 0. + + The key of the sorted set. + The member to get the rank of. + The order to sort by (defaults to ascending). + The flags to use for this operation. + If member exists in the sorted set, the rank of member. If member does not exist in the sorted set or key does not exist, . + + See + , + . + + + + + Removes the specified member from the sorted set stored at key. Non existing members are ignored. + + The key of the sorted set. + The member to remove. + The flags to use for this operation. + if the member existed in the sorted set and was removed. otherwise. + + + + + Removes the specified members from the sorted set stored at key. Non existing members are ignored. + + The key of the sorted set. + The members to remove. + The flags to use for this operation. + The number of members removed from the sorted set, not including non existing members. + + + + + Removes all elements in the sorted set stored at key with rank between start and stop. + Both start and stop are 0 -based indexes with 0 being the element with the lowest score. + These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. + For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth. + + The key of the sorted set. + The minimum rank to remove. + The maximum rank to remove. + The flags to use for this operation. + The number of elements removed. + + + + + Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default). + + The key of the sorted set. + The minimum score to remove. + The maximum score to remove. + Which of and to exclude (defaults to both inclusive). + The flags to use for this operation. + The number of elements removed. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max. + + The key of the sorted set. + The minimum value to remove. + The maximum value to remove. + Which of and to exclude (defaults to both inclusive). + The flags to use for this operation. + The number of elements removed. + + + + + The ZSCAN command is used to incrementally iterate over a sorted set. + + The key of the sorted set. + The pattern to match. + The page size to iterate by. + The flags to use for this operation. + Yields all matching elements of the sorted set. + + + + + The ZSCAN command is used to incrementally iterate over a sorted set + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + The key of the sorted set. + The pattern to match. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all matching elements of the sorted set. + + + + + Returns the score of member in the sorted set at key. + If member does not exist in the sorted set, or key does not exist, is returned. + + The key of the sorted set. + The member to get a score for. + The flags to use for this operation. + The score of the member. + + + + + Returns the scores of members in the sorted set at . + If a member does not exist in the sorted set, or key does not exist, is returned. + + The key of the sorted set. + The members to get a score for. + The flags to use for this operation. + + The scores of the members in the same order as the array. + If a member does not exist in the set, is returned. + + + + + + Removes and returns the first element from the sorted set stored at key, by default with the scores ordered from low to high. + + The key of the sorted set. + The order to sort by (defaults to ascending). + The flags to use for this operation. + The removed element, or when key does not exist. + + See + , + . + + + + + Removes and returns the specified number of first elements from the sorted set stored at key, by default with the scores ordered from low to high. + + The key of the sorted set. + The number of elements to return. + The order to sort by (defaults to ascending). + The flags to use for this operation. + An array of elements, or an empty array when key does not exist. + + See + , + . + + + + + Removes and returns up to entries from the first non-empty sorted set in . + Returns if none of the sets exist or contain any elements. + + The keys to check. + The maximum number of records to pop out of the sorted set. + The order to sort by when popping items out of the set. + The flags to use for the operation. + A contiguous collection of sorted set entries with the key they were popped from, or if no non-empty sorted sets are found. + + + + + Same as but return the number of the elements changed. + + The key of the sorted set. + The member to add/update to the sorted set. + The score for the member to add/update to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements changed. + + + + + Same as but return the number of the elements changed. + + The key of the sorted set. + The members and values to add/update to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements changed. + + + + + Allow the consumer to mark a pending message as correctly processed. Returns the number of messages acknowledged. + + The key of the stream. + The name of the consumer group that received the message. + The ID of the message to acknowledge. + The flags to use for this operation. + The number of messages acknowledged. + + + + + Allow the consumer to mark a pending message as correctly processed. Returns the number of messages acknowledged. + + The key of the stream. + The name of the consumer group that received the message. + The IDs of the messages to acknowledge. + The flags to use for this operation. + The number of messages acknowledged. + + + + + Adds an entry using the specified values to the given stream key. + If key does not exist, a new key holding a stream is created. + The command returns the ID of the newly created stream entry. + + The key of the stream. + The field name for the stream entry. + The value to set in the stream entry. + The ID to assign to the stream entry, defaults to an auto-generated ID ("*"). + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The ID of the newly created message. + + + + + Adds an entry using the specified values to the given stream key. + If key does not exist, a new key holding a stream is created. + The command returns the ID of the newly created stream entry. + + The key of the stream. + The fields and their associated values to set in the stream entry. + The ID to assign to the stream entry, defaults to an auto-generated ID ("*"). + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The ID of the newly created message. + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + Messages that have been idle for more than will be claimed. + + The key of the stream. + The consumer group. + The consumer claiming the messages(s). + The minimum idle time threshold for pending messages to be claimed. + The starting ID to scan for pending messages that have an idle time greater than . + The upper limit of the number of entries that the command attempts to claim. If , Redis will default the value to 100. + The flags to use for this operation. + An instance of . + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + Messages that have been idle for more than will be claimed. + The result will contain the claimed message IDs instead of a instance. + + The key of the stream. + The consumer group. + The consumer claiming the messages(s). + The minimum idle time threshold for pending messages to be claimed. + The starting ID to scan for pending messages that have an idle time greater than . + The upper limit of the number of entries that the command attempts to claim. If , Redis will default the value to 100. + The flags to use for this operation. + An instance of . + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + This method returns the complete message for the claimed message(s). + + The key of the stream. + The consumer group. + The consumer claiming the given message(s). + The minimum message idle time to allow the reassignment of the message(s). + The IDs of the messages to claim for the given consumer. + The flags to use for this operation. + The messages successfully claimed by the given consumer. + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + This method returns the IDs for the claimed message(s). + + The key of the stream. + The consumer group. + The consumer claiming the given message(s). + The minimum message idle time to allow the reassignment of the message(s). + The IDs of the messages to claim for the given consumer. + The flags to use for this operation. + The message IDs for the messages successfully claimed by the given consumer. + + + + + Set the position from which to read a stream for a consumer group. + + The key of the stream. + The name of the consumer group. + The position from which to read for the consumer group. + The flags to use for this operation. + if successful, otherwise. + + + + + Retrieve information about the consumers for the given consumer group. + This is the equivalent of calling "XINFO GROUPS key group". + + The key of the stream. + The consumer group name. + The flags to use for this operation. + An instance of for each of the consumer group's consumers. + + + + + Create a consumer group for the given stream. + + The key of the stream. + The name of the group to create. + The position to begin reading the stream. Defaults to . + The flags to use for this operation. + if the group was created, otherwise. + + + + + Create a consumer group for the given stream. + + The key of the stream. + The name of the group to create. + The position to begin reading the stream. Defaults to . + Create the stream if it does not already exist. + The flags to use for this operation. + if the group was created, otherwise. + + + + + Delete messages in the stream. This method does not delete the stream. + + The key of the stream. + The IDs of the messages to delete. + The flags to use for this operation. + Returns the number of messages successfully deleted from the stream. + + + + + Delete a consumer from a consumer group. + + The key of the stream. + The name of the consumer group. + The name of the consumer. + The flags to use for this operation. + The number of messages that were pending for the deleted consumer. + + + + + Delete a consumer group. + + The key of the stream. + The name of the consumer group. + The flags to use for this operation. + if deleted, otherwise. + + + + + Retrieve information about the groups created for the given stream. This is the equivalent of calling "XINFO GROUPS key". + + The key of the stream. + The flags to use for this operation. + An instance of for each of the stream's groups. + + + + + Retrieve information about the given stream. This is the equivalent of calling "XINFO STREAM key". + + The key of the stream. + The flags to use for this operation. + A instance with information about the stream. + + + + + Return the number of entries in a stream. + + The key of the stream. + The flags to use for this operation. + The number of entries inside the given stream. + + + + + View information about pending messages for a stream. + A pending message is a message read using StreamReadGroup (XREADGROUP) but not yet acknowledged. + + The key of the stream. + The name of the consumer group. + The flags to use for this operation. + + An instance of . + contains the number of pending messages. + The highest and lowest ID of the pending messages, and the consumers with their pending message count. + + The equivalent of calling XPENDING key group. + + + + + View information about each pending message. + + The key of the stream. + The name of the consumer group. + The maximum number of pending messages to return. + The consumer name for the pending messages. Pass RedisValue.Null to include pending messages for all consumers. + The minimum ID from which to read the stream of pending messages. The method will default to reading from the beginning of the stream. + The maximum ID to read to within the stream of pending messages. The method will default to reading to the end of the stream. + The flags to use for this operation. + An instance of for each pending message. + Equivalent of calling XPENDING key group start-id end-id count consumer-name. + + + + + Read a stream using the given range of IDs. + + The key of the stream. + The minimum ID from which to read the stream. The method will default to reading from the beginning of the stream. + The maximum ID to read to within the stream. The method will default to reading to the end of the stream. + The maximum number of messages to return. + The order of the messages. will execute XRANGE and will execute XREVRANGE. + The flags to use for this operation. + Returns an instance of for each message returned. + + + + + Read from a single stream. + + The key of the stream. + The position from which to read the stream. + The maximum number of messages to return. + The flags to use for this operation. + Returns an instance of for each message returned. + + Equivalent of calling XREAD COUNT num STREAMS key id. + + + + + + Read from multiple streams. + + Array of streams and the positions from which to begin reading for each stream. + The maximum number of messages to return from each stream. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREAD COUNT num STREAMS key1 key2 id1 id2. + + + + + + Read messages from a stream into an associated consumer group. + + The key of the stream. + The name of the consumer group. + The consumer name. + The position from which to read the stream. Defaults to when . + The maximum number of messages to return. + The flags to use for this operation. + Returns a value of for each message returned. + + + + + Read messages from a stream into an associated consumer group. + + The key of the stream. + The name of the consumer group. + The consumer name. + The position from which to read the stream. Defaults to when . + The maximum number of messages to return. + When true, the message will not be added to the pending message list. + The flags to use for this operation. + Returns a value of for each message returned. + + + + + Read from multiple streams into the given consumer group. + The consumer group with the given will need to have been created for each stream prior to calling this method. + + Array of streams and the positions from which to begin reading for each stream. + The name of the consumer group. + The name of the consumer. + The maximum number of messages to return from each stream. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREADGROUP GROUP groupName consumerName COUNT countPerStream STREAMS stream1 stream2 id1 id2. + + + + + + Read from multiple streams into the given consumer group. + The consumer group with the given will need to have been created for each stream prior to calling this method. + + Array of streams and the positions from which to begin reading for each stream. + The name of the consumer group. + The name of the consumer. + The maximum number of messages to return from each stream. + When true, the message will not be added to the pending message list. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREADGROUP GROUP groupName consumerName COUNT countPerStream STREAMS stream1 stream2 id1 id2. + + + + + + Trim the stream to a specified maximum length. + + The key of the stream. + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The number of messages removed from the stream. + + + + + If key already exists and is a string, this command appends the value at the end of the string. + If key does not exist it is created and set as an empty string, so APPEND will be similar to SET in this special case. + + The key of the string. + The value to append to the string. + The flags to use for this operation. + The length of the string after the append operation. + + + + + + + + Count the number of set bits (population counting) in a string. + By default all the bytes contained in the string are examined. + It is possible to specify the counting operation only in an interval passing the additional arguments start and end. + Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The key of the string. + The start byte to count at. + The end byte to count at. + In Redis 7+, we can choose if and specify a bit index or byte index (defaults to ). + The flags to use for this operation. + The number of bits set to 1. + + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case + and only the first key will be considered. + The result of the operation is always stored at . + + The operation to perform. + The destination key to store the result in. + The first key to get the bit value from. + The second key to get the bit value from. + The flags to use for this operation. + The size of the string stored in the destination key, that is equal to the size of the longest input string. + + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator. + The result of the operation is always stored at . + + The operation to perform. + The destination key to store the result in. + The keys to get the bit values from. + The flags to use for this operation. + The size of the string stored in the destination key, that is equal to the size of the longest input string. + + + + + + + + Return the position of the first bit set to 1 or 0 in a string. + The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant bit is at position 8 and so forth. + A and may be specified - these are in bytes, not bits. + and can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The key of the string. + True to check for the first 1 bit, false to check for the first 0 bit. + The position to start looking (defaults to 0). + The position to stop looking (defaults to -1, unlimited). + In Redis 7+, we can choose if and specify a bit index or byte index (defaults to ). + The flags to use for this operation. + + The command returns the position of the first bit set to 1 or 0 according to the request. + If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned. + + + + + + Decrements the number stored at key by decrement. + If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. + This operation is limited to 64 bit signed integers. + + The key of the string. + The amount to decrement by (defaults to 1). + The flags to use for this operation. + The value of key after the decrement. + + See + , + . + + + + + Decrements the string representing a floating point number stored at key by the specified decrement. + If the key does not exist, it is set to 0 before performing the operation. + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + The key of the string. + The amount to decrement by (defaults to 1). + The flags to use for this operation. + The value of key after the decrement. + + + + + Get the value of key. If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Returns the values of all specified keys. + For every key that does not hold a string value or does not exist, the special value is returned. + + The keys of the strings. + The flags to use for this operation. + The values of the strings with for keys do not exist. + + + + + Get the value of key. If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Returns the bit value at offset in the string value stored at key. + When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits. + + The key of the string. + The offset in the string to get a bit at. + The flags to use for this operation. + The bit value stored at offset. + + + + + Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). + Negative offsets can be used in order to provide an offset starting from the end of the string. + So -1 means the last character, -2 the penultimate and so forth. + + The key of the string. + The start index of the substring to get. + The end index of the substring to get. + The flags to use for this operation. + The substring of the string value stored at key. + + + + + Atomically sets key to value and returns the old value stored at key. + + The key of the string. + The value to replace the existing value with. + The flags to use for this operation. + The old value stored at key, or when key did not exist. + + + + + Gets the value of and update its (relative) expiry. + If the key does not exist, the result will be . + + The key of the string. + The expiry to set. will remove expiry. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Gets the value of and update its (absolute) expiry. + If the key does not exist, the result will be . + + The key of the string. + The exact date and time to expire at. will remove expiry. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Get the value of key and delete the key. + If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Get the value of key. + If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key and its expiry, or when key does not exist. + + + + + Increments the number stored at key by increment. + If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. + This operation is limited to 64 bit signed integers. + + The key of the string. + The amount to increment by (defaults to 1). + The flags to use for this operation. + The value of key after the increment. + + See + , + . + + + + + Increments the string representing a floating point number stored at key by the specified increment. + If the key does not exist, it is set to 0 before performing the operation. + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + The key of the string. + The amount to increment by (defaults to 1). + The flags to use for this operation. + The value of key after the increment. + + + + + Returns the length of the string value stored at key. + + The key of the string. + The flags to use for this operation. + The length of the string at key, or 0 when key does not exist. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning a string containing the common sequence. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + The flags to use for this operation. + A string (sequence of characters) of the LCS match. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning the legnth of the common sequence. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + The flags to use for this operation. + The length of the LCS match. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning a list of all common sequences. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + Can be used to restrict the list of matches to the ones of a given minimum length. + The flags to use for this operation. + The result of LCS algorithm, based on the given parameters. + + + + + + + + + + + Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type. + + The key of the string. + The value to set. + The expiry to set. + Whether to maintain the existing key's TTL (KEEPTTL flag). + Which condition to set the value under (defaults to always). + The flags to use for this operation. + if the string was set, otherwise. + + + + + Sets the given keys to their respective values. + If is specified, this will not perform any operation at all even if just a single key already exists. + + The keys and values to set. + Which condition to set the value under (defaults to always). + The flags to use for this operation. + if the keys were set, otherwise. + + See + , + . + + + + + Atomically sets key to value and returns the previous value (if any) stored at . + + The key of the string. + The value to set. + The expiry to set. + Which condition to set the value under (defaults to ). + The flags to use for this operation. + The previous value stored at , or when key did not exist. + + This method uses the SET command with the GET option introduced in Redis 6.2.0 instead of the deprecated GETSET command. + + + + + + Atomically sets key to value and returns the previous value (if any) stored at . + + The key of the string. + The value to set. + The expiry to set. + Whether to maintain the existing key's TTL (KEEPTTL flag). + Which condition to set the value under (defaults to ). + The flags to use for this operation. + The previous value stored at , or when key did not exist. + This method uses the SET command with the GET option introduced in Redis 6.2.0 instead of the deprecated GETSET command. + + + + + Sets or clears the bit at offset in the string value stored at key. + The bit is either set or cleared depending on value, which can be either 0 or 1. + When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset. + + The key of the string. + The offset in the string to set . + The bit value to set, true for 1, false for 0. + The flags to use for this operation. + The original bit value stored at offset. + + + + + Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. + If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. + Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset. + + The key of the string. + The offset in the string to overwrite. + The value to overwrite with. + The flags to use for this operation. + The length of the string after it was modified by the command. + + + + + Describes functionality that is common to both standalone redis servers and redis clusters. + + + + + Indicates whether the instance can communicate with the server (resolved using the supplied key and optional flags). + + The key to check for. + The flags to use for this operation. + + + + + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Describes retry policy functionality that can be provided to the multiplexer to be used for connection reconnects. + + + + + This method is called by the multiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the multiplexer while it was in connecting state. + Total time elapsed in milliseconds since the last reconnect retry was made. + + + + Common operations available to all redis connections. + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The command flags to use when pinging. + The observed latency. + + + + + Common operations available to all redis connections. + + + + + Gets the multiplexer that created this instance. + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The command flags to use. + The observed latency. + + + + + Wait for a given asynchronous operation to complete (or timeout), reporting which. + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type of task to wait on. + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Represents a resumable, cursor-based scanning operation. + + + + + Returns the cursor that represents the *active* page of results (not the pending/next page of results as returned by SCAN/HSCAN/ZSCAN/SSCAN). + + + + + The page size of the current operation. + + + + + The offset into the current page. + + + + + Provides configuration controls of a redis server. + + + + + Gets the cluster configuration associated with this server, if known. + + + + + Gets the address of the connected server. + + + + + Gets the features available to the connected server. + + + + + Gets whether the connection to the server is active and usable. + + + + + The protocol being used to communicate with this server (if not connected/known, then the anticipated protocol from the configuration is returned, assuming success). + + + + + Gets whether the connected server is a replica. + + + + + Gets whether the connected server is a replica. + + + + + Explicitly opt in for replica writes on writable replica. + + + + + Explicitly opt in for replica writes on writable replica. + + + + + Gets the operating mode of the connected server. + + + + + Gets the version of the connected server. + + + + + The number of databases supported on this server. + + + + + The CLIENT KILL command closes a given client connection identified by ip:port. + The ip:port should match a line returned by the CLIENT LIST command. + Due to the single-threaded nature of Redis, it is not possible to kill a client connection while it is executing a command. + From the client point of view, the connection can never be closed in the middle of the execution of a command. + However, the client will notice the connection has been closed only when the next command is sent (and results in network error). + + The endpoint of the client to kill. + The command flags to use. + + + + + + + + The CLIENT KILL command closes multiple connections that match the specified filters. + + The ID of the client to kill. + The type of client. + The endpoint to kill. + Whether to skip the current connection. + The command flags to use. + the number of clients killed. + + + + + + + + The CLIENT KILL command closes multiple connections that match the specified filters. + + The filter to use in choosing which clients to kill. + The command flags to use. + the number of clients killed. + + + + + + + The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. + + The command flags to use. + + + + + + + + Obtains the current CLUSTER NODES output from a cluster server. + + The command flags to use. + + + + + + + + Obtains the current raw CLUSTER NODES output from a cluster server. + + The command flags to use. + + + + + + + + Get all configuration parameters matching the specified pattern. + + The pattern of config values to get. + The command flags to use. + All matching configuration parameters. + + + + + + + + Resets the statistics reported by Redis using the INFO command. + + The command flags to use. + + + + + + + + The CONFIG REWRITE command rewrites the redis.conf file the server was started with, + applying the minimal changes needed to make it reflecting the configuration currently + used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. + + The command flags to use. + + + + + + + + The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. + You can change both trivial parameters or switch from one to another persistence option using this command. + + The setting name. + The new setting value. + The command flags to use. + + + + + + + + Returns the number of total commands available in this Redis server. + + The command flags to use. + + + + + + + + Returns list of keys from a full Redis command. + + The command to get keys from. + The command flags to use. + + + + + + + + Returns a list of command names available on this Redis server. + Only one of the filter options is usable at a time. + + The module name to filter the command list by. + The category to filter the command list by. + The pattern to filter the command list by. + The command flags to use. + + + + + + + + Return the number of keys in the database. + + The database ID. + The command flags to use. + + + + + + + + Return the same message passed in. + + The message to echo. + The command flags to use. + + + + + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API. + + The command to run. + The arguments to pass for the command. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API. + + The command to run. + The arguments to pass for the command. + The flags to use for this operation. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + + + + Delete all the keys of all databases on the server. + + The command flags to use. + + + + + + + + Delete all the keys of the database. + + The database ID. + The command flags to use. + + + + + + + + Get summary statistics associates with this server. + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + The info section to get, if getting a specific one. + The command flags to use. + A grouping of key/value pairs, grouped by their section header. + + + + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + The info section to get, if getting a specific one. + The command flags to use. + The entire raw INFO string. + + + + + + + + + + + Returns all keys matching . + The KEYS or SCAN commands will be used based on the server capabilities. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The database ID. + The pattern to use. + The page size to iterate by. + The cursor position to resume at. + The page offset to start at. + The command flags to use. + An enumeration of matching redis keys. + + Warning: consider KEYS as a command that should only be used in production environments with extreme care. + + See + , + . + + + + + + + + + Return the time of the last DB save executed with success. + A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command + and checking at regular intervals every N seconds if LASTSAVE changed. + + The command flags to use. + The last time a save was performed. + + + + + + + + + + + Promote the selected node to be primary. + + The options to use for this topology change. + The log to write output to. + + + + + Returns the role info for the current server. + + + + + + + + + Explicitly request the database to persist the current state to disk. + + The method of the save (e.g. background or foreground). + The command flags to use. + + See + , + , + , + . + + + + + + + + Indicates whether the specified script is defined on the server. + + The text of the script to check for on the server. + The command flags to use. + + + + + + + + Indicates whether the specified script hash is defined on the server. + + The SHA1 of the script to check for on the server. + The command flags to use. + + + + + + + + Removes all cached scripts on this server. + + The command flags to use. + + + + + + + + Explicitly defines a script on the server. + + The script to load. + The command flags to use. + The SHA1 of the loaded script. + + + + + + + + Explicitly defines a script on the server. + + The script to load. + The command flags to use. + The loaded script, ready for rapid reuse based on the SHA1. + + + + + + + + Asks the redis server to shutdown, killing all connections. Please FULLY read the notes on the SHUTDOWN command. + + The mode of the shutdown. + The command flags to use. + + + + + + + + + + + + + + The REPLICAOF command can change the replication settings of a replica on the fly. + If a Redis server is already acting as replica, specifying a null primary will turn off the replication, + turning the Redis server into a PRIMARY. Specifying a non-null primary will make the server a replica of + another server listening at the specified hostname and port. + + Endpoint of the new primary to replicate from. + The command flags to use. + + + + + To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. + It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). + + The count of items to get. + The command flags to use. + The slow command traces as recorded by the Redis server. + + + + + + + + You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. + + The command flags to use. + + + + + + + + Lists the currently active channels. + An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). + + The channel name pattern to get channels for. + The command flags to use. + a list of active channels, optionally matching the specified pattern. + + + + + + + + Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). + Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. + + The command flags to use. + the number of patterns all the clients are subscribed to. + + + + + + + + Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. + + The channel to get a subscriber count for. + The command flags to use. + The number of subscribers on this server. + + + + + + + + Swaps two Redis databases, so that immediately all the clients connected to a given database will see the data of the other database, and the other way around. + + The ID of the first database. + The ID of the second database. + The command flags to use. + + + + + + + + The TIME command returns the current server time in UTC format. + Use the method to get local time. + + The command flags to use. + The server's current time. + + + + + + + + Gets a text-based latency diagnostic. + + The full text result of latency doctor. + + See + , + . + + + + + + + + Resets the given events (or all if none are specified), discarding the currently logged latency spike events, and resetting the maximum event time register. + + The number of events that were reset. + + See + , + . + + + + + + + + Fetch raw latency data from the event time series, as timestamp-latency pairs. + + An array of latency history entries. + + See + , + . + + + + + + + + Fetch raw latency data from the event time series, as timestamp-latency pairs. + + An array of the latest latency history entries. + + See + , + . + + + + + + + + Reports about different memory-related issues that the Redis server experiences, and advises about possible remedies. + + The full text result of memory doctor. + + + + + + + + Attempts to purge dirty pages so these can be reclaimed by the allocator. + + + + + + + + + Returns an array reply about the memory usage of the server. + + An array reply of memory stat metrics and values. + + + + + + + + Provides an internal statistics report from the memory allocator. + + The full text result of memory allocation stats. + + + + + + + + Returns the IP and port number of the primary with that name. + If a failover is in progress or terminated successfully for this primary it returns the address and port of the promoted replica. + + The sentinel service name. + The command flags to use. + The primary IP and port. + + + + + + + + Returns the IP and port numbers of all known Sentinels for the given service name. + + The sentinel service name. + The command flags to use. + A list of the sentinel IPs and ports. + + + + + + + + Returns the IP and port numbers of all known Sentinel replicas for the given service name. + + The sentinel service name. + The command flags to use. + A list of the replica IPs and ports. + + + + + + + + Show the state and info of the specified primary. + + The sentinel service name. + The command flags to use. + The primaries state as KeyValuePairs. + + + + + + + + Show a list of monitored primaries and their state. + + The command flags to use. + An array of primaries state KeyValuePair arrays. + + + + + + + + + + + + + + Show a list of replicas for this primary, and their state. + + The sentinel service name. + The command flags to use. + An array of replica state KeyValuePair arrays. + + + + + + + + Force a failover as if the primary was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + The sentinel service name. + The command flags to use. + + + + + + + + Show a list of sentinels for a primary, and their state. + + The sentinel service name. + The command flags to use. + + + + + + + + For testing only: Break the connection without mercy or thought. + + The server to simulate failure on. + The type of failure(s) to simulate. + + + + A redis connection used as the subscriber in a pub/sub scenario. + + + + + Indicate exactly which redis server we are talking to. + + The channel to identify the server endpoint by. + The command flags to use. + + + + + + + Indicates whether the instance can communicate with the server. + If a channel is specified, the existing subscription map is queried to + resolve the server responsible for that subscription - otherwise the + server is chosen arbitrarily from the primaries. + + The channel to identify the server endpoint by. + if connected, otherwise. + + + + Posts a message to the given channel. + + The channel to publish to. + The message to publish. + The command flags to use. + + The number of clients that received the message *on the destination server*, + note that this doesn't mean much in a cluster as clients can get the message through other nodes. + + + + + + + + + Subscribe to perform some operation when a message to the preferred/active node is broadcast, without any guarantee of ordered handling. + + The channel to subscribe to. + The handler to invoke when a message is received on . + The command flags to use. + + See + , + . + + + + + + + + Subscribe to perform some operation when a message to the preferred/active node is broadcast, as a queue that guarantees ordered handling. + + The redis channel to subscribe to. + The command flags to use. + A channel that represents this source. + + See + , + . + + + + + + + + Indicate to which redis server we are actively subscribed for a given channel. + + The channel to check which server endpoint was subscribed on. + The subscribed endpoint for the given , if the channel is not actively subscribed. + + + + Unsubscribe from a specified message channel. + Note: if no handler is specified, the subscription is canceled regardless of the subscribers. + If a handler is specified, the subscription is only canceled if this handler is the last handler remaining against the channel. + + The channel that was subscribed to. + The handler to no longer invoke when a message is received on . + The command flags to use. + + See + , + . + + + + + + + + Unsubscribe all subscriptions on this instance. + + The command flags to use. + + See + , + . + + + + + + + + Represents a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. Transactions can also include constraints + (implemented via WATCH), but note that constraint checking involves will (very briefly) + block the connection, since the transaction cannot be correctly committed (EXEC), + aborted (DISCARD) or not applied in the first place (UNWATCH) until the responses from + the constraint checks have arrived. + + + Note that on a cluster, it may be required that all keys involved in the transaction (including constraints) are in the same hash-slot. + + + + + + Adds a precondition for this transaction. + + The condition to add to the transaction. + + + + Execute the batch operation, sending all queued commands to the server. + + The command flags to use. + + + + Execute the batch operation, sending all queued commands to the server. + + The command flags to use. + + + + Describes internal errors (mainly intended for debugging). + + + + + This constructor is only for testing purposes. + + The source of the event. + The endpoint (if any) involved in the event. + Redis connection type. + The exception that occurred. + Origin. + + + + Gets the connection-type of the failing connection. + + + + + Gets the failing server-endpoint (this can be null). + + + + + Gets the exception if available (this can be null). + + + + + The underlying origin of the error. + + + + + Provides the extension method to . + + + + + Creates a new instance that provides an isolated key space + of the specified underlying database instance. + + + The underlying database instance that the returned instance shall use. + + + The prefix that defines a key space isolation for the returned database instance. + + + A new instance that invokes the specified underlying + but prepends the specified + to all key parameters and thus forms a logical key space isolation. + + + + The following methods are not supported in a key space isolated database and + will throw an when invoked: + + + + + + + Please notice that keys passed to a script are prefixed (as normal) but care must + be taken when a script returns the name of a key as that will (currently) not be + "unprefixed". + + + + + + A sized region of contiguous memory backed by a memory pool; disposing the lease returns the memory to the pool. + + The type of data being leased. + + + + A lease of length zero. + + + + + The length of the lease. + + + + + Create a new lease. + + The size required. + Whether to erase the memory. + + + + Release all resources owned by the lease. + + + + + The data as a . + + + + + The data as a . + + + + + The data as an . + + + + + Represents a retry policy that performs retries at a fixed interval. The retries are performed up to a maximum allowed time. + + + + + Initializes a new instance using the specified maximum retry elapsed time allowed. + + maximum elapsed time in milliseconds to be allowed for it to perform retries. + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state. + Total elapsed time in milliseconds since the last reconnect retry was made. + + + + Represents a Lua script that can be executed on Redis. + + Unlike normal Redis Lua scripts, LuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + + Parameters of type RedisKey are sent to Redis as KEY (https://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + Since the mapping of "script text" -> LuaScript doesn't depend on any particular details of + the redis connection itself, this cache is global. + + + + + The original Lua script that was used to create this. + + + + + The Lua script that will actually be sent to Redis for execution. + All @-prefixed parameter names have been replaced at this point. + + + + + Arguments are in the order they have to passed to the script in. + + + + + Finalizer - used to prompt cleanups of the script cache when a LuaScript reference goes out of scope. + + + + + Invalidates the internal cache of LuaScript objects. + Existing LuaScripts will continue to work, but future calls to LuaScript.Prepare + return a new LuaScript instance. + + + + + Returns the number of cached LuaScripts. + + + + + Prepares a Lua script with named parameters to be run against any Redis instance. + + The script to prepare. + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + using the implicit SHA1 hash that's calculated after the script is sent to the server for the first time. + + Note: the FireAndForget command flag cannot be set. + + The server to load the script on. + The command flags to use. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + using the implicit SHA1 hash that's calculated after the script is sent to the server for the first time. + + Note: the FireAndForget command flag cannot be set. + + The server to load the script on. + The command flags to use. + + + + Represents a Lua script that can be executed on Redis. + + Unlike LuaScript, LoadedLuaScript sends the hash of it's ExecutableScript to Redis rather than pass + the whole script on each call. This requires that the script be loaded into Redis before it is used. + + + To create a LoadedLuaScript first create a LuaScript via LuaScript.Prepare(string), then + call Load(IServer, CommandFlags) on the returned LuaScript. + + + Unlike normal Redis Lua scripts, LoadedLuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + + Parameters of type RedisKey are sent to Redis as KEY (https://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + The original script that was used to create this LoadedLuaScript. + + + + + The script that will actually be sent to Redis for execution. + + + + + The SHA1 hash of ExecutableScript. + This is sent to Redis instead of ExecutableScript during Evaluate and EvaluateAsync calls. + + Be aware that using hash directly is not resilient to Redis server restarts. + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. + If the script has not been loaded into the passed Redis instance, it will fail. + + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. + If the script has not been loaded into the passed Redis instance, it will fail. + + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Azure node maintenance event. For more information, please see: . + + + + + Indicates the type of event (raw string form). + + + + + The parsed version of for easier consumption. + + + + + Indicates if the event is for a replica node. + + + + + IPAddress of the node event is intended for. + + + + + SSL Port. + + + + + Non-SSL port. + + + + + The types of notifications that Azure is sending for events happening. + + + + + Unrecognized event type, likely needs a library update to recognize new events. + + + + + Indicates that a maintenance event is scheduled. May be several minutes from now. + + + + + This event gets fired ~20s before maintenance begins. + + + + + This event gets fired when maintenance is imminent (<5s). + + + + + Indicates that the node maintenance operation is over. + + + + + Indicates that a replica has been promoted to primary. + + + + + Indicates that a scale event (adding or removing nodes) has completed for a cluster. + + + + + Base class for all server maintenance events. + + + + + Raw message received from the server. + + + + + The time the event was received. If we know when the event is expected to start will be populated. + + + + + Indicates the expected start time of the event. + + + + + Returns a string representing the maintenance event with all of its properties. + + + + + Notifies a ConnectionMultiplexer of this event, for anyone observing its handler. + + + + + Things with the potential to cause harm, or to reveal configuration information. + + + + Gets whether this is primary-only. + + Note that the constructor runs the switch statement above, so + this will already be true for primary-only commands, even if the + user specified etc. + + + + + This does a few important things: + 1: it suppresses error events for commands that the user isn't interested in + (i.e. "why does my standalone server keep saying ERR unknown command 'cluster' ?") + 2: it allows the initial PING and GET (during connect) to get queued rather + than be rejected as no-server-available (note that this doesn't apply to + handshake messages, as they bypass the queue completely). + 3: it disables non-pref logging, as it is usually server-targeted. + + + + + Gets a string representation of this message: "[{DB}]:{CommandAndKey} ({resultProcessor})". + + + + + Gets a string representation of this message without the key: "[{DB}]:{Command} ({resultProcessor})". + + + + + Gets if this command should be sent over the subscription bridge. + + + + + Sends this command to the subscription connection rather than the interactive. + + + + + Checks if this message has violated the provided timeout. + Whether it's a sync operation in a .Wait() or in the backlog queue or written/pending asynchronously, we need to timeout everything. + ...or we get indefinite Task hangs for completions. + + + + + Sets the processor and box for this message to execute. + + + Note order here is reversed to prevent overload resolution errors. + + + + + Sets the box and processor for this message to execute. + + + Note order here is reversed to prevent overload resolution errors. + + The type of the result box result. + + + + We have 1 queue in play on this bridge. + We're bypassing the queue for handshake events that go straight to the socket. + Everything else that's not an internal call goes into the queue if there is a queue. + + + In a later release we want to remove per-server events from this queue completely and shunt queued messages + to another capable primary connection if one is available to process them faster (order is already hosed). + For now, simplicity in: queue it all, replay or timeout it all. + + + + + If we have a connection, report the protocol being used. + + + + + Number of messages sent since the last heartbeat was processed. + + + + + The time this connection was connected at, if it's connected currently. + + + + + Whether the pipe writer is currently active. + + + + + Status of the currently processing backlog, if any. + + + + + The number of messages that are in the backlog queue (waiting to be sent when the connection is healthy again). + + + + + The number of messages that are in the backlog queue (waiting to be sent when the connection is healthy again). + + + + + The number of messages ever added to the backlog queue in the life of this connection. + + + + + Status for the underlying . + + + + + The default bridge stats, notable *not* the same as default since initializers don't run. + + + + + Sends a keepalive message (ECHO or PING) to keep connections alive and check validity of response. + + Whether to run even then the connection isn't idle. + + + + Crawls from the head of the backlog queue, consuming anything that should have timed out + and pruning it accordingly (these messages will get timeout exceptions). + + + + + Process the backlog(s) in play if any. + This means flushing commands to an available/active connection (if any) or spinning until timeout if not. + + + + + Reset event for monitoring backlog additions mid-run. + This allows us to keep the thread around for a full flush and prevent "feathering the throttle" trying + to flush it. In short, we don't start and stop so many threads with a bit of linger. + + + + + This writes a message to the output stream. + + The physical connection to write to. + The message to be written. + Whether this message should bypass the backlog, going straight to the pipe or failing. + + + + For testing only. + + + + + Nullable because during simulation of failure, we'll null out. + ...but in those cases, we'll accept any null ref in a race - it's fine. + + + + + Did we ask for the shutdown? If so this leads to informational messages for tracking but not errors. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Runs on every heartbeat for a bridge, timing out any commands that are overdue and returning an integer of how many we timed out. + + How many commands were overdue and threw timeout exceptions. + + + + Number of messages sent outbound, but we don't yet have a response for. + + + + + Bytes available on the socket, not yet read into the pipe. + + + + + Bytes read from the socket, pending in the reader pipe. + + + + + Bytes in the writer pipe, waiting to be written to the socket. + + + + + Byte size of the last result we processed. + + + + + Byte size on the buffer that isn't processed yet. + + + + + The inbound pipe reader status. + + + + + The outbound pipe writer status. + + + + + The default connection stats, notable *not* the same as default since initializers don't run. + + + + + The zeroed connection stats, which we want to display as zero for default exception cases. + + + + + A profiled command against a redis instance. + + TimeSpans returned by this interface use a high precision timer if possible. + DateTimes returned by this interface are no more precise than DateTime.UtcNow. + + + + + + The endpoint this command was sent to. + + + + + The Db this command was sent to. + + + + + The name of this command. + + + + + The CommandFlags the command was submitted with. + + + + + + When this command was *created*, will be approximately + when the paired method of StackExchange.Redis was called but + before that method returned. + + Note that the resolution of the returned DateTime is limited by DateTime.UtcNow. + + + + + How long this command waited to be added to the queue of pending + redis commands. A large TimeSpan indicates serious contention for + the pending queue. + + + + + How long this command spent in the pending queue before being sent to redis. + A large TimeSpan can indicate a large number of pending events, large pending events, + or network issues. + + + + + How long before Redis responded to this command and it's response could be handled after it was sent. + A large TimeSpan can indicate a large response body, an overtaxed redis instance, or network issues. + + + + + How long between Redis responding to this command and awaiting consumers being notified. + + + + + How long it took this redis command to be processed, from creation to deserializing the final response. + Note that this TimeSpan *does not* include time spent awaiting a Task in consumer code. + + + + + + If a command has to be resent due to an ASK or MOVED response from redis (in a cluster configuration), + the second sending of the command will have this property set to the original IProfiledCommand. + + This can only be set if redis is configured as a cluster. + + + + + If RetransmissionOf is not null, this property will be set to either Ask or Moved to indicate + what sort of response triggered the retransmission. + + This can be useful for determining the root cause of extra commands. + + + + + A collection of IProfiledCommands. + This is a very light weight data structure, only supporting enumeration. + + While it implements IEnumerable, it there are fewer allocations if one uses + it's explicit GetEnumerator() method. Using `foreach` does this automatically. + + This type is not threadsafe. + + + + + + Implements IEnumerator for ProfiledCommandEnumerable. + This implementation is comparable to List.Enumerator and Dictionary.Enumerator, + and is provided to reduce allocations in the common (ie. foreach) case. + + This type is not threadsafe. + + + + + The current element. + + + + + Advances the enumeration, returning true if there is a new element to consume and false + if enumeration is complete. + + + + + Resets the enumeration. + + + + + Disposes the enumeration. + subsequent attempts to enumerate results in undefined behavior. + + + + + Returns the number of commands captured in this snapshot. + + + + + Returns the number of commands captured in this snapshot that match a condition. + + The predicate to match. + + + + Returns the captured commands as an array. + + + + + Returns the captured commands as a list. + + + + + + Returns an implementor of IEnumerator that, provided it isn't accessed + though an interface, avoids allocations. + + `foreach` will automatically use this method. + + + + + Lightweight profiling session that can be optionally registered (via ConnectionMultiplexer.RegisterProfiler) to track messages. + + + + + Caller-defined state object. + + + + + Create a new profiling session, optionally including a caller-defined state object. + + The state object to use for this session. + + + + Reset the session and yield the commands that were captured for enumeration; if additional commands + are added, they can be retrieved via additional calls to FinishProfiling. + + + + + Represents a pub/sub channel name. + + + + + Indicates whether the channel-name is either null or a zero-length value. + + + + + Indicates whether this channel represents a wildcard pattern (see PSUBSCRIBE). + + + + + Indicates whether channels should use when no + is specified; this is enabled by default, but can be disabled to avoid unexpected wildcard scenarios. + + + + + Creates a new that does not act as a wildcard subscription. + + + + + Creates a new that does not act as a wildcard subscription. + + + + + Creates a new that acts as a wildcard subscription. + + + + + Creates a new that acts as a wildcard subscription. + + + + + Create a new redis channel from a buffer, explicitly controlling the pattern mode. + + The name of the channel to create. + The mode for name matching. + + + + Create a new redis channel from a string, explicitly controlling the pattern mode. + + The string name of the channel to create. + The mode for name matching. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + See . + + The to compare to. + + + + Indicate whether two channel names are equal. + + The to compare to. + + + + + + + Obtains a string representation of the channel name. + + + + + The matching pattern for this channel. + + + + + Will be treated as a pattern if it includes *. + + + + + Never a pattern. + + + + + Always a pattern. + + + + + Create a channel name from a . + + The string to get a channel from. + + + + Create a channel name from a . + + The byte array to get a channel from. + + + + Obtain the channel name as a . + + The channel to get a byte[] from. + + + + Obtain the channel name as a . + + The channel to get a string from. + + + + Gets message for . + + + + + Gets a message for . + + + + + + Notification of errors from the redis server. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + Error message. + + + + The origin of the message. + + + + + The message from the server. + + + + + Provides basic information about the features available on a particular version of Redis. + + + + + Create a new RedisFeatures instance for the given version. + + The version of redis to base the feature set on. + + + + Are BITOP and BITCOUNT available? + + + + + Is CLIENT SETNAME available? + + + + + Is CLIENT ID available? + + + + + Does EXEC support EXECABORT if there are errors? + + + + + Can EXPIRE be used to set expiration on a key that is already volatile (i.e. has an expiration)? + + + + + Is GETDEL available? + + + + + Is HSTRLEN available? + + + + + Does HDEL support variadic usage? + + + + + Are INCRBYFLOAT and HINCRBYFLOAT available? + + + + + Does INFO support sections? + + + + + Is LINSERT available? + + + + + Is MEMORY available? + + + + + Are PEXPIRE and PTTL available? + + + + + Is MODULE available? + + + + + Does SRANDMEMBER support the "count" option? + + + + + Is PERSIST available? + + + + + Are LPUSHX and RPUSHX available? + + + + + Does this support SORT_RO? + + + + + Is SCAN (cursor-based scanning) available? + + + + + Are EVAL, EVALSHA, and other script commands available? + + + + + Does SET support the GET option? + + + + + Does SET support the EX, PX, NX, and XX options? + + + + + Does SET have the KEEPTTL option? + + + + + Does SET allow the NX and GET options to be used together? + + + + + Does SADD support variadic usage? + + + + + Are ZPOPMIN and ZPOPMAX available? + + + + + Is ZRANGESTORE available? + + + + + Are Redis Streams available? + + + + + Is STRLEN available? + + + + + Is SETRANGE available? + + + + + Is SWAPDB available? + + + + + Is TIME available? + + + + + Is UNLINK available? + + + + + Are Lua changes to the calling database transparent to the calling client? + + + + + + + + Is PFCOUNT available on replicas? + + + + + Are geospatial commands available? + + + + + Can PING be used on a subscription connection? + + + + + Does SPOP support popping multiple items? + + + + + Is TOUCH available? + + + + + Does the server prefer 'replica' terminology - 'REPLICAOF', etc? + + + + + Do list-push commands support multiple arguments? + + + + + Is the RESP3 protocol available? + + + + + The Redis version of the server. + + + + + Create a string representation of the available features. + + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + Indicates whether this instance and a specified object are equal. + + + if and this instance are the same type and represent the same value, otherwise. + + The object to compare with the current instance. + + + + Indicates whether this instance and a specified object are equal. + + + if and this instance are the same type and represent the same value, otherwise. + + The object to compare with the current instance. + + + + Checks if 2 are .Equal(). + + + + + Checks if 2 are not .Equal(). + + + + + Represents a key that can be stored in redis. + + + + + Creates a from a string. + + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + See . + + The to compare to. + + + + Indicate whether two keys are equal. + + The to compare to. + + + + + + + Obtains a string representation of the key. + + + + + Create a from a . + + The string to get a key from. + + + + Create a from a . + + The byte array to get a key from. + + + + Obtain the as a . + + The key to get a byte array for. + + + + Obtain the key as a . + + The key to get a string for. + + + + Concatenate two keys. + + The first to add. + The second to add. + + + + Prepends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make it less possible. + + + The prefix to prepend. + + + + Appends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make it less possible. + + + The suffix to append. + + + + Indicates the protocol for communicating with the server. + + + + + The protocol used by all redis server versions since 1.2, as defined by https://github.com/redis/redis-specifications/blob/master/protocol/RESP2.md. + + + + + Opt-in variant introduced in server version 6, as defined by https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md. + + + + + Represents a general-purpose result from redis, that may be cast into various anticipated types. + + + + + Do not use. + + + + + Create a new RedisResult representing a single value. + + The to create a result from. + The type of result being represented. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + The explicit data type. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + The explicit data type. + new . + + + + An empty array result. + + + + + A null array result. + + + + + A null single result, to use as a default for invalid returns. + + + + + Gets the number of elements in this item if it is a valid array, or -1 otherwise. + + + + + + + + Gets the string content as per , but also obtains the declared type from verbatim strings (for example LATENCY DOCTOR). + + The type of the returned string. + The content. + + + + Internally, this is very similar to RawResult, except it is designed to be usable, + outside of the IO-processing pipeline: the buffers are standalone, etc. + + + + + Indicate the type of result that was received from redis, in RESP2 terms. + + + + + Indicate the type of result that was received from redis, in RESP3 terms. + + + + + Indicate the type of result that was received from redis, in RESP2 terms. + + + + + Indicates whether this result was a null result. + + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets a multi-bulk result with successive key/name values as a dictionary keyed by name. + + The key comparator to use, or by default. + + + + Get a sub-item by index. + + + + + Create a from a key. + + The to create a from. + + + + Create a from a channel. + + The to create a from. + + + + For testing only. + + + + + A wrapper for subscription actions. + + + By having most functionality here and state on , we can + use the baseline execution methods to take the normal message paths. + + + + + This is *could* we be connected, as in "what's the theoretical endpoint for this channel?", + rather than if we're actually connected and actually listening on that channel. + + + + + Unregisters a handler or queue and returns if we should remove it from the server. + + if we should remove the subscription from the server, otherwise. + + + + Represents values that can be stored in redis. + + + + + Creates a from a string. + + + + + Obtain this value as an object - to be used alongside Unbox. + + + + + Parse this object as a value - to be used alongside Box. + + The value to unbox. + + + + Represents the string "". + + + + + A null value. + + + + + Indicates whether the **underlying** value is a primitive integer (signed or unsigned); this is **not** + the same as whether the value can be *treated* as an integer - see + and , which is usually the more appropriate test. + + + + + Indicates whether the value should be considered a null value. + + + + + Indicates whether the value is either null or a zero-length value. + + + + + Indicates whether the value is greater than zero-length or has an integer value. + + + + + Indicates whether two RedisValue values are equivalent. + + The first to compare. + The second to compare. + + + + Indicates whether two RedisValue values are equivalent. + + The first to compare. + The second to compare. + + + + See . + + The other to compare. + + + + Indicates whether two RedisValue values are equivalent. + + The to compare to. + + + + + + + Returns a string representation of the value. + + + + + Get the size of this value in bytes. + + + + + Compare against a RedisValue for relative order. + + The other to compare. + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from a . + + The to convert to a . + + + + Creates a new from a . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Attempt to reduce to canonical terms ahead of time; parses integers, floats, etc + Note: we don't use this aggressively ahead of time, a: because of extra CPU, + but more importantly b: because it can change values - for example, if they start + with "123.000", it should **stay** as "123.000", not become 123L; this could be + a hash key or similar - we don't want to break it; RedisConnection uses + the storage type, not the "does it look like a long?" - for this reason. + + + + + Convert to a signed if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Convert to an if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Convert to a if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Create a from a . + It will *attempt* to use the internal buffer directly, but if this isn't possible it will fallback to . + + The to create a value from. + + + + Indicates whether the current value has the supplied value as a prefix. + + The to check. + + + + Anything hashed with SHA1 has exactly 40 characters. We can use that as a shortcut in the code bellow. + + + + + Parser for the https://redis.io/commands/lcs/ format with the and arguments. + + + Example response: + 1) "matches" + 2) 1) 1) 1) (integer) 4 + 2) (integer) 7 + 2) 1) (integer) 5 + 2) (integer) 8 + 3) (integer) 4 + 3) "len" + 4) (integer) 6 + ... + + + + + Handles . + + + + + Handles . + + + + + This processor is for *without* the option. + + + + + This processor is for *with* the option. + + + + + Handles stream responses. For formats, see . + + The type of the stream result. + + + + Result of the ROLE command. Values depend on the role: master, replica, or sentinel. + + + + + + One of "master", "slave" (aka replica), or "sentinel". + + + + + + + + Result of the ROLE command for a primary node. + + + + + + The replication offset. To be consumed by replica nodes. + + + + + Connected replica nodes. + + + + + A connected replica node. + + + + + The IP address of this replica node. + + + + + The port number of this replica node. + + + + + The last replication offset acked by this replica node. + + + + + + + + Result of the ROLE command for a replica node. + + + + + + The IP address of the primary node for this replica. + + + + + The port number of the primary node for this replica. + + + + + This replica's replication state. + + + + + The last replication offset received by this replica. + + + + + Result of the ROLE command for a sentinel node. + + + + + + Primary names monitored by this sentinel node. + + + + + An unexpected result of the ROLE command. + + + + + Turns a script with @namedParameters into a LuaScript that can be executed against a given IDatabase(Async) object. + + The script to prepare. + + + + Determines whether or not the given type can be used to provide parameters for the given . + + The type of the parameter. + The script to match against. + The first missing member, if any. + The first type mismatched member, if any. + + + + Creates a Func that extracts parameters from the given type for use by a LuaScript. + + Members that are RedisKey's get extracted to be passed in as keys to redis; all members that + appear in the script get extracted as RedisValue arguments to be sent up as args. + + + We send all values as arguments so we don't have to prepare the same script for different parameter + types. + + + The created Func takes a RedisKey, which will be prefixed to all keys (and arguments of type RedisKey) for + keyspace isolation. + + + The type to extract for. + The script to extract for. + + + + Illustrates the queues associates with this server. + + + + + Creates a instance for an . + + The to create counters for. + + + + The endpoint to which this data relates (this can be null if the data represents all servers). + + + + + Counters associated with the interactive (non pub-sub) connection. + + + + + Counters associated with other ambient activity. + + + + + Counters associated with the subscription (pub-sub) connection. + + + + + Indicates the total number of outstanding items against this server. + + + + + See . + + + + + Whether this endpoint supports databases at all. + Note that some servers are cluster but present as standalone (e.g. Redis Enterprise), so we respect + being disabled here as a performance workaround. + + + This is memoized because it's accessed on hot paths inside the write lock. + + + + + Awaitable state seeing if this endpoint is connected. + + + + + If we have a connection (interactive), report the protocol being used. + + + + + Used to round-robin between multiple replicas. + + + + + Result of the latest tie breaker (from the last reconfigure). + + + + + Forces frequent replication check starting from 1 second up to max ConfigCheckSeconds with an exponential increment. + + + + + Write the message directly to the pipe or fail...will not queue. + + The type of the result processor. + + + + For testing only. + + + + + Computes the hash-slot that would be used by the given key. + + The to determine a slot ID for. + + + + Computes the hash-slot that would be used by the given channel. + + The to determine a slot ID for. + + + + Gets the hashslot for a given byte sequence. + + + HASH_SLOT = CRC16(key) mod 16384. + + + + + A SocketManager monitors multiple sockets for availability of data; this is done using + the Socket.Select API and a dedicated reader-thread, which allows for fast responses + even when the system is under ambient load. + + + + + Gets the name of this SocketManager instance. + + + + + Creates a new instance. + + The name for this . + + + + Creates a new instance. + + The name for this . + Whether this should use high priority sockets. + + + + Creates a new (optionally named) instance. + + The name for this . + the number of dedicated workers for this . + Whether this should use high priority sockets. + + + + Additional options for configuring the socket manager. + + + + + No additional options. + + + + + Whether the should use high priority sockets. + + + + + Use the regular thread-pool for all scheduling. + + + + + Creates a new (optionally named) instance. + + The name for this . + The number of dedicated workers for this . + Options to use when creating the socket manager. + + + + Default / shared socket manager using a dedicated thread-pool. + + + + + Shared socket manager using the main thread-pool. + + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + Releases all resources associated with this instance. + + + + + Releases *appropriate* resources associated with this instance. + + + + + Constants representing values used in Redis Stream commands. + + + + + The "~" value used with the MAXLEN option. + + + + + The "*" value used with the XADD command. + + + + + The "$" value used in the XGROUP command. Indicates reading only new messages from the stream. + + + + + The "0" value used in the XGROUP command. Indicates reading all messages from the stream. + + + + + The "-" value used in the XRANGE, XREAD, and XREADGROUP commands. Indicates the minimum message ID from the stream. + + + + + The "+" value used in the XRANGE, XREAD, and XREADGROUP commands. Indicates the maximum message ID from the stream. + + + + + The ">" value used in the XREADGROUP command. Use this to read messages that have not been delivered to a consumer group. + + + + + Licensed to the .NET Foundation under one or more agreements. + The .NET Foundation licenses this file to you under the MIT license. + + Inspired from . + + + + Create a new TaskCompletion source. + + The type for the created . + The state for the created . + The options to apply to the task. + + + + Optimization over . + + From . + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/local-nuget/stackexchange.redis/2.8.24/lib/netstandard2.0/StackExchange.Redis.xml b/local-nuget/stackexchange.redis/2.8.24/lib/netstandard2.0/StackExchange.Redis.xml new file mode 100644 index 000000000..9063e53d2 --- /dev/null +++ b/local-nuget/stackexchange.redis/2.8.24/lib/netstandard2.0/StackExchange.Redis.xml @@ -0,0 +1,12629 @@ + + + + StackExchange.Redis + + + + + Filter determining which Redis clients to kill. + + + + + + Filter arguments builder for `CLIENT KILL`. + + + + + The ID of the client to kill. + + + + + The type of client. + + + + + The authenticated ACL username. + + + + + The endpoint to kill. + + + + + The server endpoint to kill. + + + + + Whether to skip the current connection. + + + + + Age of connection in seconds. + + + + + Sets client id filter. + + Id of the client to kill. + + + + Sets client type filter. + + The type of the client. + + + + Sets the username filter. + + Authenticated ACL username. + + + + Set the endpoint filter. + + The endpoint to kill. + + + + Set the server endpoint filter. + + The server endpoint to kill. + + + + Set the skipMe filter (whether to skip the current connection). + + Whether to skip the current connection. + + + + Set the MaxAgeInSeconds filter. + + Age of connection in seconds. + + + + Describes a GeoEntry element with the corresponding value. + GeoEntries are stored in redis as SortedSetEntries. + + + + + The name of the GeoEntry. + + + + + Describes the longitude and latitude of a GeoEntry. + + + + + Initializes a GeoEntry value. + + The longitude position to use. + The latitude position to use. + The value to store for this position. + + + + The longitude of the GeoEntry. + + + + + The latitude of the GeoEntry. + + + + + A "({Longitude},{Latitude})={Member}" string representation of this entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first entry to compare. + The second entry to compare. + + + + Compares two values for non-equality. + + The first entry to compare. + The second entry to compare. + + + + Describes the longitude and latitude of a GeoEntry. + + + + + The Latitude of the GeoPosition. + + + + + The Longitude of the GeoPosition. + + + + + Creates a new GeoPosition. + + + + + A "{long} {lat}" string representation of this position. + + + + + See . + Diagonals not an issue in the case of lat/long. + + + Diagonals are not an issue in the case of lat/long. + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first position to compare. + The second position to compare. + + + + Compares two values for non-equality. + + The first position to compare. + The second position to compare. + + + + GeoRadius command options. + + + + + No Options. + + + + + Redis will return the coordinates of any results. + + + + + Redis will return the distance from center for all results. + + + + + Redis will return the geo hash value as an integer. (This is the score in the sorted set). + + + + + Populates the commonly used values from the entry (the integer hash is not returned as it is not commonly useful). + + + + + The result of a GeoRadius command. + + + + + Indicate the member being represented. + + + + + The matched member. + + + + + The distance of the matched member from the center of the geo radius command. + + + + + The hash value of the matched member as an integer. (The key in the sorted set). + + Note that this is not the same as the hash returned from GeoHash. + + + + The coordinates of the matched member. + + + + + Returns a new GeoRadiusResult. + + The value from the result. + The distance from the result. + The hash of the result. + The GeoPosition of the result. + + + + A Shape that you can use for a GeoSearch. + + + + + The unit to use for creating the shape. + + + + + The number of shape arguments. + + + + + constructs a . + + The geography unit to use. + + + + A circle drawn on a map bounding. + + + + + Creates a Shape. + + The radius of the circle. + The distance unit the circle will use, defaults to Meters. + + + + Gets the s for this shape. + + + + + A box drawn on a map. + + + + + Initializes a GeoBox. + + The height of the box. + The width of the box. + The distance unit the box will use, defaults to Meters. + + + + Describes a hash-field (a name/value pair). + + + + + Initializes a value. + + The name for this hash entry. + The value for this hash entry. + + + + The name of the hash field. + + + + + The value of the hash field. + + + + + The name of the hash field. + + + + + Converts to a key/value pair. + + The to create a from. + + + + Converts from a key/value pair. + + The to get a from. + + + + A "{name}: {value}" string representation of this entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + A latency entry as reported by the built-in LATENCY HISTORY command. + + + + + The time at which this entry was recorded. + + + + + The latency recorded for this event. + + + + + A latency entry as reported by the built-in LATENCY LATEST command. + + + + + The name of this event. + + + + + The time at which this entry was recorded. + + + + + The latency recorded for this event. + + + + + The max latency recorded for all events. + + + + + The result of a LongestCommonSubsequence command with IDX feature. + Returns a list of the positions of each sub-match. + + + + + Whether this match result contains any matches. + + + + + The matched positions of all the sub-matched strings. + + + + + The length of the longest match. + + + + + Returns a new . + + The matched positions in each string. + The length of the match. + + + + Represents a sub-match of the longest match. i.e first indexes the matched substring in each string. + + + + + The first index of the matched substring in the first string. + + + + + The first index of the matched substring in the second string. + + + + + The length of the match. + + + + + Returns a new Match. + + The first index of the matched substring in the first string. + The first index of the matched substring in the second string. + The length of the match. + + + + A contiguous portion of a redis list. + + + + + A null ListPopResult, indicating no results. + + + + + Whether this object is null/empty. + + + + + The key of the list that this set of entries came form. + + + + + The values from the list. + + + + + Describes a value contained in a stream (a name/value pair). + + + + + Initializes a value. + + The name for this entry. + The value for this entry. + + + + The name of the field. + + + + + The value of the field. + + + + + Converts to a key/value pair. + + The to create a from. + + + + Converts from a key/value pair. + + The to get a from. + + + + The "{name}: {value}" string representation. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + Describes a Redis Stream with an associated array of entries. + + + + + The key for the stream. + + + + + An array of entries contained within the stream. + + + + + Describes a value/expiry pair. + + + + + Creates a from a and a . + + + + + The expiry of this record. + + + + + The value of this record. + + + + + Describes a sorted-set element with the corresponding value. + + + + + Initializes a value. + + The to get an entry for. + The redis score for . + + + + The unique element stored in the sorted set. + + + + + The score against the element. + + + + + The score against the element. + + + + + The unique element stored in the sorted set. + + + + + Converts to a key/value pair. + + The to get a for. + + + + Converts from a key/value pair. + + The to get a for. + + + + A "{element}: {score}" string representation of the entry. + + + + + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values for equality. + + The to compare to. + + + + Compares two values by score. + + The to compare to. + + + + Compares two values by score. + + The to compare to. + + + + Compares two values for equality. + + The first to compare. + The second to compare. + + + + Compares two values for non-equality. + + The first to compare. + The second to compare. + + + + A contiguous portion of a redis sorted set. + + + + + A null SortedSetPopResult, indicating no results. + + + + + Whether this object is null/empty. + + + + + The key of the sorted set these entries came form. + + + + + The provided entries of the sorted set. + + + + + Result of the XAUTOCLAIM command with the JUSTID option. + + + + + A null , indicating no results. + + + + + Whether this object is null/empty. + + + + + The stream ID to be used in the next call to StreamAutoClaim. + + + + + Array of IDs claimed by the command. + + + + + Array of message IDs deleted from the stream. + + + + + Result of the XAUTOCLAIM command. + + + + + A null , indicating no results. + + + + + Whether this object is null/empty. + + + + + The stream ID to be used in the next call to StreamAutoClaim. + + + + + An array of for the successfully claimed entries. + + + + + An array of message IDs deleted from the stream. + + + + + Describes a consumer off a Redis Stream. + + + + + The name of the consumer. + + + + + The number of messages that have been delivered by not yet acknowledged by the consumer. + + + + + Describes a consumer within a consumer group, retrieved using the XINFO CONSUMERS command. . + + + + + The name of the consumer. + + + + + The number of pending messages for the consumer. A pending message is one that has been + received by the consumer but not yet acknowledged. + + + + + The idle time, if any, for the consumer. + + + + + Describes an entry contained in a Redis Stream. + + + + + Creates an stream entry. + + + + + A null stream entry. + + + + + The ID assigned to the message. + + + + + The values contained within the message. + + + + + Search for a specific field by name, returning the value. + + + + + Indicates that the Redis Stream Entry is null. + + + + + Describes a consumer group retrieved using the XINFO GROUPS command. . + + + + + The name of the consumer group. + + + + + The number of consumers within the consumer group. + + + + + The total number of pending messages for the consumer group. A pending message is one that has been + received by a consumer but not yet acknowledged. + + + + + The Id of the last message delivered to the group. + + + + + Total number of entries the group had read. + + + + + The number of entries in the range between the group's read entries and the stream's entries. + + + + + Describes stream information retrieved using the XINFO STREAM command. . + + + + + The number of entries in the stream. + + + + + The number of radix tree keys in the stream. + + + + + The number of radix tree nodes in the stream. + + + + + The number of consumers groups in the stream. + + + + + The first entry in the stream. + + + + + The last entry in the stream. + + + + + The last generated id. + + + + + Describes basic information about pending messages for a consumer group. + + + + + The number of pending messages. A pending message is a message that has been consumed but not yet acknowledged. + + + + + The lowest message ID in the set of pending messages. + + + + + The highest message ID in the set of pending messages. + + + + + An array of consumers within the consumer group that have pending messages. + + + + + Describes properties of a pending message. + A pending message is one that has been received by a consumer but has not yet been acknowledged. + + + + + The ID of the pending message. + + + + + The consumer that received the pending message. + + + + + The time that has passed since the message was last delivered to a consumer. + + + + + The number of times the message has been delivered to a consumer. + + + + + Describes a pair consisting of the Stream Key and the from which to begin reading a stream. + + + + + Read from the beginning of a stream. + + + + + Read new messages. + + + + + Initializes a value. + + The key for the stream. + The position from which to begin reading the stream. + + + + The stream key. + + + + + The offset at which to begin reading the stream. + + + + + The backlog policy to use for commands. This policy comes into effect when a connection is unhealthy or unavailable. + The policy can choose to backlog commands and wait to try them (within their timeout) against a connection when it comes up, + or it could choose to fail fast and throw ASAP. Different apps desire different behaviors with backpressure and how to handle + large amounts of load, so this is configurable to optimize the happy path but avoid spiral-of-death queue scenarios for others. + + + + + Backlog behavior matching StackExchange.Redis's 2.x line, failing fast and not attempting to queue + and retry when a connection is available again. + + + + + Default backlog policy which will allow commands to be issues against an endpoint and queue up. + Commands are still subject to their async timeout (which serves as a queue size check). + + + + + Whether to queue commands while disconnected. + True means queue for attempts up until their timeout. + means to fail ASAP and queue nothing. + + + + + Whether to immediately abandon (with an exception) all pending commands when a connection goes unhealthy. + + + + + Note that in results other than success, no guarantees are made about final state; if you care: snapshot. + + + + + Represents a message that is broadcast via publish/subscribe. + + + + + The Channel:Message string representation. + + + + + + + + + + + The channel that the subscription was created from. + + + + + The channel that the message was broadcast to. + + + + + The value that was broadcast. + + + + + Checks if 2 messages are .Equal(). + + + + + Checks if 2 messages are not .Equal(). + + + + + Represents a message queue of ordered pub/sub notifications. + + + To create a ChannelMessageQueue, use + or . + + + + + The Channel that was subscribed for this queue. + + + + + The string representation of this channel. + + + + + An awaitable task the indicates completion of the queue (including drain of data). + + + + + Consume a message from the channel. + + The to use. + + + + Attempt to synchronously consume a message from the channel. + + The read from the Channel. + + + + Attempt to query the backlog length of the queue. + + The (approximate) count of items in the Channel. + + + + Create a message loop that processes messages sequentially. + + The handler to run when receiving a message. + + + + Create a message loop that processes messages sequentially. + + The handler to execute when receiving a message. + + + + Stop receiving messages on this channel. + + The flags to use when unsubscribing. + + + + Stop receiving messages on this channel. + + The flags to use when unsubscribing. + + + + + + + Represents the state of an individual client connection to redis. + + + + + Address (host and port) of the client. + + + + + Total duration of the connection in seconds. + + + + + Current database ID. + + + + + The flags associated with this connection. + + + + + The client flags can be a combination of: + + + A + Connection to be closed ASAP. + + + b + The client is waiting in a blocking operation. + + + c + Connection to be closed after writing entire reply. + + + d + A watched keys has been modified - EXEC will fail. + + + i + The client is waiting for a VM I/O (deprecated). + + + M + The client is a primary. + + + N + No specific flag set. + + + O + The client is a replica in MONITOR mode. + + + P + The client is a Pub/Sub subscriber. + + + r + The client is in readonly mode against a cluster node. + + + S + The client is a normal replica server. + + + u + The client is unblocked. + + + U + The client is unblocked. + + + x + The client is in a MULTI/EXEC context. + + + t + The client enabled keys tracking in order to perform client side caching. + + + R + The client tracking target client is invalid. + + + B + The client enabled broadcast tracking mode. + + + + + + + + The host of the client (typically an IP address). + + + + + Idle time of the connection in seconds. + + + + + Last command played. + + + + + The name allocated to this connection, if any. + + + + + Number of pattern matching subscriptions. + + + + + The port of the client. + + + + + The raw content from redis. + + + + + Number of channel subscriptions. + + + + + Number of commands in a MULTI/EXEC context. + + + + + A unique 64-bit client ID (introduced in Redis 2.8.12). + + + + + Format the object as a string. + + + + + The class of the connection. + + + + + Client RESP protocol version. Added in Redis 7.0. + + + + + Client RESP protocol version. Added in Redis 7.0. + + + + + Client library name. Added in Redis 7.2. + + + + + + Client library version. Added in Redis 7.2. + + + + + + Indicates a range of slots served by a cluster node. + + + + + Create a new SlotRange value. + + The slot ID to start at. + The slot ID to end at. + + + + The start of the range (inclusive). + + + + + The end of the range (inclusive). + + + + + Indicates whether two ranges are not equal. + + The first slot range. + The second slot range. + + + + Indicates whether two ranges are equal. + + The first slot range. + The second slot range. + + + + Try to parse a string as a range. + + The range string to parse, e.g."1-12". + The parsed , if successful. + + + + Compares the current instance with another object of the same type and returns an integer that indicates + whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + The other slot range to compare to. + + + + See . + + The other slot range to compare to. + + + + Indicates whether two ranges are equal. + + The other slot range to compare to. + + + + + + + String representation ("{from}-{to}") of the range. + + + + + Describes the state of the cluster as reported by a single node. + + + + + Gets all nodes contained in the configuration. + + + + + The node that was asked for the configuration. + + + + + Obtain the node relating to a specified endpoint. + + The endpoint to get a cluster node from. + + + + Gets the node that serves the specified slot. + + The slot ID to get a node by. + + + + Gets the node that serves the specified key's slot. + + The key to identify a node by. + + + + Represents the configuration of a single node in a cluster configuration. + + + + + + Gets all child nodes of the current node. + + + + + Gets the endpoint of the current node. + + + + + Gets whether this node is in a failed state. + + + + + Gets whether this node is possibly in a failed state. + Possibly here means the node we're getting status from can't communicate with it, but doesn't mean it's down for sure. + + + + + Gets whether this is the node which responded to the CLUSTER NODES request. + + + + + Gets whether this node is a replica. + + + + + Gets whether this node is a replica. + + + + + Gets whether this node is flagged as noaddr. + + + + + Gets the node's connection status. + + + + + Gets the unique node-id of the current node. + + + + + Gets the parent node of the current node. + + + + + Gets the unique node-id of the parent of the current node. + + + + + The configuration as reported by the server. + + + + + The slots owned by this server. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates + whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + The to compare to. + + + + See . + + The to compare to. + + + + Indicates whether two instances are equivalent. + + The to compare to. + + + + + + + A string summary of this cluster configuration. + + + + + Represents the commands mapped on a particular configuration. + + + + + The default commands specified by redis. + + + + + The commands available to twemproxy. + + + + + + The commands available to envoyproxy. + + + + + + The commands available to SSDB. + + + + + + The commands available to Sentinel. + + + + + + Create a new , customizing some commands. + + The commands to override. + + + + Creates a by specifying which commands are available or unavailable. + + The commands to specify. + Whether the commands are available or excluded. + + + + See . + + + + + Represents the information known about long-running commands. + + + + + The array composing the arguments of the command. + + + + + The amount of time needed for its execution. + + + + + The time at which the logged command was processed. + + + + + A unique progressive identifier for every slow log entry. + + The entry's unique ID can be used in order to avoid processing slow log entries multiple times (for instance you may have a script sending you an email alert for every new slow log entry). The ID is never reset in the course of the Redis server execution, only a server restart will reset it. + + + + Deduces a link to the redis documentation about the specified command. + + + + + Describes a precondition used in a redis transaction. + + + + + Enforces that the given hash-field must have the specified value. + + The key of the hash to check. + The field in the hash to check. + The value that the hash field must match. + + + + Enforces that the given hash-field must exist. + + The key of the hash to check. + The field in the hash to check. + + + + Enforces that the given hash-field must not have the specified value. + + The key of the hash to check. + The field in the hash to check. + The value that the hash field must not match. + + + + Enforces that the given hash-field must not exist. + + The key of the hash to check. + The field in the hash that must not exist. + + + + Enforces that the given key must exist. + + The key that must exist. + + + + Enforces that the given key must not exist. + + The key that must not exist. + + + + Enforces that the given list index must have the specified value. + + The key of the list to check. + The position in the list to check. + The value of the list position that must match. + + + + Enforces that the given list index must exist. + + The key of the list to check. + The position in the list that must exist. + + + + Enforces that the given list index must not have the specified value. + + The key of the list to check. + The position in the list to check. + The value of the list position must not match. + + + + Enforces that the given list index must not exist. + + The key of the list to check. + The position in the list that must not exist. + + + + Enforces that the given key must have the specified value. + + The key to check. + The value that must match. + + + + Enforces that the given key must not have the specified value. + + The key to check. + The value that must not match. + + + + Enforces that the given hash length is a certain value. + + The key of the hash to check. + The length the hash must have. + + + + Enforces that the given hash length is less than a certain value. + + The key of the hash to check. + The length the hash must be less than. + + + + Enforces that the given hash length is greater than a certain value. + + The key of the hash to check. + The length the hash must be greater than. + + + + Enforces that the given string length is a certain value. + + The key of the string to check. + The length the string must be equal to. + + + + Enforces that the given string length is less than a certain value. + + The key of the string to check. + The length the string must be less than. + + + + Enforces that the given string length is greater than a certain value. + + The key of the string to check. + The length the string must be greater than. + + + + Enforces that the given list length is a certain value. + + The key of the list to check. + The length the list must be equal to. + + + + Enforces that the given list length is less than a certain value. + + The key of the list to check. + The length the list must be less than. + + + + Enforces that the given list length is greater than a certain value. + + The key of the list to check. + The length the list must be greater than. + + + + Enforces that the given set cardinality is a certain value. + + The key of the set to check. + The length the set must be equal to. + + + + Enforces that the given set cardinality is less than a certain value. + + The key of the set to check. + The length the set must be less than. + + + + Enforces that the given set cardinality is greater than a certain value. + + The key of the set to check. + The length the set must be greater than. + + + + Enforces that the given set contains a certain member. + + The key of the set to check. + The member the set must contain. + + + + Enforces that the given set does not contain a certain member. + + The key of the set to check. + The member the set must not contain. + + + + Enforces that the given sorted set cardinality is a certain value. + + The key of the sorted set to check. + The length the sorted set must be equal to. + + + + Enforces that the given sorted set contains a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set cardinality is less than a certain value. + + The key of the sorted set to check. + The length the sorted set must be less than. + + + + Enforces that the given sorted set contains less than a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set cardinality is greater than a certain value. + + The key of the sorted set to check. + The length the sorted set must be greater than. + + + + Enforces that the given sorted set contains more than a certain number of members with scores in the given range. + + The key of the sorted set to check. + The length the sorted set must be equal to. + Minimum inclusive score. + Maximum inclusive score. + + + + Enforces that the given sorted set contains a certain member. + + The key of the sorted set to check. + The member the sorted set must contain. + + + + Enforces that the given sorted set does not contain a certain member. + + The key of the sorted set to check. + The member the sorted set must not contain. + + + + Enforces that the given sorted set member must have the specified score. + + The key of the sorted set to check. + The member the sorted set to check. + The score that member must have. + + + + Enforces that the given sorted set member must not have the specified score. + + The key of the sorted set to check. + The member the sorted set to check. + The score that member must not have. + + + + Enforces that the given sorted set must have the given score. + + The key of the sorted set to check. + The score that the sorted set must have. + + + + Enforces that the given sorted set must not have the given score. + + The key of the sorted set to check. + The score that the sorted set must not have. + + + + Enforces that the given sorted set must have the specified count of the given score. + + The key of the sorted set to check. + The score that the sorted set must have. + The number of members which sorted set must have. + + + + Enforces that the given sorted set must not have the specified count of the given score. + + The key of the sorted set to check. + The score that the sorted set must not have. + The number of members which sorted set must not have. + + + + Enforces that the given stream length is a certain value. + + The key of the stream to check. + The length the stream must have. + + + + Enforces that the given stream length is less than a certain value. + + The key of the stream to check. + The length the stream must be less than. + + + + Enforces that the given stream length is greater than a certain value. + + The key of the stream to check. + The length the stream must be greater than. + + + + Indicates the status of a condition as part of a transaction. + + + + + Indicates whether the condition was satisfied. + + + + + The options relevant to a set of redis connections. + + + Some options are not observed by a after initial creation: + + + + + + + + + + + A LocalCertificateSelectionCallback delegate responsible for selecting the certificate used for authentication; note + that this cannot be specified in the configuration-string. + + + + + A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party; note + that this cannot be specified in the configuration-string. + + + + + The default (not explicitly configured) options for this connection, fetched based on our parsed endpoints. + + + + + Allows modification of a between creation and connection. + Passed in is the endpoint we're connecting to, which type of connection it is, and the socket itself. + For example, a specific local IP endpoint could be bound, linger time altered, etc. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException. + + + + + Indicates whether admin operations should be allowed. + + + + + Specifies the time in milliseconds that the system should allow for asynchronous operations (defaults to SyncTimeout). + + + + + Indicates whether the connection should be encrypted. + + + + + Gets or sets whether the library should identify itself by library-name/version when possible. + + + + + Gets or sets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. + Defaults to "SE.Redis". + + If the value is null, empty or whitespace, then the value from the options-provider is used; + to disable the library name feature, use instead. + + + + Automatically encodes and decodes channels. + + + + + A Boolean value that specifies whether the certificate revocation list is checked during authentication. + + + + + A Boolean value that specifies whether to use per-command validation of strict protocol validity. + This sends an additional command after EVERY command which incurs measurable overhead. + + + The regular RESP protocol does not include correlation identifiers between requests and responses; in exceptional + scenarios, protocol desynchronization can occur, which may not be noticed immediately; this option adds additional data + to ensure that this cannot occur, at the cost of some (small) additional bandwidth usage. + + + + + Create a certificate validation check that checks against the supplied issuer even when not known by the machine. + + The file system path to find the certificate at. + + + + Create a certificate validation check that checks against the supplied issuer even when not known by the machine. + + The issuer to trust. + + + + The client name to use for all connections. + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly. + + + + + The command-map associated with this configuration. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Gets the command map for a given server type, since some supersede settings when connecting. + + + + + Channel to use for broadcasting and listening for configuration change notification. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Specifies the time in milliseconds that should be allowed for connection (defaults to 5 seconds unless SyncTimeout is higher). + + + + + Specifies the default database to be used when calling without any parameters. + + + + + The server version to assume. + + + + + The endpoints defined for this configuration. + + + This is memoized when a connects. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. + This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection. + + + + + Controls how often the connection heartbeats. A heartbeat includes: + - Evaluating if any messages have timed out. + - Evaluating connection status (checking for failures). + - Sending a server message to keep the connection alive if needed. + + + This defaults to 1000 milliseconds and should not be changed for most use cases. + If for example you want to evaluate whether commands have violated the at a lower fidelity + than 1000 milliseconds, you could lower this value. + Be aware setting this very low incurs additional overhead of evaluating the above more often. + + + + + Use ThreadPriority.AboveNormal for SocketManager reader and writer threads (true by default). + If , will be used. + + + + + Whether exceptions include identifiable details (key names, additional .Data annotations). + + + + + Whether exceptions include performance counter details. + + + CPU usage, etc - note that this can be problematic on some platforms. + + + + + Specifies the time in seconds at which connections should be pinged to ensure validity. + -1 Defaults to 60 Seconds. + + + + + The to get loggers for connection events. + Note: changes here only affect s created after. + + + + + The username to use to authenticate with the server. + + + + + The password to use to authenticate with the server. + + + + + Specifies whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Type of proxy to use (if any); for example . + + + + + The retry policy to be used for connection reconnects. + + + + + The backlog policy to be used for commands when a connection is unhealthy. + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure. + + + + + Specifies the time in milliseconds that the system should allow for responses before concluding that the socket is unhealthy. + + + + + The service name used to resolve a service via sentinel. + + + + + Gets or sets the SocketManager instance to be used with these options. + If this is null a shared cross-multiplexer is used. + + + This is only used when a is created. + Modifying it afterwards will have no effect on already-created multiplexers. + + + + + Indicates whether the connection should be encrypted. + + + + + The target-host to use when validating SSL certificate; setting a value here enables SSL mode. + + + + + Configures which SSL/TLS protocols should be allowed. If not set, defaults are chosen by the .NET framework. + + + + + Specifies the time in milliseconds that the system should allow for synchronous operations (defaults to 5 seconds). + + + + + Tie-breaker used to choose between primaries (must match the endpoint exactly). + + + + + The size of the output buffer to use. + + + + + Check configuration every n seconds (every minute by default). + + + + + Parse the configuration from a comma-delimited configuration string. + + The configuration string to parse. + is . + is empty. + + + + Parse the configuration from a comma-delimited configuration string. + + The configuration string to parse. + Whether to ignore unknown elements in . + is . + is empty. + + + + Create a copy of the configuration. + + + + + Apply settings to configure this instance of , e.g. for a specific scenario. + + An action that will update the properties of this instance. + This instance, with any changes made. + + + + Resolve the default port for any endpoints that did not have a port explicitly specified. + + + + + Gets a tie breaker if we both have one set, and should be using one. + + + + + Returns the effective configuration string for this configuration, including Redis credentials. + + + Includes password to allow generation of configuration strings used for connecting multiplexer. + + + + + Returns the effective configuration string for this configuration + with the option to include or exclude the password from the string. + + Whether to include the password. + + + + Allows custom transport implementations, such as http-tunneling via a proxy. + + + + + Specify the redis protocol type. + + + + + Options provider for Azure environments. + + + + + Allow connecting after startup, in the cases where remote cache isn't ready or is overloaded. + + + + + The minimum version of Redis in Azure is 6, so use the widest set of available commands when connecting. + + + + + Lists of domains known to be Azure Redis, so we can light up some helpful functionality + for minimizing downtime during maintenance events and such. + + + + + + + + + + + + + + A defaults providers for . + This providers defaults not explicitly specified and is present to be inherited by environments that want to provide + better defaults for their use case, e.g. in a single wrapper library used many places. + + + Why not just have a default instance? Good question! + Since we null coalesce down to the defaults, there's an inherent pit-of-failure with that approach of . + If you forget anything or if someone creates a provider nulling these out...kaboom. + + + + + The known providers to match against (built into the library) - the default set. + If none of these match, is used. + + + + + The current list of providers to match (potentially modified from defaults via . + + + + + Adds a provider to match endpoints against. The last provider added has the highest priority. + If you want your provider to match everything, implement as return true;. + + The provider to add. + + + + Whether this options provider matches a given endpoint, for automatically selecting a provider based on what's being connected to. + + + + + Gets a provider for the given endpoints, falling back to if nothing more specific is found. + + + + + Gets a provider for a given endpoints, falling back to if nothing more specific is found. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException. + + + + + Indicates whether admin operations should be allowed. + + + + + The backlog policy to be used for commands when a connection is unhealthy. + + + + + A Boolean value that specifies whether the certificate revocation list is checked during authentication. + + + + + A Boolean value that specifies whether to use per-command validation of strict protocol validity. + This sends an additional command after EVERY command which incurs measurable overhead. + + + The regular RESP protocol does not include correlation identifiers between requests and responses; in exceptional + scenarios, protocol desynchronization can occur, which may not be noticed immediately; this option adds additional data + to ensure that this cannot occur, at the cost of some (small) additional bandwidth usage. + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly. + + + + + Specifies the time that should be allowed for connection. + Falls back to Max(5000, SyncTimeout) if null. + + + + + The command-map associated with this configuration. + + + + + Channel to use for broadcasting and listening for configuration change notification. + + + + + The server version to assume. + + + + + Controls how often the connection heartbeats. A heartbeat includes: + - Evaluating if any messages have timed out. + - Evaluating connection status (checking for failures). + - Sending a server message to keep the connection alive if needed. + + Be aware setting this very low incurs additional overhead of evaluating the above more often. + + + + Whether to enable ECHO checks on every heartbeat to ensure network stream consistency. + This is a rare measure to react to any potential network traffic drops ASAP, terminating the connection. + + + + + Whether exceptions include identifiable details (key names, additional .Data annotations). + + + + + Whether exceptions include performance counter details. + + + CPU usage, etc - note that this can be problematic on some platforms. + + + + + Specifies the time interval at which connections should be pinged to ensure validity. + + + + + The to get loggers for connection events. + Note: changes here only affect s created after. + + + + + Type of proxy to use (if any); for example . + + + + + The retry policy to be used for connection reconnects. + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS when attempting to re-connect after a connection failure. + + + + + Specifies the time that the system should allow for synchronous operations. + + + + + Tie-breaker used to choose between primaries (must match the endpoint exactly). + + + + + Check configuration every n interval. + + + + + The username to use to authenticate with the server. + + + + + The password to use to authenticate with the server. + + + + + The default client name for a connection, with the library version appended. + + + + + Gets the default client name for a connection. + + + + + Gets the library name to use for CLIENT SETINFO lib-name calls to Redis during handshake. + Defaults to "SE.Redis". + + + + + String version of the StackExchange.Redis library, for use in any options. + + + + + Name of the machine we're running on, for use in any options. + + + + + Whether to identify the client by library name/version when possible. + + + + + Tries to get the RoleInstance Id if Microsoft.WindowsAzure.ServiceRuntime is loaded. + In case of any failure, swallows the exception and returns null. + + + Azure, in the default provider? Yes, to maintain existing compatibility/convenience. + Source != destination here. + + + + + The action to perform, if any, immediately after an initial connection completes. + + The multiplexer that just connected. + The logger for the connection, to emit to the connection output log. + + + + Gets the default SSL "enabled or not" based on a set of endpoints. + Note: this setting then applies for *all* endpoints. + + The configured endpoints to determine SSL usage from (e.g. from the port). + Whether to enable SSL for connections (unless explicitly overridden in a direct set). + + + + Gets the SSL Host to check for when connecting to endpoints (customizable in case of internal certificate shenanigans. + + The configured endpoints to determine SSL host from (e.g. from the port). + The common host, if any, detected from the endpoint collection. + + + + Captures redis traffic; intended for debug use. + + + + + Replay the RESP messages for a pair of streams, invoking a callback per operation. + + + + + Replay the RESP messages all the streams in a folder, invoking a callback per operation. + + The directory of captured files to replay. + Operation to perform per replayed message pair. + + + + Validate a RESP stream and return the number of top-level RESP fragments. + + The path of a single file to validate, or a directory of captured files to validate. + + + + Validate a RESP stream and return the number of top-level RESP fragments. + + + + + Create a new instance of a . + + + + + Configures the provided options to perform file-based logging to a directory; + files will be sequential per stream starting from zero, and will blindly overwrite existing files. + + + + + + + + Perform logging on the provided stream. + + + + + + + + + + + Get a typical text representation of a redis command. + + + + + Get a typical text representation of a redis response. + + + + + Allows interception of the transport used to communicate with Redis. + + + + + Gets the underlying socket endpoint to use when connecting to a logical endpoint. + + null should be returned if a socket is not required for this endpoint. + + + + Allows modification of a between creation and connection. + Passed in is the endpoint we're connecting to, which type of connection it is, and the socket itself. + For example, a specific local IP endpoint could be bound, linger time altered, etc. + + + + + Invoked on a connected endpoint before server authentication and other handshakes occur, allowing pre-redis handshakes. By returning a custom , + the entire data flow can be intercepted, providing entire custom transports. + + + + + Create a tunnel via an HTTP proxy server. + + The endpoint to use as an HTTP proxy server. + + + + Illustrates the counters associated with an individual connection. + + + + + The number of operations that have been completed asynchronously. + + + + + The number of operations that have been completed synchronously. + + + + + The type of this connection. + + + + + The number of operations that failed to complete asynchronously. + + + + + Indicates if there are any pending items or failures on this connection. + + + + + Indicates the total number of messages dispatched to a non-preferred endpoint, for example sent + to a primary when the caller stated a preference of replica. + + + + + The number of operations performed on this connection. + + + + + Operations that have been requested, but which have not yet been sent to the server. + + + + + Operations for which the response has been processed, but which are awaiting asynchronous completion. + + + + + Operations that have been sent to the server, but which are awaiting a response. + + + + + The number of sockets used by this logical connection (total, including reconnects). + + + + + The number of subscriptions (with and without patterns) currently held against this connection. + + + + + Indicates the total number of outstanding items against this connection. + + + + + Indicates the total number of writers items against this connection. + + + + + See . + + + + + Contains information about a server connection failure. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + Redis connection type. + Redis connection failure type. + The exception that occurred. + Connection physical name. + + + + Gets the connection-type of the failing connection. + + + + + Gets the failing server-endpoint. + + + + + Gets the exception if available (this can be null). + + + + + The type of failure. + + + + + Returns the physical name of the connection. + + + + + Represents an inter-related group of connections to redis servers. + A reference to this should be held and re-used. + + + + + + No longer used. + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Tracks overall connection multiplexer counts. + + + + + Tracks overall connection multiplexer counts. + + + + + Tracks overall connection multiplexer counts. + + + + + + + + + + + Gets the synchronous timeout associated with the connections. + + + + + Gets the asynchronous timeout associated with the connections. + + + + + Gets the client-name that will be used on all new connections. + + + We null coalesce here instead of in Options so that we don't populate it everywhere (e.g. .ToString()), given it's a default. + + + + + Gets the configuration of the connection. + + + + + Indicates whether any servers are connected. + + + + + Indicates whether any servers are currently trying to connect. + + + + + Get summary statistics associated with all servers in this multiplexer. + + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type contains in the task to wait on. + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + The to log to. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + Action to further modify the parsed configuration options. + The to log to. + + + + Creates a new instance. + + The configuration options to use for this multiplexer. + The to log to. + Note: For Sentinel, do not specify a - this is handled automatically. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + The to log to. + + + + Creates a new instance. + + The string configuration to use for this multiplexer. + Action to further modify the parsed configuration options. + The to log to. + + + + Creates a new instance. + + The configuration options to use for this multiplexer. + The to log to. + Note: For Sentinel, do not specify a - this is handled automatically. + + + + Obtain a pub/sub subscriber connection to the specified server. + + The async state object to pass to the created . + + + + Applies common DB number defaults and rules. + + + + + Obtain an interactive connection to a database inside redis. + + The ID to get a database for. + The async state to pass into the resulting . + + + + Compute the hash-slot of a specified key. + + The key to get a hash slot ID for. + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The port for to get a server for. + The async state to pass into the resulting . + + + + Obtain a configuration API for an individual server. + + The "host:port" string to get a server for. + The async state to pass into the resulting . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The port for to get a server for. + + + + Obtain a configuration API for an individual server. + + The endpoint to get a server for. + The async state to pass into the resulting . + + + + Obtain configuration APIs for all servers in this multiplexer. + + + + + Get the hash-slot associated with a given key, if applicable. + This can be useful for grouping operations. + + The to determine the hash slot for. + + + + The number of operations that have been performed on all connections. + + + + + Reconfigure the current connections based on the existing configuration. + + The to log to. + + + + Reconfigure the current connections based on the existing configuration. + + The to log to. + + + + Provides a text overview of the status of all connections. + + + + + Provides a text overview of the status of all connections. + + The to log to. + + + + Triggers a reconfigure of this multiplexer. + This re-assessment of all server endpoints to get the current topology and adjust, the same as if we had first connected. + + + + + Gets all endpoints defined on the multiplexer. + + Whether to get only the endpoints specified explicitly in the config. + + + + Gets the client name for this multiplexer. + + + + + Sends request to all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending). + + + + Sends request to all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher). + + + + Release all resources associated with this object. + + + + + Release all resources associated with this object. + + + + + Close all connections and release all resources associated with this object. + + Whether to allow all in-queue commands to complete first. + + + + Close all connections and release all resources associated with this object. + + Whether to allow all in-queue commands to complete first. + + + + Invoked by the garbage collector. + + + + + For debugging: when not enabled, servers cannot connect. + + + + + For debugging: when not enabled, end-connect is silently ignored (to simulate a long-running connect). + + + + + Raised whenever a physical connection fails. + + + + + Raised whenever an internal error occurs (this is primarily for debugging). + + + + + Raised whenever a physical connection is established. + + + + + Raised when configuration changes are detected. + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast. + This usually means primary/replica changes. + + + + + Raised when server indicates a maintenance event is going to happen. + + + + + Raised when a hash-slot has been relocated. + + + + + Raised when a server replied with an error message. + + + + + Write the configuration of all servers to an output stream. + + The destination stream to write the export to. + The options to use for this export. + + + + Enables or disables a feature flag. + This should only be used under support guidance, and should not be rapidly toggled. + + + + + Returns the state of a feature flag. + This should only be used under support guidance. + + + + + + + + Register a callback to provide an on-demand ambient session provider based on the + calling context; the implementing code is responsible for reliably resolving the same provider + based on ambient context, or returning null to not profile. + + The session provider to register. + + + + Initializes the connection as a Sentinel connection and adds the necessary event handlers to track changes to the managed primaries. + + The to log to, if any. + + + + Create a new instance that connects to a Sentinel server. + + The string configuration to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The string configuration to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a Sentinel server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a sentinel server, discovers the current primary server + for the specified in the config and returns a managed connection to the current primary server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Create a new instance that connects to a sentinel server, discovers the current primary server + for the specified in the config and returns a managed connection to the current primary server. + + The configuration options to use for this multiplexer. + The to log to. + + + + Returns a managed connection to the primary server indicated by the in the config. + + The configuration to be used when connecting to the primary. + The writer to log to, if any. + + + + Switches the SentinelMasterConnection over to a new primary. + + The endpoint responsible for the switch. + The connection that should be switched over to a new primary endpoint. + The writer to log to, if any. + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time). + Set to a negative value to disable this feature. + + + + + Obtains the log of unusual busy patterns. + + + + + Resets the log of unusual busy patterns. + + + + + Gets the subscriber counts for a channel. + + if there's a subscription registered at all. + + + + Gets which server, if any, there's a registered subscription to for this channel. + + + This may be null if there is a subscription, but we don't have a connected server at the moment. + This behavior is fine but IsConnected checks, but is a subtle difference in . + + + + + Handler that executes whenever a message comes in, this doles out messages to any registered handlers. + + + + + Updates all subscriptions re-evaluating their state. + This clears the current server if it's not connected, prepping them to reconnect. + + + + + Ensures all subscriptions are connected to a server, if possible. + + The count of subscriptions attempting to reconnect (same as the count currently not connected). + + + + This is the record of a single subscription to a redis server. + It's the singular channel (which may or may not be a pattern), to one or more handlers. + We subscriber to a redis server once (for all messages) and execute 1-many handlers when a message arrives. + + + + + Whether the we have is connected. + Since we clear on a disconnect, this should stay correct. + + + + + Gets the configured (P)SUBSCRIBE or (P)UNSUBSCRIBE for an action. + + + + + Evaluates state and if we're not currently connected, clears the server reference. + + + + + Provides the ability to iterate over a cursor-based sequence of redis data, synchronously or asynchronously. + + The type of the data in the cursor. + + + + Gets an enumerator for the sequence. + + + + + Gets an enumerator for the sequence. + + + + + Provides the ability to iterate over a cursor-based sequence of redis data, synchronously or asynchronously. + + + + + Gets the current value of the enumerator. + + + + + Release all resources associated with this enumerator. + + + + + Release all resources associated with this enumerator. + + + + + Try to move to the next item in the sequence. + + + + + Try to move to the next item in the sequence. + + + + + Reset the enumerator. + + + + + The cursor position. + + + This may fail on cluster-proxy - I'm OK with this for now. + + + + + A list of endpoints. + + + + + Create a new . + + + + + Create a new . + + The endpoints to add to the collection. + + + + Format an . + + The endpoint to get a string representation for. + + + + Attempt to parse a string into an . + + The endpoint string to parse. + + + + Adds a new endpoint to the list. + + The host:port string to add an endpoint for to the collection. + + + + Adds a new endpoint to the list. + + The host to add. + The port for to add. + + + + Adds a new endpoint to the list. + + The host to add. + The port for to add. + + + + Try adding a new endpoint to the list. + + The endpoint to add. + if the endpoint was added, if not. + + + + See . + + The index to add into the collection at. + The item to insert at . + + + + See . + + The index to replace an endpoint at. + The item to replace the existing endpoint at . + + + + + + + Event information related to redis endpoints. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + + + + The endpoint involved in this event (this can be null). + + + + + Specifies how elements should be aggregated when combining sorted sets. + + + + + The values of the combined elements are added. + + + + + The least value of the combined elements is used. + + + + + The greatest value of the combined elements is used. + + + + + Bitwise operators + + + + + And + + + + + Or + + + + + Xor + + + + + Not + + + + + The client flags can be a combination of: + + + A + Connection to be closed ASAP. + + + b + The client is waiting in a blocking operation. + + + c + Connection to be closed after writing entire reply. + + + d + A watched keys has been modified - EXEC will fail. + + + i + The client is waiting for a VM I/O (deprecated). + + + M + The client is a primary. + + + N + No specific flag set. + + + O + The client is a replica in MONITOR mode. + + + P + The client is a Pub/Sub subscriber. + + + r + The client is in readonly mode against a cluster node. + + + S + The client is a normal replica server. + + + u + The client is unblocked. + + + U + The client is unblocked. + + + x + The client is in a MULTI/EXEC context. + + + t + The client enabled keys tracking in order to perform client side caching. + + + R + The client tracking target client is invalid. + + + B + The client enabled broadcast tracking mode. + + + + + + + + No specific flag set. + + + + + The client is a replica in MONITOR mode. + + + + + The client is a replica in MONITOR mode. + + + + + The client is a normal replica server. + + + + + The client is a normal replica server. + + + + + The client is a primary. + + + + + The client is in a MULTI/EXEC context. + + + + + The client is waiting in a blocking operation. + + + + + A watched keys has been modified - EXEC will fail. + + + + + Connection to be closed after writing entire reply. + + + + + The client is unblocked. + + + + + Connection to be closed ASAP. + + + + + The client is a Pub/Sub subscriber. + + + + + The client is in readonly mode against a cluster node. + + + + + The client is connected via a Unix domain socket. + + + + + The client enabled keys tracking in order to perform client side caching. + + + + + The client tracking target client is invalid. + + + + + The client enabled broadcast tracking mode. + + + + + The class of the connection. + + + + + Regular connections, including MONITOR connections. + + + + + Replication connections. + + + + + Replication connections. + + + + + Subscription connections. + + + + + Behaviour markers associated with a given command. + + + + + Default behaviour. + + + + + From 2.0, this flag is not used. + + + + + The caller is not interested in the result; the caller will immediately receive a default-value + of the expected return type (this value is not indicative of anything at the server). + + + + + This operation should be performed on the primary if it is available, but read operations may + be performed on a replica if no primary is available. This is the default option. + + + + + This operation should only be performed on the primary. + + + + + This operation should be performed on the replica if it is available, but will be performed on + a primary if no replicas are available. Suitable for read operations only. + + + + + This operation should be performed on the replica if it is available, but will be performed on + a primary if no replicas are available. Suitable for read operations only. + + + + + This operation should only be performed on a replica. Suitable for read operations only. + + + + + This operation should only be performed on a replica. Suitable for read operations only. + + + + + Indicates that this operation should not be forwarded to other servers as a result of an ASK or MOVED response. + + + + + Indicates that script-related operations should use EVAL, not SCRIPT LOAD + EVALSHA. + + + + + Track status of a command while communicating with Redis. + + + + + Command status unknown. + + + + + ConnectionMultiplexer has not yet started writing this command to Redis. + + + + + Command has been sent to Redis. + + + + + Command is in the backlog, waiting to be processed and written to Redis. + + + + + The known types of connection failure. + + + + + This event is not a failure. + + + + + No viable connections were available for this operation. + + + + + The socket for this connection failed. + + + + + Either SSL Stream or Redis authentication failed. + + + + + An unexpected response was received from the server. + + + + + An unknown internal error occurred. + + + + + The socket was closed. + + + + + The socket was closed. + + + + + The database is loading and is not available for use. + + + + + It has not been possible to create an initial connection to the redis server(s). + + + + + High-integrity mode was enabled, and a failure was detected. + + + + + The type of a connection. + + + + + Not connection-type related. + + + + + An interactive connection handles request/response commands for accessing data on demand. + + + + + A subscriber connection receives unsolicited messages from the server as pub/sub events occur. + + + + + When performing a range query, by default the start / stop limits are inclusive; + however, both can also be specified separately as exclusive. + + + + + Both start and stop are inclusive. + + + + + Start is exclusive, stop is inclusive. + + + + + Start is inclusive, stop is exclusive. + + + + + Both start and stop are exclusive. + + + + + Specifies the result of operation to set expire time. + + + + + Field deleted because the specified expiration time is due. + + + + + Expiration time/duration updated successfully. + + + + + Expiration not set because of a specified NX | XX | GT | LT condition not met. + + + + + No such field. + + + + + Specifies when to set the expiry for a key. + + + + + Set expiry whether or not there is an existing expiry. + + + + + Set expiry only when the new expiry is greater than current one. + + + + + Set expiry only when the key has an existing expiry. + + + + + Set expiry only when the key has no expiry. + + + + + Set expiry only when the new expiry is less than current one. + + + + + Which settings to export. + + + + + No options. + + + + + The output of INFO. + + + + + The output of CONFIG GET *. + + + + + The output of CLIENT LIST. + + + + + The output of CLUSTER NODES. + + + + + Everything available. + + + + + Units associated with Geo Commands. + + + + + Meters. + + + + + Kilometers. + + + + + Miles. + + + + + Feet. + + + + + Specifies what side of the list to refer to. + + + + + The head of the list. + + + + + The tail of the list. + + + + + Additional options for the MIGRATE command. + + + + + No options specified. + + + + + Do not remove the key from the local instance. + + + + + Replace existing key on the remote instance. + + + + + The direction in which to sequence elements. + + + + + Ordered from low values to high values. + + + + + Ordered from high values to low values. + + + + + Specifies the result of operation to remove the expire time. + + + + + Expiration removed successfully. + + + + + Expiration not removed because of a specified NX | XX | GT | LT condition not met. + + + + + No such field. + + + + + Specifies the proxy that is being used to communicate to redis. + + + + + Direct communication to the redis server(s). + + + + + Communication via twemproxy. + + + + + Communication via envoyproxy. + + + + + Whether a proxy supports databases (e.g. database > 0). + + + + + Whether a proxy supports pub/sub. + + + + + Whether a proxy supports the ConnectionMultiplexer.GetServer. + + + + + Gets whether a given command can be issued only to a primary, or if any server is eligible. + + The to check. + if the command is primary-only, otherwise. + + + + The intrinsic data-types supported by redis. + + + + + + The specified key does not exist. + + + + + Strings are the most basic kind of Redis value. Redis Strings are binary safe, this means that + a Redis string can contain any kind of data, for instance a JPEG image or a serialized Ruby object. + A String value can be at max 512 Megabytes in length. + + + + + + Redis Lists are simply lists of strings, sorted by insertion order. + It is possible to add elements to a Redis List pushing new elements on the head (on the left) or + on the tail (on the right) of the list. + + + + + + Redis Sets are an unordered collection of Strings. It is possible to add, remove, and test for + existence of members in O(1) (constant time regardless of the number of elements contained inside the Set). + Redis Sets have the desirable property of not allowing repeated members. + Adding the same element multiple times will result in a set having a single copy of this element. + Practically speaking this means that adding a member does not require a check if exists then add operation. + + + + + + Redis Sorted Sets are, similarly to Redis Sets, non repeating collections of Strings. + The difference is that every member of a Sorted Set is associated with score, that is used + in order to take the sorted set ordered, from the smallest to the greatest score. + While members are unique, scores may be repeated. + + + + + + Redis Hashes are maps between string fields and string values, so they are the perfect data type + to represent objects (e.g. A User with a number of fields like name, surname, age, and so forth). + + + + + + A Redis Stream is a data structure which models the behavior of an append only log but it has more + advanced features for manipulating the data contained within the stream. Each entry in a + stream contains a unique message ID and a list of name/value pairs containing the entry's data. + + + + + + The data-type was not recognised by the client library. + + + + + Additional operations to perform when making a server a primary. + + + + + No additional operations. + + + + + Set the tie-breaker key on all available primaries, to specify this server. + + + + + Broadcast to the pub-sub channel to listening clients to reconfigure themselves. + + + + + Issue a REPLICAOF to all other known nodes, making this primary of all. + + + + + Issue a REPLICAOF to all other known nodes, making this primary of all. + + + + + All additional operations. + + + + + The underlying result type as defined by Redis. + + + + + No value was received. + + + + + Basic strings typically represent status results such as "OK". + + + + + Error strings represent invalid operation results from the server. + + + + + Integers are returned for count operations and some integer-based increment operations. + + + + + Bulk strings represent typical user content values. + + + + + Array of results (former Multi-bulk). + + + + + Multi-bulk replies represent complex results such as arrays. + + + + + A single null value replacing RESP v2 blob and multi-bulk nulls. + + + + + True or false. + + + + + A floating point number. + + + + + A large number non representable by the type. + + + + + Binary safe error code and message. + + + + + A binary safe string that should be displayed to humans without any escaping or filtering. For instance the output of LATENCY DOCTOR in Redis. + + + + + An unordered collection of key-value pairs. Keys and values can be any other RESP3 type. + + + + + An unordered collection of N other types. + + + + + Like the type, but the client should keep reading the reply ignoring the attribute type, and return it to the client as additional information. + + + + + Out of band data. The format is like the type, but the client should just check the first string element, + stating the type of the out of band data, a call a callback if there is one registered for this specific type of push information. + Push types are not related to replies, since they are information that the server may push at any time in the connection, + so the client should keep reading if it is reading the reply of a command. + + + + + + If an IProfiledCommand is a retransmission of a previous command, this enum + is used to indicate what prompted the retransmission. + + + This can be used to distinguish between transient causes (moving hashslots, joining nodes, etc.) + and incorrect routing. + + + + + + No stated reason. + + + + + Issued to investigate which node owns a key. + + + + + A node has indicated that it does *not* own the given key. + + + + + The type of save operation to perform. + + + + + Instruct Redis to start an Append Only File rewrite process. + The rewrite will create a small optimized version of the current Append Only File. + + + + + + Save the DB in background. The OK code is immediately returned. + Redis forks, the parent continues to serve the clients, the child saves the DB on disk then exits. + A client my be able to check if the operation succeeded using the LASTSAVE command. + + + + + + Save the DB in foreground. + This is almost never a good thing to do, and could cause significant blocking. + Only do this if you know you need to save. + + + + + + Indicates the flavor of a particular redis server. + + + + + Classic redis-server server. + + + + + Monitoring/configuration redis-sentinel server. + + + + + Distributed redis-cluster server. + + + + + Distributed redis installation via twemproxy. + + + + + Redis cluster via envoyproxy. + + + + + Whether a server type can have only a single primary, meaning an election if multiple are found. + + + + + Whether a server type supports . + + + + + Describes an algebraic set operation that can be performed to combine multiple sets. + + + + + Returns the members of the set resulting from the union of all the given sets. + + + + + Returns the members of the set resulting from the intersection of all the given sets. + + + + + Returns the members of the set resulting from the difference between the first set and all the successive sets. + + + + + Defines the persistence behaviour of the server during shutdown. + + + + + The data is persisted if save points are configured. + + + + + The data is NOT persisted even if save points are configured. + + + + + The data is persisted even if save points are NOT configured. + + + + + Enum to manage ordering in sorted sets. + + + + + Bases ordering off of the rank in the sorted set. This means that your start and stop inside the sorted set will be some offset into the set. + + + + + Bases ordering off of the score in the sorted set. This means your start/stop will be some number which is the score for each member in the sorted set. + + + + + Bases ordering off of lexicographical order, this is only appropriate in an instance where all the members of your sorted set are given the same score. + + + + + Indicates when this operation should be performed (only some variations are legal in a given context). + + + + + The operation won't be prevented. + + + + + The operation should only occur when there is an existing value. + + + + + The operation should only occur when the new score is greater than the current score. + + + + + The operation should only occur when the new score is less than the current score. + + + + + The operation should only occur when there is not an existing value. + + + + + Specifies how to compare elements for sorting. + + + + + Elements are interpreted as a double-precision floating point number and sorted numerically. + + + + + Elements are sorted using their alphabetic form + (Redis is UTF-8 aware as long as the !LC_COLLATE environment variable is set at the server). + + + + + Indicates if we index into a string based on bits or bytes. + + + + + Indicates the index is the number of bytes into a string. + + + + + Indicates the index is the number of bits into a string. + + + + + Indicates when this operation should be performed (only some variations are legal in a given context). + + + + + The operation should occur whether or not there is an existing value. + + + + + The operation should only occur when there is an existing value. + + + + + The operation should only occur when there is not an existing value. + + + + + Indicates that a command was illegal and was not sent to the server. + + + + + Creates a new . + + The message for the exception. + + + + Creates a new . + + The message for the exception. + The inner exception. + + + + Indicates the time allotted for a command or operation has expired. + + + + + Creates a new . + + The message for the exception. + The command status, as of when the timeout happened. + + + + status of the command while communicating with Redis. + + + + + Serialization implementation; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates a connection fault when communicating with redis. + + + + + Creates a new . + + The type of connection failure. + The message for the exception. + + + + Creates a new . + + The type of connection failure. + The message for the exception. + The inner exception. + + + + Creates a new . + + The type of connection failure. + The message for the exception. + The inner exception. + The status of the command. + + + + The type of connection failure. + + + + + Status of the command while communicating with Redis. + + + + + Serialization implementation; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates an issue communicating with redis. + + + + + Creates a new . + + The message for the exception. + + + + Creates a new . + + The message for the exception. + The inner exception. + + + + Deserialization constructor; not intended for general usage. + + Serialization info. + Serialization context. + + + + Indicates an exception raised by a redis server. + + + + + Creates a new . + + The message for the exception. + + + + Represents a retry policy that performs retries, using a randomized exponential back off scheme to determine the interval between retries. + + + + + Initializes a new instance using the specified back off interval with default maxDeltaBackOffMilliseconds of 10 seconds. + + Time in milliseconds for the back-off interval between retries. + + + + Initializes a new instance using the specified back off interval. + + Time in milliseconds for the back-off interval between retries. + Time in milliseconds for the maximum value that the back-off interval can exponentially grow up to. + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state. + Total elapsed time in milliseconds since the last reconnect retry was made. + + + + Utility methods. + + + + + Create a dictionary from an array of HashEntry values. + + The entry to convert to a dictionary. + + + + Create a dictionary from an array of HashEntry values. + + The entry to convert to a dictionary. + + + + Create a dictionary from an array of SortedSetEntry values. + + The set entries to convert to a dictionary. + + + + Create a dictionary from an array of SortedSetEntry values. + + The set entries to convert to a dictionary. + + + + Create a dictionary from an array of key/value pairs. + + The pairs to convert to a dictionary. + + + + Create a dictionary from an array of key/value pairs. + + The pairs to convert to a dictionary. + + + + Create a dictionary from an array of string pairs. + + The pairs to convert to a dictionary. + + + + Create an array of RedisValues from an array of strings. + + The string array to convert to RedisValues. + + + + Create an array of strings from an array of values. + + The values to convert to an array. + + + + Represent a byte-Lease as a read-only Stream. + + The lease upon which to base the stream. + If true, disposing the stream also disposes the lease. + + + + Decode a byte-Lease as a String, optionally specifying the encoding (UTF-8 if omitted). + + The bytes to decode. + The encoding to use. + + + + Decode a byte-Lease as a String, optionally specifying the encoding (UTF-8 if omitted). + + The bytes to decode. + The encoding to use. + + + + + Adapted from IPEndPointParser in Microsoft.AspNetCore + Link: . + + + Copyright (c) .NET Foundation. All rights reserved. + Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + + + If Unix sockets are attempted but not supported. + + + + Contains information about individual hash-slot relocations. + + + + + The hash-slot that was relocated. + + + + + The old endpoint for this hash-slot (if known). + + + + + The new endpoint for this hash-slot (if known). + + + + + This constructor is only for testing purposes. + + The source of the event. + Hash slot. + Old endpoint. + New endpoint. + + + + Represents a block of operations that will be sent to the server together. + This can be useful to reduce packet fragmentation on slow connections - it + can improve the time to get *all* the operations processed, with the trade-off + of a slower time to get the *first* operation processed; this is usually + a good thing. Unless this batch is a transaction, there is no guarantee + that these operations will be processed either contiguously or atomically by the server. + + + + + Execute the batch operation, sending all queued commands to the server. + Note that this operation is neither synchronous nor truly asynchronous - it simply enqueues the buffered messages. + To check on completion, you should check the individual responses. + + + + + Represents the abstract multiplexer API. + + + + + Gets the client-name that will be used on all new connections. + + + + + Gets the configuration of the connection. + + + + + Gets the timeout associated with the connections. + + + + + The number of operations that have been performed on all connections. + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order. + + + + + Indicates whether any servers are connected. + + + + + Indicates whether any servers are connecting. + + + + + Should exceptions include identifiable details? (key names, additional annotations). + + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time. + Set to a negative value to disable this feature). + + + + + Register a callback to provide an on-demand ambient session provider based on the calling context. + The implementing code is responsible for reliably resolving the same provider + based on ambient context, or returning null to not profile. + + The profiling session provider. + + + + Get summary statistics associates with this server. + + + + + A server replied with an error message. + + + + + Raised whenever a physical connection fails. + + + + + Raised whenever an internal error occurs (this is primarily for debugging). + + + + + Raised whenever a physical connection is established. + + + + + Raised when configuration changes are detected. + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast. + This usually means primary/replica changes. + + + + + Raised when server indicates a maintenance event is going to happen. + + + + + Gets all endpoints defined on the multiplexer. + + Whether to return only the explicitly configured endpoints. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type in . + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Raised when a hash-slot has been relocated. + + + + + Compute the hash-slot of a specified key. + + The key to get a slot ID for. + + + + Obtain a pub/sub subscriber connection to the specified server. + + The async state to pass to the created . + + + + Obtain an interactive connection to a database inside redis. + + The database ID to get. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The specific port for to get a server for. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The "host:port" string to get a server for. + The async state to pass to the created . + + + + Obtain a configuration API for an individual server. + + The host to get a server for. + The specific port for to get a server for. + + + + Obtain a configuration API for an individual server. + + The endpoint to get a server for. + The async state to pass to the created . + + + + Obtain configuration APIs for all servers in this multiplexer. + + + + + Reconfigure the current connections based on the existing configuration. + + The log to write output to. + + + + Reconfigure the current connections based on the existing configuration. + + The log to write output to. + + + + Provides a text overview of the status of all connections. + + + + + Provides a text overview of the status of all connections. + + The log to write output to. + + + + See . + + + + + Close all connections and release all resources associated with this object. + + Whether to allow in-queue commands to complete first. + + + + Close all connections and release all resources associated with this object. + + Whether to allow in-queue commands to complete first. + + + + Obtains the log of unusual busy patterns. + + + + + Resets the log of unusual busy patterns. + + + + + Request all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending). + + + + Request all compatible clients to reconfigure or reconnect. + + The command flags to use. + The number of instances known to have received the message (however, the actual number can be higher). + + + + Get the hash-slot associated with a given key, if applicable; this can be useful for grouping operations. + + The key to get a the slot for. + + + + Write the configuration of all servers to an output stream. + + The destination stream to write the export to. + The options to use for this export. + + + + Append a usage-specific modifier to the advertised library name; suffixes are de-duplicated + and sorted alphabetically (so adding 'a', 'b' and 'a' will result in suffix '-a-b'). + Connections will be updated as necessary (RESP2 subscription + connections will not show updates until those connections next connect). + + + + + Describes functionality that is common to both standalone redis servers and redis clusters. + + + + + The numeric identifier of this database. + + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + but which may or may not be processed on the server contiguously. + + The async object state to be passed into the created . + The created batch. + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. + + The async object state to be passed into the created . + The created transaction. + + + + Atomically transfer a key from a source Redis instance to a destination Redis instance. + On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance. + + The key to migrate. + The server to migrate the key to. + The database to migrate the key to. + The timeout to use for the transfer. + The options to use for this migration. + The flags to use for this operation. + + + + + Returns the raw DEBUG OBJECT output for a key. + This command is not fully documented and should be avoided unless you have good reason, and then avoided anyway. + + The key to debug. + The flags to use for this migration. + The raw output from DEBUG OBJECT. + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The longitude of geo entry. + The latitude of the geo entry. + The value to set at this entry. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The geo value to store. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified members to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The geo values add to the set. + The flags to use for this operation. + The number of elements that were added to the set, not including all the elements already present into the set. + + + + + Removes the specified member from the geo sorted set stored at key. + Non existing members are ignored. + + The key of the set. + The geo value to remove. + The flags to use for this operation. + if the member existed in the sorted set and was removed, else . + + + + + Return the distance between two members in the geospatial index represented by the sorted set. + + The key of the set. + The first member to check. + The second member to check. + The unit of distance to return (defaults to meters). + The flags to use for this operation. + The command returns the distance as a double (represented as a string) in the specified unit, or if one or both the elements are missing. + + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The key of the set. + The members to get. + The flags to use for this operation. + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The key of the set. + The member to get. + The flags to use for this operation. + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The key of the set. + The members to get. + The flags to use for this operation. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command. + Non existing elements are reported as NULL elements of the array. + + + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The key of the set. + The member to get. + The flags to use for this operation. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command. + Non existing elements are reported as NULL elements of the array. + + + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are + within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + The key of the set. + The member to get a radius of results from. + The radius to check. + The unit of (defaults to meters). + The count of results to get, -1 for unlimited. + The order of the results. + The search options to use. + The flags to use for this operation. + The results found within the radius, if any. + + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are + within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + The key of the set. + The longitude of the point to get a radius of results from. + The latitude of the point to get a radius of results from. + The radius to check. + The unit of (defaults to meters). + The count of results to get, -1 for unlimited. + The order of the results. + The search options to use. + The flags to use for this operation. + The results found within the radius, if any. + + + + + Return the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the provided set . + + The key of the set. + The set member to use as the center of the shape. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + The search options to use. + The flags for this operation. + The results found within the shape, if any. + + + + + Return the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the point provided by the and . + + The key of the set. + The longitude of the center point. + The latitude of the center point. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + The search options to use. + The flags for this operation. + The results found within the shape, if any. + + + + + Stores the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the provided set . + + The key of the set. + The key to store the result at. + The set member to use as the center of the shape. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + If set to true, the resulting set will be a regular sorted-set containing only distances, rather than a geo-encoded sorted-set. + The flags for this operation. + The size of the set stored at . + + + + + Stores the members of the geo-encoded sorted set stored at bounded by the provided + , centered at the point provided by the and . + + The key of the set. + The key to store the result at. + The longitude of the center point. + The latitude of the center point. + The shape to use to bound the geo search. + The maximum number of results to pull back. + Whether or not to terminate the search after finding results. Must be true of count is -1. + The order to sort by (defaults to unordered). + If set to true, the resulting set will be a regular sorted-set containing only distances, rather than a geo-encoded sorted-set. + The flags for this operation. + The size of the set stored at . + + + + + Decrements the number stored at field in the hash stored at key by decrement. + If key does not exist, a new key holding a hash is created. + If field does not exist the value is set to 0 before the operation is performed. + + The key of the hash. + The field in the hash to decrement. + The amount to decrement by. + The flags to use for this operation. + The value at field after the decrement operation. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + + + + + + Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. + If the field does not exist, it is set to 0 before performing the operation. + + The key of the hash. + The field in the hash to decrement. + The amount to decrement by. + The flags to use for this operation. + The value at field after the decrement operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + + + + + Removes the specified fields from the hash stored at key. + Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + The key of the hash. + The field in the hash to delete. + The flags to use for this operation. + if the field was removed. + + + + + Removes the specified fields from the hash stored at key. + Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + The key of the hash. + The fields in the hash to delete. + The flags to use for this operation. + The number of fields that were removed. + + + + + Returns if field is an existing field in the hash stored at key. + + The key of the hash. + The field in the hash to check. + The flags to use for this operation. + if the hash contains field, if the hash does not contain field, or key does not exist. + + + + + Set the remaining time to live in milliseconds for the given set of fields of hash + After the timeout has expired, the field of the hash will automatically be deleted. + + The key of the hash. + The fields in the hash to set expire time. + The timeout to set. + under which condition the expiration will be set using . + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns an array where each item is the result of operation for given fields: + + + Result + Description + + + 2 + Field deleted because the specified expiration time is due. + + + 1 + Expiration time set/updated. + + + 0 + Expiration time is not set/update (a specified ExpireWhen condition is not met). + + + -1 + No such field exists. + + + + + + + Set the time out on a field of the given set of fields of hash. + After the timeout has expired, the field of the hash will automatically be deleted. + + The key of the hash. + The fields in the hash to set expire time. + The exact date to expiry to set. + under which condition the expiration will be set using . + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns an array where each item is the result of operation for given fields: + + + Result + Description + + + 2 + Field deleted because the specified expiration time is due. + + + 1 + Expiration time set/updated. + + + 0 + Expiration time is not set/update (a specified ExpireWhen condition is not met). + + + -1 + No such field exists. + + + + + + + For each specified field, it gets the expiration time as a Unix timestamp in milliseconds (milliseconds since the Unix epoch). + + The key of the hash. + The fields in the hash to get expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + > 0 + Expiration time, as a Unix timestamp in milliseconds. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + For each specified field, it removes the expiration time. + + The key of the hash. + The fields in the hash to remove expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + 1 + Expiration time was removed. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + For each specified field, it gets the remaining time to live in milliseconds. + + The key of the hash. + The fields in the hash to get expire time. + The flags to use for this operation. + + Empty array if the key does not exist. Otherwise returns the result of operation for given fields: + + + Result + Description + + + > 0 + Time to live, in milliseconds. + + + -1 + Field has no associated expiration time. + + + -2 + No such field exists. + + + + + + + Returns the value associated with field in the hash stored at key. + + The key of the hash. + The field in the hash to get. + The flags to use for this operation. + The value associated with field, or when field is not present in the hash or key does not exist. + + + + + Returns the value associated with field in the hash stored at key. + + The key of the hash. + The field in the hash to get. + The flags to use for this operation. + The value associated with field, or when field is not present in the hash or key does not exist. + + + + + Returns the values associated with the specified fields in the hash stored at key. + For every field that does not exist in the hash, a value is returned. + Because non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of values. + + The key of the hash. + The fields in the hash to get. + The flags to use for this operation. + List of values associated with the given fields, in the same order as they are requested. + + + + + Returns all fields and values of the hash stored at key. + + The key of the hash to get all entries from. + The flags to use for this operation. + List of fields and their values stored in the hash, or an empty list when key does not exist. + + + + + Increments the number stored at field in the hash stored at key by increment. + If key does not exist, a new key holding a hash is created. + If field does not exist the value is set to 0 before the operation is performed. + + The key of the hash. + The field in the hash to increment. + The amount to increment by. + The flags to use for this operation. + The value at field after the increment operation. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + + + + + + Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. + If the field does not exist, it is set to 0 before performing the operation. + + The key of the hash. + The field in the hash to increment. + The amount to increment by. + The flags to use for this operation. + The value at field after the increment operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + + + + + Returns all field names in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + List of fields in the hash, or an empty list when key does not exist. + + + + + Returns the number of fields contained in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + The number of fields in the hash, or 0 when key does not exist. + + + + + Gets a random field from the hash at . + + The key of the hash. + The flags to use for this operation. + A random hash field name or if the hash does not exist. + + + + + Gets field names from the hash at . + + The key of the hash. + The number of fields to return. + The flags to use for this operation. + An array of hash field names of size of at most , or if the hash does not exist. + + + + + Gets field names and values from the hash at . + + The key of the hash. + The number of fields to return. + The flags to use for this operation. + An array of hash entries of size of at most , or if the hash does not exist. + + + + + The HSCAN command is used to incrementally iterate over a hash. + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + The HSCAN command is used to incrementally iterate over a hash. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + The HSCAN command is used to incrementally iterate over a hash and return only field names. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the hash. + The pattern of keys to get entries for. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all elements of the hash matching the pattern. + + + + + Sets the specified fields to their respective values in the hash stored at key. + This command overwrites any specified fields that already exist in the hash, leaving other unspecified fields untouched. + If key does not exist, a new key holding a hash is created. + + The key of the hash. + The entries to set in the hash. + The flags to use for this operation. + + + + + Sets field in the hash stored at key to value. + If key does not exist, a new key holding a hash is created. + If field already exists in the hash, it is overwritten. + + The key of the hash. + The field to set in the hash. + The value to set. + Which conditions under which to set the field value (defaults to always). + The flags to use for this operation. + if field is a new field in the hash and value was set, if field already exists in the hash and the value was updated. + + See + , + . + + + + + Returns the string length of the value associated with field in the hash stored at key. + + The key of the hash. + The field containing the string. + The flags to use for this operation. + The length of the string at field, or 0 when key does not exist. + + + + + Returns all values in the hash stored at key. + + The key of the hash. + The flags to use for this operation. + List of values in the hash, or an empty list when key does not exist. + + + + + Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument. + + The key of the hyperloglog. + The value to add. + The flags to use for this operation. + if at least 1 HyperLogLog internal register was altered, otherwise. + + + + + Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument. + + The key of the hyperloglog. + The values to add. + The flags to use for this operation. + if at least 1 HyperLogLog internal register was altered, otherwise. + + + + + Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist. + + The key of the hyperloglog. + The flags to use for this operation. + The approximated number of unique elements observed via HyperLogLogAdd. + + + + + Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist. + + The keys of the hyperloglogs. + The flags to use for this operation. + The approximated number of unique elements observed via HyperLogLogAdd. + + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + The key of the merged hyperloglog. + The key of the first hyperloglog to merge. + The key of the second hyperloglog to merge. + The flags to use for this operation. + + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + The key of the merged hyperloglog. + The keys of the hyperloglogs to merge. + The flags to use for this operation. + + + + + Indicate exactly which redis server we are talking to. + + The key to check. + The flags to use for this operation. + The endpoint serving the key. + + + + Copies the value from the to the specified . + + The key of the source value to copy. + The destination key to copy the source to. + The database ID to store in. If default (-1), current database is used. + Whether to overwrite an existing values at . If and the key exists, the copy will not succeed. + The flags to use for this operation. + if key was copied. if key was not copied. + + + + + Removes the specified key. A key is ignored if it does not exist. + If UNLINK is available (Redis 4.0+), it will be used. + + The key to delete. + The flags to use for this operation. + if the key was removed. + + See + , + . + + + + + Removes the specified keys. A key is ignored if it does not exist. + If UNLINK is available (Redis 4.0+), it will be used. + + The keys to delete. + The flags to use for this operation. + The number of keys that were removed. + + See + , + . + + + + + Serialize the value stored at key in a Redis-specific format and return it to the user. + The returned value can be synthesized back into a Redis key using the RESTORE command. + + The key to dump. + The flags to use for this operation. + The serialized value. + + + + + Returns the internal encoding for the Redis object stored at . + + The key to dump. + The flags to use for this operation. + The Redis encoding for the value or is the key does not exist. + + + + + Returns if key exists. + + The key to check. + The flags to use for this operation. + if the key exists. if the key does not exist. + + + + + Indicates how many of the supplied keys exists. + + The keys to check. + The flags to use for this operation. + The number of keys that existed. + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. + So, if key already has an associated timeout, it will do nothing and return 0. + + + Since Redis 2.1.3, you can update the timeout of a key. + It is also possible to remove the timeout using the PERSIST command. + See the page on key expiry for more information. + + + See + , + , + . + + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + In Redis 7+, we can choose under which condition the expiration will be set using . + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + See + , + . + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The exact date to expiry to set. + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. + So, if key already has an associated timeout, it will do nothing and return 0. + + + Since Redis 2.1.3, you can update the timeout of a key. + It is also possible to remove the timeout using the PERSIST command. + See the page on key expiry for more information. + + + See + , + , + . + + + + + + Set a timeout on . + After the timeout has expired, the key will automatically be deleted. + A key with an associated timeout is said to be volatile in Redis terminology. + + The key to set the expiration for. + The timeout to set. + In Redis 7+, we choose under which condition the expiration will be set using . + The flags to use for this operation. + if the timeout was set. if key does not exist or the timeout could not be set. + + See + , + . + + + + + Returns the absolute time at which the given will expire, if it exists and has an expiration. + + The key to get the expiration for. + The flags to use for this operation. + The time at which the given key will expire, or if the key does not exist or has no associated expiration time. + + See + , + . + + + + + Returns the logarithmic access frequency counter of the object stored at . + The command is only available when the maxmemory-policy configuration directive is set to + one of the LFU policies. + + The key to get a frequency count for. + The flags to use for this operation. + The number of logarithmic access frequency counter, ( if the key does not exist). + + + + + Returns the time since the object stored at the specified key is idle (not requested by read or write operations). + + The key to get the time of. + The flags to use for this operation. + The time since the object stored at the specified key is idle. + + + + + Move key from the currently selected database (see SELECT) to the specified destination database. + When key already exists in the destination database, or it does not exist in the source database, it does nothing. + It is possible to use MOVE as a locking primitive because of this. + + The key to move. + The database to move the key to. + The flags to use for this operation. + if key was moved. if key was not moved. + + + + + Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated). + + The key to persist. + The flags to use for this operation. + if the timeout was removed. if key does not exist or does not have an associated timeout. + + + + + Return a random key from the currently selected database. + + The flags to use for this operation. + The random key, or when the database is empty. + + + + + Returns the reference count of the object stored at . + + The key to get a reference count for. + The flags to use for this operation. + The number of references ( if the key does not exist). + + + + + Renames to . + It returns an error when the source and destination names are the same, or when key does not exist. + + The key to rename. + The key to rename to. + What conditions to rename under (defaults to always). + The flags to use for this operation. + if the key was renamed, otherwise. + + See + , + . + + + + + Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP). + If is 0 the key is created without any expire, otherwise the specified expire time (in milliseconds) is set. + + The key to restore. + The value of the key. + The expiry to set. + The flags to use for this operation. + + + + + Returns the remaining time to live of a key that has a timeout. + This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. + + The key to check. + The flags to use for this operation. + TTL, or when key does not exist or does not have a timeout. + + + + + Alters the last access time of a key. + + The key to touch. + The flags to use for this operation. + if the key was touched, otherwise. + + + + + Alters the last access time of the specified . A key is ignored if it does not exist. + + The keys to touch. + The flags to use for this operation. + The number of keys that were touched. + + + + + Returns the string representation of the type of the value stored at key. + The different types that can be returned are: string, list, set, zset and hash. + + The key to get the type of. + The flags to use for this operation. + Type of key, or none when key does not exist. + + + + + Returns the element at index in the list stored at key. + The index is zero-based, so 0 means the first element, 1 the second element and so on. + Negative indices can be used to designate elements starting at the tail of the list. + Here, -1 means the last element, -2 means the penultimate and so forth. + + The key of the list. + The index position to get the value at. + The flags to use for this operation. + The requested element, or when index is out of range. + + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + The key of the list. + The value to insert after. + The value to insert. + The flags to use for this operation. + The length of the list after the insert operation, or -1 when the value pivot was not found. + + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + The key of the list. + The value to insert before. + The value to insert. + The flags to use for this operation. + The length of the list after the insert operation, or -1 when the value pivot was not found. + + + + + Removes and returns the first element of the list stored at key. + + The key of the list. + The flags to use for this operation. + The value of the first element, or when key does not exist. + + + + + Removes and returns count elements from the head of the list stored at key. + If the list contains less than count elements, removes and returns the number of elements in the list. + + The key of the list. + The number of elements to remove. + The flags to use for this operation. + Array of values that were popped, or if the key doesn't exist. + + + + + Removes and returns at most elements from the first non-empty list in . + Starts on the left side of the list. + + The keys to look through for elements to pop. + The maximum number of elements to pop from the list. + The flags to use for this operation. + A span of contiguous elements from the list, or if no non-empty lists are found. + + + + + Scans through the list stored at looking for , returning the 0-based + index of the first matching element. + + The key of the list. + The element to search for. + The rank of the first element to return, within the sub-list of matching indexes in the case of multiple matches. + The maximum number of elements to scan through before stopping, defaults to 0 (a full scan of the list.) + The flags to use for this operation. + The 0-based index of the first matching element, or -1 if not found. + + + + + Scans through the list stored at looking for instances of , returning the 0-based + indexes of any matching elements. + + The key of the list. + The element to search for. + The number of matches to find. A count of 0 will return the indexes of all occurrences of the element. + The rank of the first element to return, within the sub-list of matching indexes in the case of multiple matches. + The maximum number of elements to scan through before stopping, defaults to 0 (a full scan of the list.) + The flags to use for this operation. + An array of at most of indexes of matching elements. If none are found, and empty array is returned. + + + + + Insert the specified value at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + + The key of the list. + The value to add to the head of the list. + Which conditions to add to the list under (defaults to always). + The flags to use for this operation. + The length of the list after the push operations. + + See + , + . + + + + + Insert the specified value at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + + The key of the list. + The value to add to the head of the list. + Which conditions to add to the list under (defaults to always). + The flags to use for this operation. + The length of the list after the push operations. + + See + , + . + + + + + Insert all the specified values at the head of the list stored at key. + If key does not exist, it is created as empty list before performing the push operations. + Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. + So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element. + + The key of the list. + The values to add to the head of the list. + The flags to use for this operation. + The length of the list after the push operations. + + + + + Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. + + The key of the list. + The flags to use for this operation. + The length of the list at key. + + + + + Returns and removes the first or last element of the list stored at , and pushes the element + as the first or last element of the list stored at . + + The key of the list to remove from. + The key of the list to move to. + What side of the list to remove from. + What side of the list to move to. + The flags to use for this operation. + The element being popped and pushed or if there is no element to move. + + + + + Returns the specified elements of the list stored at key. + The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. + These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on. + Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. + + The key of the list. + The start index of the list. + The stop index of the list. + The flags to use for this operation. + List of elements in the specified range. + + + + + Removes the first count occurrences of elements equal to value from the list stored at key. + The count argument influences the operation in the following ways: + + count > 0: Remove elements equal to value moving from head to tail. + count < 0: Remove elements equal to value moving from tail to head. + count = 0: Remove all elements equal to value. + + + The key of the list. + The value to remove from the list. + The count behavior (see method summary). + The flags to use for this operation. + The number of removed elements. + + + + + Removes and returns the last element of the list stored at key. + + The key of the list. + The flags to use for this operation. + The element being popped, or when key does not exist.. + + + + + Removes and returns count elements from the end the list stored at key. + If the list contains less than count elements, removes and returns the number of elements in the list. + + The key of the list. + The number of elements to pop. + The flags to use for this operation. + Array of values that were popped, or if the key doesn't exist. + + + + + Removes and returns at most elements from the first non-empty list in . + Starts on the right side of the list. + + The keys to look through for elements to pop. + The maximum number of elements to pop from the list. + The flags to use for this operation. + A span of contiguous elements from the list, or if no non-empty lists are found. + + + + + Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination. + + The key of the source list. + The key of the destination list. + The flags to use for this operation. + The element being popped and pushed. + + + + + Insert the specified value at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + + The key of the list. + The value to add to the tail of the list. + Which conditions to add to the list under. + The flags to use for this operation. + The length of the list after the push operation. + + See + , + . + + + + + Insert the specified value at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + + The key of the list. + The values to add to the tail of the list. + Which conditions to add to the list under. + The flags to use for this operation. + The length of the list after the push operation. + + See + , + . + + + + + Insert all the specified values at the tail of the list stored at key. + If key does not exist, it is created as empty list before performing the push operation. + Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. + So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element. + + The key of the list. + The values to add to the tail of the list. + The flags to use for this operation. + The length of the list after the push operation. + + + + + Sets the list element at index to value. + For more information on the index argument, see . + An error is returned for out of range indexes. + + The key of the list. + The index to set the value at. + The values to add to the list. + The flags to use for this operation. + + + + + Trim an existing list so that it will contain only the specified range of elements specified. + Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on. + For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain. + start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on. + + The key of the list. + The start index of the list to trim to. + The end index of the list to trim to. + The flags to use for this operation. + + + + + Extends a lock, if the token value is correct. + + The key of the lock. + The value to set at the key. + The expiration of the lock key. + The flags to use for this operation. + if the lock was successfully extended. + + + + Queries the token held against a lock. + + The key of the lock. + The flags to use for this operation. + The current value of the lock, if any. + + + + Releases a lock, if the token value is correct. + + The key of the lock. + The value at the key that must match. + The flags to use for this operation. + if the lock was successfully released, otherwise. + + + + Takes a lock (specifying a token value) if it is not already taken. + + The key of the lock. + The value to set at the key. + The expiration of the lock key. + The flags to use for this operation. + if the lock was successfully taken, otherwise. + + + + Posts a message to the given channel. + + The channel to publish to. + The message to send. + The flags to use for this operation. + + The number of clients that received the message *on the destination server*, + note that this doesn't mean much in a cluster as clients can get the message through other nodes. + + + + + + Execute an arbitrary command against the server; this is primarily intended for executing modules, + but may also be used to provide access to new features that lack a direct API. + + The command to run. + The arguments to pass for the command. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + Execute an arbitrary command against the server; this is primarily intended for executing modules, + but may also be used to provide access to new features that lack a direct API. + + The command to run. + The arguments to pass for the command. + The flags to use for this operation. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + Execute a Lua script against the server. + + The script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + See + , + . + + + + + Execute a Lua script against the server using just the SHA1 hash. + + The hash of the script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + Be aware that this method is not resilient to Redis server restarts. Use instead. + + + + + + Execute a lua script against the server, using previously prepared script. + Named parameters, if any, are provided by the `parameters` object. + + The script to execute. + The parameters to pass to the script. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Execute a lua script against the server, using previously prepared and loaded script. + This method sends only the SHA1 hash of the lua script to Redis. + Named parameters, if any, are provided by the `parameters` object. + + The already-loaded script to execute. + The parameters to pass to the script. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Read-only variant of the EVAL command that cannot execute commands that modify data, Execute a Lua script against the server. + + The script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + See + , + . + + + + + Read-only variant of the EVALSHA command that cannot execute commands that modify data, Execute a Lua script against the server using just the SHA1 hash. + + The hash of the script to execute. + The keys to execute against. + The values to execute against. + The flags to use for this operation. + A dynamic representation of the script's result. + + + + + Add the specified member to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The value to add to the set. + The flags to use for this operation. + if the specified member was not already present in the set, else . + + + + + Add the specified members to the set stored at key. + Specified members that are already a member of this set are ignored. + If key does not exist, a new set is created before adding the specified members. + + The key of the set. + The values to add to the set. + The flags to use for this operation. + The number of elements that were added to the set, not including all the elements already present into the set. + + + + + Returns the members of the set resulting from the specified operation against the given sets. + + The operation to perform. + The key of the first set. + The key of the second set. + The flags to use for this operation. + List with members of the resulting set. + + See + , + , + . + + + + + Returns the members of the set resulting from the specified operation against the given sets. + + The operation to perform. + The keys of the sets to operate on. + The flags to use for this operation. + List with members of the resulting set. + + See + , + , + . + + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. + If destination already exists, it is overwritten. + + The operation to perform. + The key of the destination set. + The key of the first set. + The key of the second set. + The flags to use for this operation. + The number of elements in the resulting set. + + See + , + , + . + + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. + If destination already exists, it is overwritten. + + The operation to perform. + The key of the destination set. + The keys of the sets to operate on. + The flags to use for this operation. + The number of elements in the resulting set. + + See + , + , + . + + + + + Returns whether is a member of the set stored at . + + The key of the set. + The value to check for. + The flags to use for this operation. + + if the element is a member of the set. + if the element is not a member of the set, or if key does not exist. + + + + + + Returns whether each of is a member of the set stored at . + + The key of the set. + The members to check for. + The flags to use for this operation. + + if the element is a member of the set. + if the element is not a member of the set, or if key does not exist. + + + + + + + Returns the set cardinality (number of elements) of the intersection between the sets stored at the given . + + + If the intersection cardinality reaches partway through the computation, + the algorithm will exit and yield as the cardinality. + + + The keys of the sets. + The number of elements to check (defaults to 0 and means unlimited). + The flags to use for this operation. + The cardinality (number of elements) of the set, or 0 if key does not exist. + + + + + Returns the set cardinality (number of elements) of the set stored at key. + + The key of the set. + The flags to use for this operation. + The cardinality (number of elements) of the set, or 0 if key does not exist. + + + + + Returns all the members of the set value stored at key. + + The key of the set. + The flags to use for this operation. + All elements of the set. + + + + + Move member from the set at source to the set at destination. + This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients. + When the specified element already exists in the destination set, it is only removed from the source set. + + The key of the source set. + The key of the destination set. + The value to move. + The flags to use for this operation. + + if the element is moved. + if the element is not a member of source and no operation was performed. + + + + + + Removes and returns a random element from the set value stored at key. + + The key of the set. + The flags to use for this operation. + The removed element, or when key does not exist. + + + + + Removes and returns the specified number of random elements from the set value stored at key. + + The key of the set. + The number of elements to return. + The flags to use for this operation. + An array of elements, or an empty array when key does not exist. + + + + + Return a random element from the set value stored at . + + The key of the set. + The flags to use for this operation. + The randomly selected element, or when does not exist. + + + + + Return an array of count distinct elements if count is positive. + If called with a negative count the behavior changes and the command is allowed to return the same element multiple times. + In this case the number of returned elements is the absolute value of the specified count. + + The key of the set. + The count of members to get. + The flags to use for this operation. + An array of elements, or an empty array when does not exist. + + + + + Remove the specified member from the set stored at key. + Specified members that are not a member of this set are ignored. + + The key of the set. + The value to remove. + The flags to use for this operation. + if the specified member was already present in the set, otherwise. + + + + + Remove the specified members from the set stored at key. + Specified members that are not a member of this set are ignored. + + The key of the set. + The values to remove. + The flags to use for this operation. + The number of members that were removed from the set, not including non existing members. + + + + + The SSCAN command is used to incrementally iterate over a set. + + The key of the set. + The pattern to match. + The page size to iterate by. + The flags to use for this operation. + Yields all matching elements of the set. + + + + + The SSCAN command is used to incrementally iterate over set. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The key of the set. + The pattern to match. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all matching elements of the set. + + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default). + By default, the elements themselves are compared, but the values can also be used to perform external key-lookups using the by parameter. + By default, the elements themselves are returned, but external key-lookups (one or many) can be performed instead by specifying + the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. + When used in hashes, by and get can be used to specify fields using -> notation (again, refer to redis documentation). + Uses SORT_RO when possible. + + The key of the list, set, or sorted set. + How many entries to skip on the return. + How many entries to take on the return. + The ascending or descending order (defaults to ascending). + The sorting method (defaults to numeric). + The key pattern to sort by, if any. e.g. ExternalKey_* would sort by ExternalKey_{listvalue} as a lookup. + The key pattern to sort by, if any e.g. ExternalKey_* would return the value of ExternalKey_{listvalue} for each entry. + The flags to use for this operation. + The sorted elements, or the external values if get is specified. + + See + , + . + + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default). + By default, the elements themselves are compared, but the values can also be used to perform external key-lookups using the by parameter. + By default, the elements themselves are returned, but external key-lookups (one or many) can be performed instead by specifying + the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. + When used in hashes, by and get can be used to specify fields using -> notation (again, refer to redis documentation). + + The destination key to store results in. + The key of the list, set, or sorted set. + How many entries to skip on the return. + How many entries to take on the return. + The ascending or descending order (defaults to ascending). + The sorting method (defaults to numeric). + The key pattern to sort by, if any. e.g. ExternalKey_* would sort by ExternalKey_{listvalue} as a lookup. + The key pattern to sort by, if any e.g. ExternalKey_* would return the value of ExternalKey_{listvalue} for each entry. + The flags to use for this operation. + The number of elements stored in the new list. + + + + + + + + + + + Adds the specified member with the specified score to the sorted set stored at key. + If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The key of the sorted set. + The member to add to the sorted set. + The score for the member to add to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + if the value was added. if it already existed (the score is still updated). + + + + + + + + + + + Adds all the specified members with the specified scores to the sorted set stored at key. + If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The key of the sorted set. + The members and values to add to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + + + + + Computes a set operation for multiple sorted sets (optionally using per-set ), + optionally performing a specific aggregation (defaults to ). + cannot be used with weights or aggregation. + + The operation to perform. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to ). + The flags to use for this operation. + The resulting sorted set. + + See + , + , + . + + + + + Computes a set operation for multiple sorted sets (optionally using per-set ), + optionally performing a specific aggregation (defaults to ). + cannot be used with weights or aggregation. + + The operation to perform. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to ). + The flags to use for this operation. + The resulting sorted set with scores. + + See + , + , + . + + + + + Computes a set operation over two sorted sets, and stores the result in destination, optionally performing + a specific aggregation (defaults to sum). + cannot be used with aggregation. + + The operation to perform. + The key to store the results in. + The key of the first sorted set. + The key of the second sorted set. + The aggregation method (defaults to sum). + The flags to use for this operation. + The number of elements in the resulting sorted set at destination. + + See + , + , + . + + + + + Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing + a specific aggregation (defaults to sum). + cannot be used with aggregation. + + The operation to perform. + The key to store the results in. + The keys of the sorted sets. + The optional weights per set that correspond to . + The aggregation method (defaults to sum). + The flags to use for this operation. + The number of elements in the resulting sorted set at destination. + + See + , + , + . + + + + + Decrements the score of member in the sorted set stored at key by decrement. + If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0). + + The key of the sorted set. + The member to decrement. + The amount to decrement by. + The flags to use for this operation. + The new score of member. + + + + + Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0). + + The key of the sorted set. + The member to increment. + The amount to increment by. + The flags to use for this operation. + The new score of member. + + + + + Returns the cardinality of the intersection of the sorted sets at . + + The keys of the sorted sets. + If the intersection cardinality reaches partway through the computation, the algorithm will exit and yield as the cardinality (defaults to 0 meaning unlimited). + The flags to use for this operation. + The number of elements in the resulting intersection. + + + + + Returns the sorted set cardinality (number of elements) of the sorted set stored at key. + + The key of the sorted set. + The min score to filter by (defaults to negative infinity). + The max score to filter by (defaults to positive infinity). + Whether to exclude and from the range check (defaults to both inclusive). + The flags to use for this operation. + The cardinality (number of elements) of the sorted set, or 0 if key does not exist. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns the number of elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Whether to exclude and from the range check (defaults to both inclusive). + The flags to use for this operation. + The number of elements in the specified score range. + + + + + Returns a random element from the sorted set value stored at . + + The key of the sorted set. + The flags to use for this operation. + The randomly selected element, or when does not exist. + + + + + Returns an array of random elements from the sorted set value stored at . + + The key of the sorted set. + + + If the provided count argument is positive, returns an array of distinct elements. + The array's length is either or the sorted set's cardinality (ZCARD), whichever is lower. + + + If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. + In this case, the number of returned elements is the absolute value of the specified count. + + + The flags to use for this operation. + The randomly selected elements, or an empty array when does not exist. + + + + + Returns an array of random elements from the sorted set value stored at . + + The key of the sorted set. + + + If the provided count argument is positive, returns an array of distinct elements. + The array's length is either or the sorted set's cardinality (ZCARD), whichever is lower. + + + If called with a negative count, the behavior changes and the command is allowed to return the same element multiple times. + In this case, the number of returned elements is the absolute value of the specified count. + + + The flags to use for this operation. + The randomly selected elements with scores, or an empty array when does not exist. + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. + They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + The key of the sorted set. + The start index to get. + The stop index to get. + The order to sort by (defaults to ascending). + The flags to use for this operation. + List of elements in the specified range. + + See + , + . + + + + + Takes the specified range of elements in the sorted set of the + and stores them in a new sorted set at the . + + The sorted set to take the range from. + Where the resulting set will be stored. + The starting point in the sorted set. If is , this should be a string. + The stopping point in the range of the sorted set. If is , this should be a string. + The ordering criteria to use for the range. Choices are , , and (defaults to ). + Whether to exclude and from the range check (defaults to both inclusive). + + The direction to consider the and in. + If , the must be smaller than the . + If , must be smaller than . + + The number of elements into the sorted set to skip. Note: this iterates after sorting so incurs O(n) cost for large values. + The maximum number of elements to pull into the new () set. + The flags to use for this operation. + The cardinality of (number of elements in) the newly created sorted set. + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. + They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + The key of the sorted set. + The start index to get. + The stop index to get. + The order to sort by (defaults to ascending). + The flags to use for this operation. + List of elements in the specified range. + + See + , + . + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. + Similar to other range methods the values are inclusive. + + The key of the sorted set. + The minimum score to filter by. + The maximum score to filter by. + Which of and to exclude (defaults to both inclusive). + The order to sort by (defaults to ascending). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + Returns the specified range of elements in the sorted set stored at key. + By default the elements are considered to be ordered from the lowest to the highest score. + Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. + Similar to other range methods the values are inclusive. + + The key of the sorted set. + The minimum score to filter by. + The maximum score to filter by. + Which of and to exclude (defaults to both inclusive). + The order to sort by (defaults to ascending). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns all the elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Which of and to exclude (defaults to both inclusive). + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command returns all the elements in the sorted set at key with a value between min and max. + + The key of the sorted set. + The min value to filter by. + The max value to filter by. + Which of and to exclude (defaults to both inclusive). + Whether to order the data ascending or descending. + How many items to skip. + How many items to take. + The flags to use for this operation. + List of elements in the specified score range. + + See + , + . + + + + + Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. + The rank (or index) is 0-based, which means that the member with the lowest score has rank 0. + + The key of the sorted set. + The member to get the rank of. + The order to sort by (defaults to ascending). + The flags to use for this operation. + If member exists in the sorted set, the rank of member. If member does not exist in the sorted set or key does not exist, . + + See + , + . + + + + + Removes the specified member from the sorted set stored at key. Non existing members are ignored. + + The key of the sorted set. + The member to remove. + The flags to use for this operation. + if the member existed in the sorted set and was removed. otherwise. + + + + + Removes the specified members from the sorted set stored at key. Non existing members are ignored. + + The key of the sorted set. + The members to remove. + The flags to use for this operation. + The number of members removed from the sorted set, not including non existing members. + + + + + Removes all elements in the sorted set stored at key with rank between start and stop. + Both start and stop are 0 -based indexes with 0 being the element with the lowest score. + These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. + For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth. + + The key of the sorted set. + The minimum rank to remove. + The maximum rank to remove. + The flags to use for this operation. + The number of elements removed. + + + + + Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default). + + The key of the sorted set. + The minimum score to remove. + The maximum score to remove. + Which of and to exclude (defaults to both inclusive). + The flags to use for this operation. + The number of elements removed. + + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering. + This command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max. + + The key of the sorted set. + The minimum value to remove. + The maximum value to remove. + Which of and to exclude (defaults to both inclusive). + The flags to use for this operation. + The number of elements removed. + + + + + The ZSCAN command is used to incrementally iterate over a sorted set. + + The key of the sorted set. + The pattern to match. + The page size to iterate by. + The flags to use for this operation. + Yields all matching elements of the sorted set. + + + + + The ZSCAN command is used to incrementally iterate over a sorted set + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + The key of the sorted set. + The pattern to match. + The page size to iterate by. + The cursor position to start at. + The page offset to start at. + The flags to use for this operation. + Yields all matching elements of the sorted set. + + + + + Returns the score of member in the sorted set at key. + If member does not exist in the sorted set, or key does not exist, is returned. + + The key of the sorted set. + The member to get a score for. + The flags to use for this operation. + The score of the member. + + + + + Returns the scores of members in the sorted set at . + If a member does not exist in the sorted set, or key does not exist, is returned. + + The key of the sorted set. + The members to get a score for. + The flags to use for this operation. + + The scores of the members in the same order as the array. + If a member does not exist in the set, is returned. + + + + + + Removes and returns the first element from the sorted set stored at key, by default with the scores ordered from low to high. + + The key of the sorted set. + The order to sort by (defaults to ascending). + The flags to use for this operation. + The removed element, or when key does not exist. + + See + , + . + + + + + Removes and returns the specified number of first elements from the sorted set stored at key, by default with the scores ordered from low to high. + + The key of the sorted set. + The number of elements to return. + The order to sort by (defaults to ascending). + The flags to use for this operation. + An array of elements, or an empty array when key does not exist. + + See + , + . + + + + + Removes and returns up to entries from the first non-empty sorted set in . + Returns if none of the sets exist or contain any elements. + + The keys to check. + The maximum number of records to pop out of the sorted set. + The order to sort by when popping items out of the set. + The flags to use for the operation. + A contiguous collection of sorted set entries with the key they were popped from, or if no non-empty sorted sets are found. + + + + + Same as but return the number of the elements changed. + + The key of the sorted set. + The member to add/update to the sorted set. + The score for the member to add/update to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements changed. + + + + + Same as but return the number of the elements changed. + + The key of the sorted set. + The members and values to add/update to the sorted set. + What conditions to add the element under (defaults to always). + The flags to use for this operation. + The number of elements changed. + + + + + Allow the consumer to mark a pending message as correctly processed. Returns the number of messages acknowledged. + + The key of the stream. + The name of the consumer group that received the message. + The ID of the message to acknowledge. + The flags to use for this operation. + The number of messages acknowledged. + + + + + Allow the consumer to mark a pending message as correctly processed. Returns the number of messages acknowledged. + + The key of the stream. + The name of the consumer group that received the message. + The IDs of the messages to acknowledge. + The flags to use for this operation. + The number of messages acknowledged. + + + + + Adds an entry using the specified values to the given stream key. + If key does not exist, a new key holding a stream is created. + The command returns the ID of the newly created stream entry. + + The key of the stream. + The field name for the stream entry. + The value to set in the stream entry. + The ID to assign to the stream entry, defaults to an auto-generated ID ("*"). + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The ID of the newly created message. + + + + + Adds an entry using the specified values to the given stream key. + If key does not exist, a new key holding a stream is created. + The command returns the ID of the newly created stream entry. + + The key of the stream. + The fields and their associated values to set in the stream entry. + The ID to assign to the stream entry, defaults to an auto-generated ID ("*"). + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The ID of the newly created message. + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + Messages that have been idle for more than will be claimed. + + The key of the stream. + The consumer group. + The consumer claiming the messages(s). + The minimum idle time threshold for pending messages to be claimed. + The starting ID to scan for pending messages that have an idle time greater than . + The upper limit of the number of entries that the command attempts to claim. If , Redis will default the value to 100. + The flags to use for this operation. + An instance of . + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + Messages that have been idle for more than will be claimed. + The result will contain the claimed message IDs instead of a instance. + + The key of the stream. + The consumer group. + The consumer claiming the messages(s). + The minimum idle time threshold for pending messages to be claimed. + The starting ID to scan for pending messages that have an idle time greater than . + The upper limit of the number of entries that the command attempts to claim. If , Redis will default the value to 100. + The flags to use for this operation. + An instance of . + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + This method returns the complete message for the claimed message(s). + + The key of the stream. + The consumer group. + The consumer claiming the given message(s). + The minimum message idle time to allow the reassignment of the message(s). + The IDs of the messages to claim for the given consumer. + The flags to use for this operation. + The messages successfully claimed by the given consumer. + + + + + Change ownership of messages consumed, but not yet acknowledged, by a different consumer. + This method returns the IDs for the claimed message(s). + + The key of the stream. + The consumer group. + The consumer claiming the given message(s). + The minimum message idle time to allow the reassignment of the message(s). + The IDs of the messages to claim for the given consumer. + The flags to use for this operation. + The message IDs for the messages successfully claimed by the given consumer. + + + + + Set the position from which to read a stream for a consumer group. + + The key of the stream. + The name of the consumer group. + The position from which to read for the consumer group. + The flags to use for this operation. + if successful, otherwise. + + + + + Retrieve information about the consumers for the given consumer group. + This is the equivalent of calling "XINFO GROUPS key group". + + The key of the stream. + The consumer group name. + The flags to use for this operation. + An instance of for each of the consumer group's consumers. + + + + + Create a consumer group for the given stream. + + The key of the stream. + The name of the group to create. + The position to begin reading the stream. Defaults to . + The flags to use for this operation. + if the group was created, otherwise. + + + + + Create a consumer group for the given stream. + + The key of the stream. + The name of the group to create. + The position to begin reading the stream. Defaults to . + Create the stream if it does not already exist. + The flags to use for this operation. + if the group was created, otherwise. + + + + + Delete messages in the stream. This method does not delete the stream. + + The key of the stream. + The IDs of the messages to delete. + The flags to use for this operation. + Returns the number of messages successfully deleted from the stream. + + + + + Delete a consumer from a consumer group. + + The key of the stream. + The name of the consumer group. + The name of the consumer. + The flags to use for this operation. + The number of messages that were pending for the deleted consumer. + + + + + Delete a consumer group. + + The key of the stream. + The name of the consumer group. + The flags to use for this operation. + if deleted, otherwise. + + + + + Retrieve information about the groups created for the given stream. This is the equivalent of calling "XINFO GROUPS key". + + The key of the stream. + The flags to use for this operation. + An instance of for each of the stream's groups. + + + + + Retrieve information about the given stream. This is the equivalent of calling "XINFO STREAM key". + + The key of the stream. + The flags to use for this operation. + A instance with information about the stream. + + + + + Return the number of entries in a stream. + + The key of the stream. + The flags to use for this operation. + The number of entries inside the given stream. + + + + + View information about pending messages for a stream. + A pending message is a message read using StreamReadGroup (XREADGROUP) but not yet acknowledged. + + The key of the stream. + The name of the consumer group. + The flags to use for this operation. + + An instance of . + contains the number of pending messages. + The highest and lowest ID of the pending messages, and the consumers with their pending message count. + + The equivalent of calling XPENDING key group. + + + + + View information about each pending message. + + The key of the stream. + The name of the consumer group. + The maximum number of pending messages to return. + The consumer name for the pending messages. Pass RedisValue.Null to include pending messages for all consumers. + The minimum ID from which to read the stream of pending messages. The method will default to reading from the beginning of the stream. + The maximum ID to read to within the stream of pending messages. The method will default to reading to the end of the stream. + The flags to use for this operation. + An instance of for each pending message. + Equivalent of calling XPENDING key group start-id end-id count consumer-name. + + + + + Read a stream using the given range of IDs. + + The key of the stream. + The minimum ID from which to read the stream. The method will default to reading from the beginning of the stream. + The maximum ID to read to within the stream. The method will default to reading to the end of the stream. + The maximum number of messages to return. + The order of the messages. will execute XRANGE and will execute XREVRANGE. + The flags to use for this operation. + Returns an instance of for each message returned. + + + + + Read from a single stream. + + The key of the stream. + The position from which to read the stream. + The maximum number of messages to return. + The flags to use for this operation. + Returns an instance of for each message returned. + + Equivalent of calling XREAD COUNT num STREAMS key id. + + + + + + Read from multiple streams. + + Array of streams and the positions from which to begin reading for each stream. + The maximum number of messages to return from each stream. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREAD COUNT num STREAMS key1 key2 id1 id2. + + + + + + Read messages from a stream into an associated consumer group. + + The key of the stream. + The name of the consumer group. + The consumer name. + The position from which to read the stream. Defaults to when . + The maximum number of messages to return. + The flags to use for this operation. + Returns a value of for each message returned. + + + + + Read messages from a stream into an associated consumer group. + + The key of the stream. + The name of the consumer group. + The consumer name. + The position from which to read the stream. Defaults to when . + The maximum number of messages to return. + When true, the message will not be added to the pending message list. + The flags to use for this operation. + Returns a value of for each message returned. + + + + + Read from multiple streams into the given consumer group. + The consumer group with the given will need to have been created for each stream prior to calling this method. + + Array of streams and the positions from which to begin reading for each stream. + The name of the consumer group. + The name of the consumer. + The maximum number of messages to return from each stream. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREADGROUP GROUP groupName consumerName COUNT countPerStream STREAMS stream1 stream2 id1 id2. + + + + + + Read from multiple streams into the given consumer group. + The consumer group with the given will need to have been created for each stream prior to calling this method. + + Array of streams and the positions from which to begin reading for each stream. + The name of the consumer group. + The name of the consumer. + The maximum number of messages to return from each stream. + When true, the message will not be added to the pending message list. + The flags to use for this operation. + A value of for each stream. + + Equivalent of calling XREADGROUP GROUP groupName consumerName COUNT countPerStream STREAMS stream1 stream2 id1 id2. + + + + + + Trim the stream to a specified maximum length. + + The key of the stream. + The maximum length of the stream. + If true, the "~" argument is used to allow the stream to exceed max length by a small number. This improves performance when removing messages. + The flags to use for this operation. + The number of messages removed from the stream. + + + + + If key already exists and is a string, this command appends the value at the end of the string. + If key does not exist it is created and set as an empty string, so APPEND will be similar to SET in this special case. + + The key of the string. + The value to append to the string. + The flags to use for this operation. + The length of the string after the append operation. + + + + + + + + Count the number of set bits (population counting) in a string. + By default all the bytes contained in the string are examined. + It is possible to specify the counting operation only in an interval passing the additional arguments start and end. + Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The key of the string. + The start byte to count at. + The end byte to count at. + In Redis 7+, we can choose if and specify a bit index or byte index (defaults to ). + The flags to use for this operation. + The number of bits set to 1. + + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case + and only the first key will be considered. + The result of the operation is always stored at . + + The operation to perform. + The destination key to store the result in. + The first key to get the bit value from. + The second key to get the bit value from. + The flags to use for this operation. + The size of the string stored in the destination key, that is equal to the size of the longest input string. + + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator. + The result of the operation is always stored at . + + The operation to perform. + The destination key to store the result in. + The keys to get the bit values from. + The flags to use for this operation. + The size of the string stored in the destination key, that is equal to the size of the longest input string. + + + + + + + + Return the position of the first bit set to 1 or 0 in a string. + The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant bit is at position 8 and so forth. + A and may be specified - these are in bytes, not bits. + and can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The key of the string. + True to check for the first 1 bit, false to check for the first 0 bit. + The position to start looking (defaults to 0). + The position to stop looking (defaults to -1, unlimited). + In Redis 7+, we can choose if and specify a bit index or byte index (defaults to ). + The flags to use for this operation. + + The command returns the position of the first bit set to 1 or 0 according to the request. + If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned. + + + + + + Decrements the number stored at key by decrement. + If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. + This operation is limited to 64 bit signed integers. + + The key of the string. + The amount to decrement by (defaults to 1). + The flags to use for this operation. + The value of key after the decrement. + + See + , + . + + + + + Decrements the string representing a floating point number stored at key by the specified decrement. + If the key does not exist, it is set to 0 before performing the operation. + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + The key of the string. + The amount to decrement by (defaults to 1). + The flags to use for this operation. + The value of key after the decrement. + + + + + Get the value of key. If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Returns the values of all specified keys. + For every key that does not hold a string value or does not exist, the special value is returned. + + The keys of the strings. + The flags to use for this operation. + The values of the strings with for keys do not exist. + + + + + Get the value of key. If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Returns the bit value at offset in the string value stored at key. + When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits. + + The key of the string. + The offset in the string to get a bit at. + The flags to use for this operation. + The bit value stored at offset. + + + + + Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). + Negative offsets can be used in order to provide an offset starting from the end of the string. + So -1 means the last character, -2 the penultimate and so forth. + + The key of the string. + The start index of the substring to get. + The end index of the substring to get. + The flags to use for this operation. + The substring of the string value stored at key. + + + + + Atomically sets key to value and returns the old value stored at key. + + The key of the string. + The value to replace the existing value with. + The flags to use for this operation. + The old value stored at key, or when key did not exist. + + + + + Gets the value of and update its (relative) expiry. + If the key does not exist, the result will be . + + The key of the string. + The expiry to set. will remove expiry. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Gets the value of and update its (absolute) expiry. + If the key does not exist, the result will be . + + The key of the string. + The exact date and time to expire at. will remove expiry. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Get the value of key and delete the key. + If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key, or when key does not exist. + + + + + Get the value of key. + If the key does not exist the special value is returned. + An error is returned if the value stored at key is not a string, because GET only handles string values. + + The key of the string. + The flags to use for this operation. + The value of key and its expiry, or when key does not exist. + + + + + Increments the number stored at key by increment. + If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. + This operation is limited to 64 bit signed integers. + + The key of the string. + The amount to increment by (defaults to 1). + The flags to use for this operation. + The value of key after the increment. + + See + , + . + + + + + Increments the string representing a floating point number stored at key by the specified increment. + If the key does not exist, it is set to 0 before performing the operation. + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + The key of the string. + The amount to increment by (defaults to 1). + The flags to use for this operation. + The value of key after the increment. + + + + + Returns the length of the string value stored at key. + + The key of the string. + The flags to use for this operation. + The length of the string at key, or 0 when key does not exist. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning a string containing the common sequence. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + The flags to use for this operation. + A string (sequence of characters) of the LCS match. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning the legnth of the common sequence. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + The flags to use for this operation. + The length of the LCS match. + + + + + Implements the longest common subsequence algorithm between the values at and , + returning a list of all common sequences. + Note that this is different than the longest common string algorithm, + since matching characters in the string does not need to be contiguous. + + The key of the first string. + The key of the second string. + Can be used to restrict the list of matches to the ones of a given minimum length. + The flags to use for this operation. + The result of LCS algorithm, based on the given parameters. + + + + + + + + + + + Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type. + + The key of the string. + The value to set. + The expiry to set. + Whether to maintain the existing key's TTL (KEEPTTL flag). + Which condition to set the value under (defaults to always). + The flags to use for this operation. + if the string was set, otherwise. + + + + + Sets the given keys to their respective values. + If is specified, this will not perform any operation at all even if just a single key already exists. + + The keys and values to set. + Which condition to set the value under (defaults to always). + The flags to use for this operation. + if the keys were set, otherwise. + + See + , + . + + + + + Atomically sets key to value and returns the previous value (if any) stored at . + + The key of the string. + The value to set. + The expiry to set. + Which condition to set the value under (defaults to ). + The flags to use for this operation. + The previous value stored at , or when key did not exist. + + This method uses the SET command with the GET option introduced in Redis 6.2.0 instead of the deprecated GETSET command. + + + + + + Atomically sets key to value and returns the previous value (if any) stored at . + + The key of the string. + The value to set. + The expiry to set. + Whether to maintain the existing key's TTL (KEEPTTL flag). + Which condition to set the value under (defaults to ). + The flags to use for this operation. + The previous value stored at , or when key did not exist. + This method uses the SET command with the GET option introduced in Redis 6.2.0 instead of the deprecated GETSET command. + + + + + Sets or clears the bit at offset in the string value stored at key. + The bit is either set or cleared depending on value, which can be either 0 or 1. + When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset. + + The key of the string. + The offset in the string to set . + The bit value to set, true for 1, false for 0. + The flags to use for this operation. + The original bit value stored at offset. + + + + + Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. + If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. + Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset. + + The key of the string. + The offset in the string to overwrite. + The value to overwrite with. + The flags to use for this operation. + The length of the string after it was modified by the command. + + + + + Describes functionality that is common to both standalone redis servers and redis clusters. + + + + + Indicates whether the instance can communicate with the server (resolved using the supplied key and optional flags). + + The key to check for. + The flags to use for this operation. + + + + + + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Describes retry policy functionality that can be provided to the multiplexer to be used for connection reconnects. + + + + + This method is called by the multiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the multiplexer while it was in connecting state. + Total time elapsed in milliseconds since the last reconnect retry was made. + + + + Common operations available to all redis connections. + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The command flags to use when pinging. + The observed latency. + + + + + Common operations available to all redis connections. + + + + + Gets the multiplexer that created this instance. + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The command flags to use. + The observed latency. + + + + + Wait for a given asynchronous operation to complete (or timeout), reporting which. + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The task to wait on. + + + + Wait for a given asynchronous operation to complete (or timeout). + + The type of task to wait on. + The task to wait on. + + + + Wait for the given asynchronous operations to complete (or timeout). + + The tasks to wait on. + + + + Represents a resumable, cursor-based scanning operation. + + + + + Returns the cursor that represents the *active* page of results (not the pending/next page of results as returned by SCAN/HSCAN/ZSCAN/SSCAN). + + + + + The page size of the current operation. + + + + + The offset into the current page. + + + + + Provides configuration controls of a redis server. + + + + + Gets the cluster configuration associated with this server, if known. + + + + + Gets the address of the connected server. + + + + + Gets the features available to the connected server. + + + + + Gets whether the connection to the server is active and usable. + + + + + The protocol being used to communicate with this server (if not connected/known, then the anticipated protocol from the configuration is returned, assuming success). + + + + + Gets whether the connected server is a replica. + + + + + Gets whether the connected server is a replica. + + + + + Explicitly opt in for replica writes on writable replica. + + + + + Explicitly opt in for replica writes on writable replica. + + + + + Gets the operating mode of the connected server. + + + + + Gets the version of the connected server. + + + + + The number of databases supported on this server. + + + + + The CLIENT KILL command closes a given client connection identified by ip:port. + The ip:port should match a line returned by the CLIENT LIST command. + Due to the single-threaded nature of Redis, it is not possible to kill a client connection while it is executing a command. + From the client point of view, the connection can never be closed in the middle of the execution of a command. + However, the client will notice the connection has been closed only when the next command is sent (and results in network error). + + The endpoint of the client to kill. + The command flags to use. + + + + + + + + The CLIENT KILL command closes multiple connections that match the specified filters. + + The ID of the client to kill. + The type of client. + The endpoint to kill. + Whether to skip the current connection. + The command flags to use. + the number of clients killed. + + + + + + + + The CLIENT KILL command closes multiple connections that match the specified filters. + + The filter to use in choosing which clients to kill. + The command flags to use. + the number of clients killed. + + + + + + + The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. + + The command flags to use. + + + + + + + + Obtains the current CLUSTER NODES output from a cluster server. + + The command flags to use. + + + + + + + + Obtains the current raw CLUSTER NODES output from a cluster server. + + The command flags to use. + + + + + + + + Get all configuration parameters matching the specified pattern. + + The pattern of config values to get. + The command flags to use. + All matching configuration parameters. + + + + + + + + Resets the statistics reported by Redis using the INFO command. + + The command flags to use. + + + + + + + + The CONFIG REWRITE command rewrites the redis.conf file the server was started with, + applying the minimal changes needed to make it reflecting the configuration currently + used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. + + The command flags to use. + + + + + + + + The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. + You can change both trivial parameters or switch from one to another persistence option using this command. + + The setting name. + The new setting value. + The command flags to use. + + + + + + + + Returns the number of total commands available in this Redis server. + + The command flags to use. + + + + + + + + Returns list of keys from a full Redis command. + + The command to get keys from. + The command flags to use. + + + + + + + + Returns a list of command names available on this Redis server. + Only one of the filter options is usable at a time. + + The module name to filter the command list by. + The category to filter the command list by. + The pattern to filter the command list by. + The command flags to use. + + + + + + + + Return the number of keys in the database. + + The database ID. + The command flags to use. + + + + + + + + Return the same message passed in. + + The message to echo. + The command flags to use. + + + + + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API. + + The command to run. + The arguments to pass for the command. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API. + + The command to run. + The arguments to pass for the command. + The flags to use for this operation. + A dynamic representation of the command's result. + This API should be considered an advanced feature; inappropriate use can be harmful. + + + + + + + Delete all the keys of all databases on the server. + + The command flags to use. + + + + + + + + Delete all the keys of the database. + + The database ID. + The command flags to use. + + + + + + + + Get summary statistics associates with this server. + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + The info section to get, if getting a specific one. + The command flags to use. + A grouping of key/value pairs, grouped by their section header. + + + + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + The info section to get, if getting a specific one. + The command flags to use. + The entire raw INFO string. + + + + + + + + + + + Returns all keys matching . + The KEYS or SCAN commands will be used based on the server capabilities. + Note: to resume an iteration via cursor, cast the original enumerable or enumerator to . + + The database ID. + The pattern to use. + The page size to iterate by. + The cursor position to resume at. + The page offset to start at. + The command flags to use. + An enumeration of matching redis keys. + + Warning: consider KEYS as a command that should only be used in production environments with extreme care. + + See + , + . + + + + + + + + + Return the time of the last DB save executed with success. + A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command + and checking at regular intervals every N seconds if LASTSAVE changed. + + The command flags to use. + The last time a save was performed. + + + + + + + + + + + Promote the selected node to be primary. + + The options to use for this topology change. + The log to write output to. + + + + + Returns the role info for the current server. + + + + + + + + + Explicitly request the database to persist the current state to disk. + + The method of the save (e.g. background or foreground). + The command flags to use. + + See + , + , + , + . + + + + + + + + Indicates whether the specified script is defined on the server. + + The text of the script to check for on the server. + The command flags to use. + + + + + + + + Indicates whether the specified script hash is defined on the server. + + The SHA1 of the script to check for on the server. + The command flags to use. + + + + + + + + Removes all cached scripts on this server. + + The command flags to use. + + + + + + + + Explicitly defines a script on the server. + + The script to load. + The command flags to use. + The SHA1 of the loaded script. + + + + + + + + Explicitly defines a script on the server. + + The script to load. + The command flags to use. + The loaded script, ready for rapid reuse based on the SHA1. + + + + + + + + Asks the redis server to shutdown, killing all connections. Please FULLY read the notes on the SHUTDOWN command. + + The mode of the shutdown. + The command flags to use. + + + + + + + + + + + + + + The REPLICAOF command can change the replication settings of a replica on the fly. + If a Redis server is already acting as replica, specifying a null primary will turn off the replication, + turning the Redis server into a PRIMARY. Specifying a non-null primary will make the server a replica of + another server listening at the specified hostname and port. + + Endpoint of the new primary to replicate from. + The command flags to use. + + + + + To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. + It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). + + The count of items to get. + The command flags to use. + The slow command traces as recorded by the Redis server. + + + + + + + + You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. + + The command flags to use. + + + + + + + + Lists the currently active channels. + An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). + + The channel name pattern to get channels for. + The command flags to use. + a list of active channels, optionally matching the specified pattern. + + + + + + + + Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). + Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. + + The command flags to use. + the number of patterns all the clients are subscribed to. + + + + + + + + Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. + + The channel to get a subscriber count for. + The command flags to use. + The number of subscribers on this server. + + + + + + + + Swaps two Redis databases, so that immediately all the clients connected to a given database will see the data of the other database, and the other way around. + + The ID of the first database. + The ID of the second database. + The command flags to use. + + + + + + + + The TIME command returns the current server time in UTC format. + Use the method to get local time. + + The command flags to use. + The server's current time. + + + + + + + + Gets a text-based latency diagnostic. + + The full text result of latency doctor. + + See + , + . + + + + + + + + Resets the given events (or all if none are specified), discarding the currently logged latency spike events, and resetting the maximum event time register. + + The number of events that were reset. + + See + , + . + + + + + + + + Fetch raw latency data from the event time series, as timestamp-latency pairs. + + An array of latency history entries. + + See + , + . + + + + + + + + Fetch raw latency data from the event time series, as timestamp-latency pairs. + + An array of the latest latency history entries. + + See + , + . + + + + + + + + Reports about different memory-related issues that the Redis server experiences, and advises about possible remedies. + + The full text result of memory doctor. + + + + + + + + Attempts to purge dirty pages so these can be reclaimed by the allocator. + + + + + + + + + Returns an array reply about the memory usage of the server. + + An array reply of memory stat metrics and values. + + + + + + + + Provides an internal statistics report from the memory allocator. + + The full text result of memory allocation stats. + + + + + + + + Returns the IP and port number of the primary with that name. + If a failover is in progress or terminated successfully for this primary it returns the address and port of the promoted replica. + + The sentinel service name. + The command flags to use. + The primary IP and port. + + + + + + + + Returns the IP and port numbers of all known Sentinels for the given service name. + + The sentinel service name. + The command flags to use. + A list of the sentinel IPs and ports. + + + + + + + + Returns the IP and port numbers of all known Sentinel replicas for the given service name. + + The sentinel service name. + The command flags to use. + A list of the replica IPs and ports. + + + + + + + + Show the state and info of the specified primary. + + The sentinel service name. + The command flags to use. + The primaries state as KeyValuePairs. + + + + + + + + Show a list of monitored primaries and their state. + + The command flags to use. + An array of primaries state KeyValuePair arrays. + + + + + + + + + + + + + + Show a list of replicas for this primary, and their state. + + The sentinel service name. + The command flags to use. + An array of replica state KeyValuePair arrays. + + + + + + + + Force a failover as if the primary was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + The sentinel service name. + The command flags to use. + + + + + + + + Show a list of sentinels for a primary, and their state. + + The sentinel service name. + The command flags to use. + + + + + + + + For testing only: Break the connection without mercy or thought. + + The server to simulate failure on. + The type of failure(s) to simulate. + + + + A redis connection used as the subscriber in a pub/sub scenario. + + + + + Indicate exactly which redis server we are talking to. + + The channel to identify the server endpoint by. + The command flags to use. + + + + + + + Indicates whether the instance can communicate with the server. + If a channel is specified, the existing subscription map is queried to + resolve the server responsible for that subscription - otherwise the + server is chosen arbitrarily from the primaries. + + The channel to identify the server endpoint by. + if connected, otherwise. + + + + Posts a message to the given channel. + + The channel to publish to. + The message to publish. + The command flags to use. + + The number of clients that received the message *on the destination server*, + note that this doesn't mean much in a cluster as clients can get the message through other nodes. + + + + + + + + + Subscribe to perform some operation when a message to the preferred/active node is broadcast, without any guarantee of ordered handling. + + The channel to subscribe to. + The handler to invoke when a message is received on . + The command flags to use. + + See + , + . + + + + + + + + Subscribe to perform some operation when a message to the preferred/active node is broadcast, as a queue that guarantees ordered handling. + + The redis channel to subscribe to. + The command flags to use. + A channel that represents this source. + + See + , + . + + + + + + + + Indicate to which redis server we are actively subscribed for a given channel. + + The channel to check which server endpoint was subscribed on. + The subscribed endpoint for the given , if the channel is not actively subscribed. + + + + Unsubscribe from a specified message channel. + Note: if no handler is specified, the subscription is canceled regardless of the subscribers. + If a handler is specified, the subscription is only canceled if this handler is the last handler remaining against the channel. + + The channel that was subscribed to. + The handler to no longer invoke when a message is received on . + The command flags to use. + + See + , + . + + + + + + + + Unsubscribe all subscriptions on this instance. + + The command flags to use. + + See + , + . + + + + + + + + Represents a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. Transactions can also include constraints + (implemented via WATCH), but note that constraint checking involves will (very briefly) + block the connection, since the transaction cannot be correctly committed (EXEC), + aborted (DISCARD) or not applied in the first place (UNWATCH) until the responses from + the constraint checks have arrived. + + + Note that on a cluster, it may be required that all keys involved in the transaction (including constraints) are in the same hash-slot. + + + + + + Adds a precondition for this transaction. + + The condition to add to the transaction. + + + + Execute the batch operation, sending all queued commands to the server. + + The command flags to use. + + + + Execute the batch operation, sending all queued commands to the server. + + The command flags to use. + + + + Describes internal errors (mainly intended for debugging). + + + + + This constructor is only for testing purposes. + + The source of the event. + The endpoint (if any) involved in the event. + Redis connection type. + The exception that occurred. + Origin. + + + + Gets the connection-type of the failing connection. + + + + + Gets the failing server-endpoint (this can be null). + + + + + Gets the exception if available (this can be null). + + + + + The underlying origin of the error. + + + + + Provides the extension method to . + + + + + Creates a new instance that provides an isolated key space + of the specified underlying database instance. + + + The underlying database instance that the returned instance shall use. + + + The prefix that defines a key space isolation for the returned database instance. + + + A new instance that invokes the specified underlying + but prepends the specified + to all key parameters and thus forms a logical key space isolation. + + + + The following methods are not supported in a key space isolated database and + will throw an when invoked: + + + + + + + Please notice that keys passed to a script are prefixed (as normal) but care must + be taken when a script returns the name of a key as that will (currently) not be + "unprefixed". + + + + + + A sized region of contiguous memory backed by a memory pool; disposing the lease returns the memory to the pool. + + The type of data being leased. + + + + A lease of length zero. + + + + + The length of the lease. + + + + + Create a new lease. + + The size required. + Whether to erase the memory. + + + + Release all resources owned by the lease. + + + + + The data as a . + + + + + The data as a . + + + + + The data as an . + + + + + Represents a retry policy that performs retries at a fixed interval. The retries are performed up to a maximum allowed time. + + + + + Initializes a new instance using the specified maximum retry elapsed time allowed. + + maximum elapsed time in milliseconds to be allowed for it to perform retries. + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state. + Total elapsed time in milliseconds since the last reconnect retry was made. + + + + Represents a Lua script that can be executed on Redis. + + Unlike normal Redis Lua scripts, LuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + + Parameters of type RedisKey are sent to Redis as KEY (https://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + Since the mapping of "script text" -> LuaScript doesn't depend on any particular details of + the redis connection itself, this cache is global. + + + + + The original Lua script that was used to create this. + + + + + The Lua script that will actually be sent to Redis for execution. + All @-prefixed parameter names have been replaced at this point. + + + + + Arguments are in the order they have to passed to the script in. + + + + + Finalizer - used to prompt cleanups of the script cache when a LuaScript reference goes out of scope. + + + + + Invalidates the internal cache of LuaScript objects. + Existing LuaScripts will continue to work, but future calls to LuaScript.Prepare + return a new LuaScript instance. + + + + + Returns the number of cached LuaScripts. + + + + + Prepares a Lua script with named parameters to be run against any Redis instance. + + The script to prepare. + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + using the implicit SHA1 hash that's calculated after the script is sent to the server for the first time. + + Note: the FireAndForget command flag cannot be set. + + The server to load the script on. + The command flags to use. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + using the implicit SHA1 hash that's calculated after the script is sent to the server for the first time. + + Note: the FireAndForget command flag cannot be set. + + The server to load the script on. + The command flags to use. + + + + Represents a Lua script that can be executed on Redis. + + Unlike LuaScript, LoadedLuaScript sends the hash of it's ExecutableScript to Redis rather than pass + the whole script on each call. This requires that the script be loaded into Redis before it is used. + + + To create a LoadedLuaScript first create a LuaScript via LuaScript.Prepare(string), then + call Load(IServer, CommandFlags) on the returned LuaScript. + + + Unlike normal Redis Lua scripts, LoadedLuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + + Parameters of type RedisKey are sent to Redis as KEY (https://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + The original script that was used to create this LoadedLuaScript. + + + + + The script that will actually be sent to Redis for execution. + + + + + The SHA1 hash of ExecutableScript. + This is sent to Redis instead of ExecutableScript during Evaluate and EvaluateAsync calls. + + Be aware that using hash directly is not resilient to Redis server restarts. + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. + If the script has not been loaded into the passed Redis instance, it will fail. + + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. + If the script has not been loaded into the passed Redis instance, it will fail. + + + The redis database to evaluate against. + The parameter object to use. + The key prefix to use, if any. + The command flags to use. + + + + Azure node maintenance event. For more information, please see: . + + + + + Indicates the type of event (raw string form). + + + + + The parsed version of for easier consumption. + + + + + Indicates if the event is for a replica node. + + + + + IPAddress of the node event is intended for. + + + + + SSL Port. + + + + + Non-SSL port. + + + + + The types of notifications that Azure is sending for events happening. + + + + + Unrecognized event type, likely needs a library update to recognize new events. + + + + + Indicates that a maintenance event is scheduled. May be several minutes from now. + + + + + This event gets fired ~20s before maintenance begins. + + + + + This event gets fired when maintenance is imminent (<5s). + + + + + Indicates that the node maintenance operation is over. + + + + + Indicates that a replica has been promoted to primary. + + + + + Indicates that a scale event (adding or removing nodes) has completed for a cluster. + + + + + Base class for all server maintenance events. + + + + + Raw message received from the server. + + + + + The time the event was received. If we know when the event is expected to start will be populated. + + + + + Indicates the expected start time of the event. + + + + + Returns a string representing the maintenance event with all of its properties. + + + + + Notifies a ConnectionMultiplexer of this event, for anyone observing its handler. + + + + + Things with the potential to cause harm, or to reveal configuration information. + + + + Gets whether this is primary-only. + + Note that the constructor runs the switch statement above, so + this will already be true for primary-only commands, even if the + user specified etc. + + + + + This does a few important things: + 1: it suppresses error events for commands that the user isn't interested in + (i.e. "why does my standalone server keep saying ERR unknown command 'cluster' ?") + 2: it allows the initial PING and GET (during connect) to get queued rather + than be rejected as no-server-available (note that this doesn't apply to + handshake messages, as they bypass the queue completely). + 3: it disables non-pref logging, as it is usually server-targeted. + + + + + Gets a string representation of this message: "[{DB}]:{CommandAndKey} ({resultProcessor})". + + + + + Gets a string representation of this message without the key: "[{DB}]:{Command} ({resultProcessor})". + + + + + Gets if this command should be sent over the subscription bridge. + + + + + Sends this command to the subscription connection rather than the interactive. + + + + + Checks if this message has violated the provided timeout. + Whether it's a sync operation in a .Wait() or in the backlog queue or written/pending asynchronously, we need to timeout everything. + ...or we get indefinite Task hangs for completions. + + + + + Sets the processor and box for this message to execute. + + + Note order here is reversed to prevent overload resolution errors. + + + + + Sets the box and processor for this message to execute. + + + Note order here is reversed to prevent overload resolution errors. + + The type of the result box result. + + + + We have 1 queue in play on this bridge. + We're bypassing the queue for handshake events that go straight to the socket. + Everything else that's not an internal call goes into the queue if there is a queue. + + + In a later release we want to remove per-server events from this queue completely and shunt queued messages + to another capable primary connection if one is available to process them faster (order is already hosed). + For now, simplicity in: queue it all, replay or timeout it all. + + + + + If we have a connection, report the protocol being used. + + + + + Number of messages sent since the last heartbeat was processed. + + + + + The time this connection was connected at, if it's connected currently. + + + + + Whether the pipe writer is currently active. + + + + + Status of the currently processing backlog, if any. + + + + + The number of messages that are in the backlog queue (waiting to be sent when the connection is healthy again). + + + + + The number of messages that are in the backlog queue (waiting to be sent when the connection is healthy again). + + + + + The number of messages ever added to the backlog queue in the life of this connection. + + + + + Status for the underlying . + + + + + The default bridge stats, notable *not* the same as default since initializers don't run. + + + + + Sends a keepalive message (ECHO or PING) to keep connections alive and check validity of response. + + Whether to run even then the connection isn't idle. + + + + Crawls from the head of the backlog queue, consuming anything that should have timed out + and pruning it accordingly (these messages will get timeout exceptions). + + + + + Process the backlog(s) in play if any. + This means flushing commands to an available/active connection (if any) or spinning until timeout if not. + + + + + Reset event for monitoring backlog additions mid-run. + This allows us to keep the thread around for a full flush and prevent "feathering the throttle" trying + to flush it. In short, we don't start and stop so many threads with a bit of linger. + + + + + This writes a message to the output stream. + + The physical connection to write to. + The message to be written. + Whether this message should bypass the backlog, going straight to the pipe or failing. + + + + For testing only. + + + + + Nullable because during simulation of failure, we'll null out. + ...but in those cases, we'll accept any null ref in a race - it's fine. + + + + + Did we ask for the shutdown? If so this leads to informational messages for tracking but not errors. + + + + Returns a string that represents the current object. + A string that represents the current object. + + + + Runs on every heartbeat for a bridge, timing out any commands that are overdue and returning an integer of how many we timed out. + + How many commands were overdue and threw timeout exceptions. + + + + Number of messages sent outbound, but we don't yet have a response for. + + + + + Bytes available on the socket, not yet read into the pipe. + + + + + Bytes read from the socket, pending in the reader pipe. + + + + + Bytes in the writer pipe, waiting to be written to the socket. + + + + + Byte size of the last result we processed. + + + + + Byte size on the buffer that isn't processed yet. + + + + + The inbound pipe reader status. + + + + + The outbound pipe writer status. + + + + + The default connection stats, notable *not* the same as default since initializers don't run. + + + + + The zeroed connection stats, which we want to display as zero for default exception cases. + + + + + A profiled command against a redis instance. + + TimeSpans returned by this interface use a high precision timer if possible. + DateTimes returned by this interface are no more precise than DateTime.UtcNow. + + + + + + The endpoint this command was sent to. + + + + + The Db this command was sent to. + + + + + The name of this command. + + + + + The CommandFlags the command was submitted with. + + + + + + When this command was *created*, will be approximately + when the paired method of StackExchange.Redis was called but + before that method returned. + + Note that the resolution of the returned DateTime is limited by DateTime.UtcNow. + + + + + How long this command waited to be added to the queue of pending + redis commands. A large TimeSpan indicates serious contention for + the pending queue. + + + + + How long this command spent in the pending queue before being sent to redis. + A large TimeSpan can indicate a large number of pending events, large pending events, + or network issues. + + + + + How long before Redis responded to this command and it's response could be handled after it was sent. + A large TimeSpan can indicate a large response body, an overtaxed redis instance, or network issues. + + + + + How long between Redis responding to this command and awaiting consumers being notified. + + + + + How long it took this redis command to be processed, from creation to deserializing the final response. + Note that this TimeSpan *does not* include time spent awaiting a Task in consumer code. + + + + + + If a command has to be resent due to an ASK or MOVED response from redis (in a cluster configuration), + the second sending of the command will have this property set to the original IProfiledCommand. + + This can only be set if redis is configured as a cluster. + + + + + If RetransmissionOf is not null, this property will be set to either Ask or Moved to indicate + what sort of response triggered the retransmission. + + This can be useful for determining the root cause of extra commands. + + + + + A collection of IProfiledCommands. + This is a very light weight data structure, only supporting enumeration. + + While it implements IEnumerable, it there are fewer allocations if one uses + it's explicit GetEnumerator() method. Using `foreach` does this automatically. + + This type is not threadsafe. + + + + + + Implements IEnumerator for ProfiledCommandEnumerable. + This implementation is comparable to List.Enumerator and Dictionary.Enumerator, + and is provided to reduce allocations in the common (ie. foreach) case. + + This type is not threadsafe. + + + + + The current element. + + + + + Advances the enumeration, returning true if there is a new element to consume and false + if enumeration is complete. + + + + + Resets the enumeration. + + + + + Disposes the enumeration. + subsequent attempts to enumerate results in undefined behavior. + + + + + Returns the number of commands captured in this snapshot. + + + + + Returns the number of commands captured in this snapshot that match a condition. + + The predicate to match. + + + + Returns the captured commands as an array. + + + + + Returns the captured commands as a list. + + + + + + Returns an implementor of IEnumerator that, provided it isn't accessed + though an interface, avoids allocations. + + `foreach` will automatically use this method. + + + + + Lightweight profiling session that can be optionally registered (via ConnectionMultiplexer.RegisterProfiler) to track messages. + + + + + Caller-defined state object. + + + + + Create a new profiling session, optionally including a caller-defined state object. + + The state object to use for this session. + + + + Reset the session and yield the commands that were captured for enumeration; if additional commands + are added, they can be retrieved via additional calls to FinishProfiling. + + + + + Represents a pub/sub channel name. + + + + + Indicates whether the channel-name is either null or a zero-length value. + + + + + Indicates whether this channel represents a wildcard pattern (see PSUBSCRIBE). + + + + + Indicates whether channels should use when no + is specified; this is enabled by default, but can be disabled to avoid unexpected wildcard scenarios. + + + + + Creates a new that does not act as a wildcard subscription. + + + + + Creates a new that does not act as a wildcard subscription. + + + + + Creates a new that acts as a wildcard subscription. + + + + + Creates a new that acts as a wildcard subscription. + + + + + Create a new redis channel from a buffer, explicitly controlling the pattern mode. + + The name of the channel to create. + The mode for name matching. + + + + Create a new redis channel from a string, explicitly controlling the pattern mode. + + The string name of the channel to create. + The mode for name matching. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two channel names are equal. + + The first to compare. + The second to compare. + + + + See . + + The to compare to. + + + + Indicate whether two channel names are equal. + + The to compare to. + + + + + + + Obtains a string representation of the channel name. + + + + + The matching pattern for this channel. + + + + + Will be treated as a pattern if it includes *. + + + + + Never a pattern. + + + + + Always a pattern. + + + + + Create a channel name from a . + + The string to get a channel from. + + + + Create a channel name from a . + + The byte array to get a channel from. + + + + Obtain the channel name as a . + + The channel to get a byte[] from. + + + + Obtain the channel name as a . + + The channel to get a string from. + + + + Gets message for . + + + + + Gets a message for . + + + + + + Notification of errors from the redis server. + + + + + This constructor is only for testing purposes. + + The source of the event. + Redis endpoint. + Error message. + + + + The origin of the message. + + + + + The message from the server. + + + + + Provides basic information about the features available on a particular version of Redis. + + + + + Create a new RedisFeatures instance for the given version. + + The version of redis to base the feature set on. + + + + Are BITOP and BITCOUNT available? + + + + + Is CLIENT SETNAME available? + + + + + Is CLIENT ID available? + + + + + Does EXEC support EXECABORT if there are errors? + + + + + Can EXPIRE be used to set expiration on a key that is already volatile (i.e. has an expiration)? + + + + + Is GETDEL available? + + + + + Is HSTRLEN available? + + + + + Does HDEL support variadic usage? + + + + + Are INCRBYFLOAT and HINCRBYFLOAT available? + + + + + Does INFO support sections? + + + + + Is LINSERT available? + + + + + Is MEMORY available? + + + + + Are PEXPIRE and PTTL available? + + + + + Is MODULE available? + + + + + Does SRANDMEMBER support the "count" option? + + + + + Is PERSIST available? + + + + + Are LPUSHX and RPUSHX available? + + + + + Does this support SORT_RO? + + + + + Is SCAN (cursor-based scanning) available? + + + + + Are EVAL, EVALSHA, and other script commands available? + + + + + Does SET support the GET option? + + + + + Does SET support the EX, PX, NX, and XX options? + + + + + Does SET have the KEEPTTL option? + + + + + Does SET allow the NX and GET options to be used together? + + + + + Does SADD support variadic usage? + + + + + Are ZPOPMIN and ZPOPMAX available? + + + + + Is ZRANGESTORE available? + + + + + Are Redis Streams available? + + + + + Is STRLEN available? + + + + + Is SETRANGE available? + + + + + Is SWAPDB available? + + + + + Is TIME available? + + + + + Is UNLINK available? + + + + + Are Lua changes to the calling database transparent to the calling client? + + + + + + + + Is PFCOUNT available on replicas? + + + + + Are geospatial commands available? + + + + + Can PING be used on a subscription connection? + + + + + Does SPOP support popping multiple items? + + + + + Is TOUCH available? + + + + + Does the server prefer 'replica' terminology - 'REPLICAOF', etc? + + + + + Do list-push commands support multiple arguments? + + + + + Is the RESP3 protocol available? + + + + + The Redis version of the server. + + + + + Create a string representation of the available features. + + + + Returns the hash code for this instance. + A 32-bit signed integer that is the hash code for this instance. + + + + Indicates whether this instance and a specified object are equal. + + + if and this instance are the same type and represent the same value, otherwise. + + The object to compare with the current instance. + + + + Indicates whether this instance and a specified object are equal. + + + if and this instance are the same type and represent the same value, otherwise. + + The object to compare with the current instance. + + + + Checks if 2 are .Equal(). + + + + + Checks if 2 are not .Equal(). + + + + + Represents a key that can be stored in redis. + + + + + Creates a from a string. + + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are not equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + Indicate whether two keys are equal. + + The first to compare. + The second to compare. + + + + See . + + The to compare to. + + + + Indicate whether two keys are equal. + + The to compare to. + + + + + + + Obtains a string representation of the key. + + + + + Create a from a . + + The string to get a key from. + + + + Create a from a . + + The byte array to get a key from. + + + + Obtain the as a . + + The key to get a byte array for. + + + + Obtain the key as a . + + The key to get a string for. + + + + Concatenate two keys. + + The first to add. + The second to add. + + + + Prepends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make it less possible. + + + The prefix to prepend. + + + + Appends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make it less possible. + + + The suffix to append. + + + + Indicates the protocol for communicating with the server. + + + + + The protocol used by all redis server versions since 1.2, as defined by https://github.com/redis/redis-specifications/blob/master/protocol/RESP2.md. + + + + + Opt-in variant introduced in server version 6, as defined by https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md. + + + + + Represents a general-purpose result from redis, that may be cast into various anticipated types. + + + + + Do not use. + + + + + Create a new RedisResult representing a single value. + + The to create a result from. + The type of result being represented. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + The explicit data type. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + new . + + + + Create a new RedisResult representing an array of values. + + The s to create a result from. + The explicit data type. + new . + + + + An empty array result. + + + + + A null array result. + + + + + A null single result, to use as a default for invalid returns. + + + + + Gets the number of elements in this item if it is a valid array, or -1 otherwise. + + + + + + + + Gets the string content as per , but also obtains the declared type from verbatim strings (for example LATENCY DOCTOR). + + The type of the returned string. + The content. + + + + Internally, this is very similar to RawResult, except it is designed to be usable, + outside of the IO-processing pipeline: the buffers are standalone, etc. + + + + + Indicate the type of result that was received from redis, in RESP2 terms. + + + + + Indicate the type of result that was received from redis, in RESP3 terms. + + + + + Indicate the type of result that was received from redis, in RESP2 terms. + + + + + Indicates whether this result was a null result. + + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as an . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets the result as a . + + The result to convert to a . + + + + Interprets a multi-bulk result with successive key/name values as a dictionary keyed by name. + + The key comparator to use, or by default. + + + + Get a sub-item by index. + + + + + Create a from a key. + + The to create a from. + + + + Create a from a channel. + + The to create a from. + + + + For testing only. + + + + + A wrapper for subscription actions. + + + By having most functionality here and state on , we can + use the baseline execution methods to take the normal message paths. + + + + + This is *could* we be connected, as in "what's the theoretical endpoint for this channel?", + rather than if we're actually connected and actually listening on that channel. + + + + + Unregisters a handler or queue and returns if we should remove it from the server. + + if we should remove the subscription from the server, otherwise. + + + + Represents values that can be stored in redis. + + + + + Creates a from a string. + + + + + Obtain this value as an object - to be used alongside Unbox. + + + + + Parse this object as a value - to be used alongside Box. + + The value to unbox. + + + + Represents the string "". + + + + + A null value. + + + + + Indicates whether the **underlying** value is a primitive integer (signed or unsigned); this is **not** + the same as whether the value can be *treated* as an integer - see + and , which is usually the more appropriate test. + + + + + Indicates whether the value should be considered a null value. + + + + + Indicates whether the value is either null or a zero-length value. + + + + + Indicates whether the value is greater than zero-length or has an integer value. + + + + + Indicates whether two RedisValue values are equivalent. + + The first to compare. + The second to compare. + + + + Indicates whether two RedisValue values are equivalent. + + The first to compare. + The second to compare. + + + + See . + + The other to compare. + + + + Indicates whether two RedisValue values are equivalent. + + The to compare to. + + + + + + + Returns a string representation of the value. + + + + + Get the size of this value in bytes. + + + + + Compare against a RedisValue for relative order. + + The other to compare. + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from a . + + The to convert to a . + + + + Creates a new from a . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Creates a new from an . + + The to convert to a . + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts the to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Converts a to a . + + The to convert. + + + + Attempt to reduce to canonical terms ahead of time; parses integers, floats, etc + Note: we don't use this aggressively ahead of time, a: because of extra CPU, + but more importantly b: because it can change values - for example, if they start + with "123.000", it should **stay** as "123.000", not become 123L; this could be + a hash key or similar - we don't want to break it; RedisConnection uses + the storage type, not the "does it look like a long?" - for this reason. + + + + + Convert to a signed if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Convert to an if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Convert to a if possible. + + The value, if conversion was possible. + if successfully parsed, otherwise. + + + + Create a from a . + It will *attempt* to use the internal buffer directly, but if this isn't possible it will fallback to . + + The to create a value from. + + + + Indicates whether the current value has the supplied value as a prefix. + + The to check. + + + + Anything hashed with SHA1 has exactly 40 characters. We can use that as a shortcut in the code bellow. + + + + + Parser for the https://redis.io/commands/lcs/ format with the and arguments. + + + Example response: + 1) "matches" + 2) 1) 1) 1) (integer) 4 + 2) (integer) 7 + 2) 1) (integer) 5 + 2) (integer) 8 + 3) (integer) 4 + 3) "len" + 4) (integer) 6 + ... + + + + + Handles . + + + + + Handles . + + + + + This processor is for *without* the option. + + + + + This processor is for *with* the option. + + + + + Handles stream responses. For formats, see . + + The type of the stream result. + + + + Result of the ROLE command. Values depend on the role: master, replica, or sentinel. + + + + + + One of "master", "slave" (aka replica), or "sentinel". + + + + + + + + Result of the ROLE command for a primary node. + + + + + + The replication offset. To be consumed by replica nodes. + + + + + Connected replica nodes. + + + + + A connected replica node. + + + + + The IP address of this replica node. + + + + + The port number of this replica node. + + + + + The last replication offset acked by this replica node. + + + + + + + + Result of the ROLE command for a replica node. + + + + + + The IP address of the primary node for this replica. + + + + + The port number of the primary node for this replica. + + + + + This replica's replication state. + + + + + The last replication offset received by this replica. + + + + + Result of the ROLE command for a sentinel node. + + + + + + Primary names monitored by this sentinel node. + + + + + An unexpected result of the ROLE command. + + + + + Turns a script with @namedParameters into a LuaScript that can be executed against a given IDatabase(Async) object. + + The script to prepare. + + + + Determines whether or not the given type can be used to provide parameters for the given . + + The type of the parameter. + The script to match against. + The first missing member, if any. + The first type mismatched member, if any. + + + + Creates a Func that extracts parameters from the given type for use by a LuaScript. + + Members that are RedisKey's get extracted to be passed in as keys to redis; all members that + appear in the script get extracted as RedisValue arguments to be sent up as args. + + + We send all values as arguments so we don't have to prepare the same script for different parameter + types. + + + The created Func takes a RedisKey, which will be prefixed to all keys (and arguments of type RedisKey) for + keyspace isolation. + + + The type to extract for. + The script to extract for. + + + + Illustrates the queues associates with this server. + + + + + Creates a instance for an . + + The to create counters for. + + + + The endpoint to which this data relates (this can be null if the data represents all servers). + + + + + Counters associated with the interactive (non pub-sub) connection. + + + + + Counters associated with other ambient activity. + + + + + Counters associated with the subscription (pub-sub) connection. + + + + + Indicates the total number of outstanding items against this server. + + + + + See . + + + + + Whether this endpoint supports databases at all. + Note that some servers are cluster but present as standalone (e.g. Redis Enterprise), so we respect + being disabled here as a performance workaround. + + + This is memoized because it's accessed on hot paths inside the write lock. + + + + + Awaitable state seeing if this endpoint is connected. + + + + + If we have a connection (interactive), report the protocol being used. + + + + + Used to round-robin between multiple replicas. + + + + + Result of the latest tie breaker (from the last reconfigure). + + + + + Forces frequent replication check starting from 1 second up to max ConfigCheckSeconds with an exponential increment. + + + + + Write the message directly to the pipe or fail...will not queue. + + The type of the result processor. + + + + For testing only. + + + + + Computes the hash-slot that would be used by the given key. + + The to determine a slot ID for. + + + + Computes the hash-slot that would be used by the given channel. + + The to determine a slot ID for. + + + + Gets the hashslot for a given byte sequence. + + + HASH_SLOT = CRC16(key) mod 16384. + + + + + A SocketManager monitors multiple sockets for availability of data; this is done using + the Socket.Select API and a dedicated reader-thread, which allows for fast responses + even when the system is under ambient load. + + + + + Gets the name of this SocketManager instance. + + + + + Creates a new instance. + + The name for this . + + + + Creates a new instance. + + The name for this . + Whether this should use high priority sockets. + + + + Creates a new (optionally named) instance. + + The name for this . + the number of dedicated workers for this . + Whether this should use high priority sockets. + + + + Additional options for configuring the socket manager. + + + + + No additional options. + + + + + Whether the should use high priority sockets. + + + + + Use the regular thread-pool for all scheduling. + + + + + Creates a new (optionally named) instance. + + The name for this . + The number of dedicated workers for this . + Options to use when creating the socket manager. + + + + Default / shared socket manager using a dedicated thread-pool. + + + + + Shared socket manager using the main thread-pool. + + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + Releases all resources associated with this instance. + + + + + Releases *appropriate* resources associated with this instance. + + + + + Constants representing values used in Redis Stream commands. + + + + + The "~" value used with the MAXLEN option. + + + + + The "*" value used with the XADD command. + + + + + The "$" value used in the XGROUP command. Indicates reading only new messages from the stream. + + + + + The "0" value used in the XGROUP command. Indicates reading all messages from the stream. + + + + + The "-" value used in the XRANGE, XREAD, and XREADGROUP commands. Indicates the minimum message ID from the stream. + + + + + The "+" value used in the XRANGE, XREAD, and XREADGROUP commands. Indicates the maximum message ID from the stream. + + + + + The ">" value used in the XREADGROUP command. Use this to read messages that have not been delivered to a consumer group. + + + + + Licensed to the .NET Foundation under one or more agreements. + The .NET Foundation licenses this file to you under the MIT license. + + Inspired from . + + + + Create a new TaskCompletion source. + + The type for the created . + The state for the created . + The options to apply to the task. + + + + Optimization over . + + From . + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values. + + + Initializes the attribute with a field or property member. + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the list of field and property members. + + The list of field and property members that are promised to be not-null. + + + + Gets field or property member names. + + + Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. + + + Initializes the attribute with the specified return value condition and a field or property member. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The field or property member that is promised to be not-null. + + + + Initializes the attribute with the specified return value condition and list of field and property members. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + The list of field and property members that are promised to be not-null. + + + + Gets the return value condition. + + + Gets field or property member names. + + + diff --git a/local-nuget/stackexchange.redis/2.8.24/stackexchange.redis.2.8.24.nupkg b/local-nuget/stackexchange.redis/2.8.24/stackexchange.redis.2.8.24.nupkg new file mode 100644 index 000000000..f7c9c9ef4 Binary files /dev/null and b/local-nuget/stackexchange.redis/2.8.24/stackexchange.redis.2.8.24.nupkg differ diff --git a/local-nuget/stackexchange.redis/2.8.24/stackexchange.redis.2.8.24.nupkg.sha512 b/local-nuget/stackexchange.redis/2.8.24/stackexchange.redis.2.8.24.nupkg.sha512 new file mode 100644 index 000000000..056506d70 --- /dev/null +++ b/local-nuget/stackexchange.redis/2.8.24/stackexchange.redis.2.8.24.nupkg.sha512 @@ -0,0 +1 @@ +9Z7Qs3SfjiYxwH7ABgPV9BHHrOyMkPvPkEfYomOJ+1bdVYDDgxLzNAKLiKVaAT5JgRZ2SbgS5GnDMYVkogVaCQ== \ No newline at end of file diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/.nupkg.metadata b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/.nupkg.metadata new file mode 100644 index 000000000..50634f7dc --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "4l2ZRyhFBiLAjAKo03MShDsK5kaPFmPYuJP3a3oNrHvkIl+2y3sIN3B/v8k/kINUag6Ux2dDhLu7bM63Wfsm2w==", + "source": "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/.signature.p7s b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/.signature.p7s new file mode 100644 index 000000000..13ff87d49 Binary files /dev/null and b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/.signature.p7s differ diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/Icon.png b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/Icon.png new file mode 100644 index 000000000..fb00ecf91 Binary files /dev/null and b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/Icon.png differ diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/PACKAGE.md b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/PACKAGE.md new file mode 100644 index 000000000..56e111a68 --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/PACKAGE.md @@ -0,0 +1,87 @@ +## About + + + +This package provides types that allow applications to interact with the Windows Event Log service. + +When an error occurs in a Windows machine, the system administrator or support representative must determine what caused the error, attempt to recover any lost data, and prevent the error from recurring. It is helpful if applications, the operating system, and other system services record important events, such as low-memory conditions or excessive attempts to access a disk. The system administrator can then use the Windows Event Log to help determine what conditions caused the error and identify the context in which it occurred. + +## Key Features + + + +* Allows reading from existing logs. +* Allows writing entries to logs. +* Can create or delete event sources. +* Can delete logs. +* Can respond to log entries. +* Can create new logs when creating an event source. + +## How to Use + + + +```cs +if(!EventLog.SourceExists("MySource")) +{ + // An event log source should not be created and immediately used. + // There is a latency time to enable the source, it should be created + // prior to executing the application that uses the source. + // Execute this sample a second time to use the new source. + EventLog.CreateEventSource("MySource", "MyNewLog"); + Console.WriteLine("Event source created. Exiting, execute the application a second time to use the source."); + // The source is created. Exit the application to allow it to be registered. + return; +} + +EventLog myLog = new(); +myLog.Source = "MySource"; +myLog.WriteEntry("Writing an informational entry to the event log."); +``` + +Notes: + +- This assembly is only supported on Windows operating systems. +- Starting with Windows Vista, you must run the application as an administrator to interact with the Windows Event Log service using the `System.Diagnostics.EventLog` class. + +## Main Types + + + +The main types provided by this library are: + +Under the [`System.Diagnostics`](https://learn.microsoft.com/dotnet/api/System.Diagnostics) namespace, the main types are: + +- [`System.Diagnostics.EventLog`](https://learn.microsoft.com/dotnet/api/System.Diagnostics.EventLog) +- [`System.Diagnostics.EventLogEntry`](https://learn.microsoft.com/dotnet/api/System.Diagnostics.EventLogEntry) +- [`System.Diagnostics.EventLogEntryCollection`](https://learn.microsoft.com/dotnet/api/System.Diagnostics.EventLogEntryCollection) +- [`System.Diagnostics.EventLogEntryType`](https://learn.microsoft.com/dotnet/api/System.Diagnostics.EventLogEntryType) + +Under the [`System.Diagnostics.Eventing.Reader`](https://learn.microsoft.com/dotnet/api/System.Diagnostics.Eventing.Reader) namespace, the main types are: + +- [`System.Diagnostics.Eventing.Reader.EventLogQuery`](https://learn.microsoft.com/dotnet/api/System.Diagnostics.Eventing.Reader.EventLogQuery) +- [`System.Diagnostics.Eventing.Reader.EventLogReader`](https://learn.microsoft.com/dotnet/api/System.Diagnostics.Eventing.Reader.EventLogReader) +- [`System.Diagnostics.Eventing.Reader.EventLogRecord`](https://learn.microsoft.com/dotnet/api/System.Diagnostics.Eventing.Reader.EventLogRecord) +- [`System.Diagnostics.Eventing.Reader.EventLogSession`](https://learn.microsoft.com/dotnet/api/System.Diagnostics.Eventing.Reader.EventLogSession) +- [`System.Diagnostics.Eventing.Reader.EventLogType`](https://learn.microsoft.com/dotnet/api/System.Diagnostics.Eventing.Reader.EventLogType) +- [`System.Diagnostics.Eventing.Reader.EventRecord`](https://learn.microsoft.com/dotnet/api/System.Diagnostics.Eventing.Reader.EventRecord) + +## Additional Documentation + + + +- [Microsoft Learn - System.Diagnostics.EventLog API reference](https://learn.microsoft.com/dotnet/api/System.Diagnostics.EventLog) +- [Windows App Development - Event logging](https://learn.microsoft.com/windows/win32/eventlog/event-logging) +- [GitHub - Source code](https://github.com/dotnet/runtime/tree/main/src/libraries/System.Diagnostics.EventLog) + +## Related Packages + + + +- [System.Diagnostics.PerformanceCounter](https://www.nuget.org/packages/System.Diagnostics.PerformanceCounter) + +## Feedback & Contributing + + + +System.Diagnostics.EventLog is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime). diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/System.Diagnostics.EventLog.nuspec b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/System.Diagnostics.EventLog.nuspec new file mode 100644 index 000000000..ad233a351 --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/System.Diagnostics.EventLog.nuspec @@ -0,0 +1,32 @@ + + + + System.Diagnostics.EventLog + 10.0.0-rc.2.25502.107 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Provides the System.Diagnostics.EventLog class, which allows the applications to use the Windows event log service. + +Commonly Used Types: +System.Diagnostics.EventLog + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 000000000..1e194f3b3 --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1418 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2024 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for opentelemetry-dotnet +--------------------------------------- + +https://github.com/open-telemetry/opentelemetry-dotnet/blob/805dd6b4abfa18ef2706d04c30d0ed28dbc2955e/LICENSE.TXT#L1 + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +Copyright The OpenTelemetry Authors + + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for National Institute of Standards and Technology ACVP Data +-------------------------------------------------------------------- +Available at https://github.com/usnistgov/ACVP-Server/blob/85f8742965b2691862079172982683757d8d91db/README.md#License + +NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. + +NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. + +You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. + diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net461/System.Diagnostics.EventLog.targets b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net461/System.Diagnostics.EventLog.targets new file mode 100644 index 000000000..1904f8999 --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net461/System.Diagnostics.EventLog.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net462/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/buildTransitive/net8.0/_._ new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/System.Diagnostics.EventLog.targets b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/System.Diagnostics.EventLog.targets new file mode 100644 index 000000000..c0bbca1c3 --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/buildTransitive/netcoreapp2.0/System.Diagnostics.EventLog.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/net10.0/System.Diagnostics.EventLog.xml b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/net10.0/System.Diagnostics.EventLog.xml new file mode 100644 index 000000000..1146e63bf --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/net10.0/System.Diagnostics.EventLog.xml @@ -0,0 +1,2248 @@ + + + + System.Diagnostics.EventLog + + + + Provides data for the event. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified event log entry. + An that represents the entry that was written. + + + Gets the event log entry that was written to the log. + An that represents the entry that was written to the event log. + + + Represents the method that will handle the event of an . + The source of the event. + An that contains the event data. + + + Represents a placeholder (bookmark) within an event stream. You can use the placeholder to mark a position and return to this position in a stream of events. An instance of this object can be obtained from an object, in which case it corresponds to the position of that event record. + + + Creates a bookmark that identifies an event in a channel. + An XML string that represents the bookmark. + + + Gets the XML string that represents the bookmark. + + + Represents a keyword for an event. Keywords are defined in an event provider and are used to group the event with other similar events (based on the usage of the events). + + + Gets the localized name of the keyword. + A string that contains a localized name for this keyword. + + + Gets the non-localized name of the keyword. + A string that contains the non-localized name of this keyword. + + + Gets the numeric value associated with the keyword. + The numeric value associated with the keyword. + + + Contains an event level that is defined in an event provider. The level signifies the severity of the event. + + + Gets the localized name for the event level. The name describes what severity level of events this level is used for. + A string that contains the localized name for the event level. + + + Gets the non-localized name of the event level. + A string that contains the non-localized name of the event level. + + + Gets the numeric value of the event level. + The numeric value of the event level. + + + Contains static information and configuration settings for an event log. Many of the configurations settings were defined by the event provider that created the log. + + + Initializes a new object by specifying the name of the log for which to get information and configuration settings. The log can be on the local computer or a remote computer, based on the event log session specified. + The name of the event log for which to get information and configuration settings. + The event log session used to determine the event log service that the specified log belongs to. The session is either connected to the event log service on the local computer or a remote computer. + + + Initializes a new object by specifying the local event log for which to get information and configuration settings. + The name of the local event log for which to get information and configuration settings. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Saves the configuration settings that. + + + Gets a value that indicates whether the event log is a classic event log. A classic event log is one that has its events defined in an .mc file instead of a manifest (.xml file) used by the event provider. + + if the event log is a classic log; otherwise, . + + + Gets or sets a value that indicates whether the event log is enabled or disabled. An enabled log is one in which events can be logged, and a disabled log is one in which events cannot be logged. + + if the log is enabled; otherwise, . + + + Gets or sets the file directory path to the location of the file where the events are stored for the log. + A string that contains the path to the event log file. + + + Gets an value that specifies whether the event log is an application, system, or custom event log. + One of the enumeration values. + + + Gets or sets an value that determines how events are handled when the event log becomes full. + One of the enumeration values. + + + Gets the name of the event log. + The name of the event log. + + + Gets an value that determines the type of the event log. + One of the enumeration values. + + + Gets or sets the maximum size, in bytes, that the event log file is allowed to be. When the file reaches this maximum size, it is considered full. + The maximum size, in bytes, that the event log file is allowed to be. + + + Gets the name of the event provider that created this event log. + The name of the event provider that created this event log. + + + Gets the size of the buffer that the event provider uses for publishing events to the log. + The size of the buffer that the event provider uses for publishing events to the log. It can be . + + + Gets the control globally unique identifier (GUID) for the event log if the log is a debug log. If this log is not a debug log, this value is . + A GUID value, or if the log is not a debug log. + + + Gets or sets the keyword mask used by the event provider. + The keyword mask used by the event provider, or if the event provider did not define any keywords. + + + Gets the maximum latency time used by the event provider when publishing events to the log. + The maximum latency time used by the event provider when publishing events to the log, or if no latency time was specified by the event provider. + + + Gets or sets the maximum event level (which defines the severity of the event) that is allowed to be logged in the event log. This value is defined by the event provider. + The maximum event level that is allowed to be logged in the event log, or if the maximum event level was not defined in the event provider. + + + Gets the maximum number of buffers used by the event provider to publish events to the event log. + The maximum number of buffers used by the event provider to publish events to the event log. This value can be . + + + Gets the minimum number of buffers used by the event provider to publish events to the event log. + The minimum number of buffers used by the event provider to publish events to the event log. This value can be . + + + Gets an enumerable collection of the names of all the event providers that can publish events to this event log. + An enumerable collection of strings that contain the event provider names. + + + Gets or sets the security descriptor of the event log. The security descriptor defines the users and groups of users that can read and write to the event log. + A string that contains the security descriptor for the event log. + + + Represents the base class for all the exceptions that are thrown when an error occurs while reading event log related information. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the error code for the exception. + The error code for the error that occurred while reading or configuring event log related information. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception being thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Sets the SerializationInfo object with information about the exception. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Gets the error message that describes the current exception. + Returns a string that contains the error message that describes the current exception. + + + Allows you to access the run-time properties of active event logs and event log files. These properties include the number of events in the log, the size of the log, a value that determines whether the log is full, and the last time the log was written to or accessed. + + + Gets the file attributes of the log file associated with the log. + Returns an integer value. This value can be null. + + + Gets the time that the log file associated with the event log was created. + Returns a object. This value can be null. + + + Gets the size of the file, in bytes, associated with the event log. + Returns a long value. + + + Gets a Boolean value that determines whether the log file has reached its maximum size (the log is full). + Returns if the log is full, and returns if the log is not full. + + + Gets the last time the log file associated with the event log was accessed. + Returns a object. This value can be null. + + + Gets the last time data was written to the log file associated with the event log. + Returns a object. This value can be null. + + + Gets the number of the oldest event record in the event log. + Returns a long value that represents the number of the oldest event record in the event log. This value can be null. + + + Gets the number of event records in the event log. + Returns a long value that represents the number of event records in the event log. This value can be null. + + + Represents the exception thrown when an event provider publishes invalid data in an event. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Defines the default access permissions for the event log. The Application and System values indicate that the log shares the access control list (ACL) with the appropriate Windows log (the Application or System event logs) and share the Event Tracing for Windows (ETW) session with other logs of the same isolation. All channels with Custom isolation use a private ETW session. + + + The log shares the access control list with the Application event log and shares the ETW session with other logs that have Application isolation. + + + The event log is a custom event log that uses its own private ETW session. + + + The log shares the access control list with the System event log and shares the ETW session with other logs that have System isolation. + + + Represents a link between an event provider and an event log that the provider publishes events into. This object cannot be instantiated. + + + Gets the localized name of the event log. + Returns a string that contains the localized name of the event log. + + + Gets a Boolean value that determines whether the event log is imported, rather than defined in the event provider. An imported event log is defined in a different provider. + Returns if the event log is imported by the event provider, and returns if the event log is not imported by the event provider. + + + Gets the non-localized name of the event log associated with this object. + Returns a string that contains the non-localized name of the event log associated with this object. + + + Determines the behavior for the event log service handles an event log when the log reaches its maximum allowed size (when the event log is full). + + + Archive the log when full, do not overwrite events. The log is automatically archived when necessary. No events are overwritten. + + + New events continue to be stored when the log file is full. Each new incoming event replaces the oldest event in the log. + + + Do not overwrite events. Clear the log manually rather than automatically. + + + Represents the exception that is thrown when a requested event log (usually specified by the name of the event log or the path to the event log file) does not exist. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Contains an array of strings that represent XPath queries for elements in the XML representation of an event, which is based on the Event Schema. The queries in this object are used to extract values from the event. + + + Initializes a new class instance. + XPath queries used to extract values from the XML representation of the event. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Represents the exception that is thrown when a specified event provider name references a disabled event provider. A disabled event provider cannot publish events. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Represents a query for events in an event log and the settings that define how the query is executed and on what computer the query is executed on. + + + Initializes a new instance of the class by specifying the target of the query and the event query. The target can be an active event log or a log file. + The name of the event log to query, or the path to the event log file to query. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The event query used to retrieve events that match the query conditions. + + + Initializes a new instance of the class by specifying the target of the query. The target can be an active event log or a log file. + The name of the event log to query, or the path to the event log file to query. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + + + Gets or sets the Boolean value that determines whether to read events from the newest event in an event log to the oldest event in the log. + Returns if events are read from the newest event in the log to the oldest event, and returns if events are read from the oldest event in the log to the newest event. + + + Gets or sets the session that access the Event Log service on the local computer or a remote computer. This object can be set to access a remote event log by creating a object or an object with this object. + Returns an object. + + + Gets or sets a Boolean value that determines whether this query will continue to retrieve events when the query has an error. + + indicates that the query will continue to retrieve events even if the query fails for some logs, and indicates that this query will not continue to retrieve events when the query fails. + + + Enables you to read events from an event log based on an event query. The events that are read by this object are returned as objects. + + + Initializes a new instance of the class by specifying an event query and a bookmark that is used as starting position for the query. + The event query used to retrieve events. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events logged after the bookmark event will be returned by the query. + + + Initializes a new instance of the class by specifying an event query. + The event query used to retrieve events. + + + Initializes a new instance of the class by specifying the name of an event log to retrieve events from or the path to a log file to retrieve events from. + The name of the event log to retrieve events from, or the path to the event log file to retrieve events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + + + Initializes a new instance of the class by specifying an active event log to retrieve events from. + The name of the event log to retrieve events from. + + + Cancels the current query operation. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Reads the next event that is returned from the event query in this object. + Returns an object. + + + Reads the next event that is returned from the event query in this object. + The maximum time to allow the read operation to run before canceling the operation. + Returns an object. + + + Changes the position in the event stream where the next event that is read will come from by specifying a bookmark event and an offset number of events from the bookmark. No events logged before the bookmark plus the offset will be retrieved. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + The offset number of events to change the position of the bookmark. + + + Changes the position in the event stream where the next event that is read will come from by specifying a bookmark event. No events logged before the bookmark event will be retrieved. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + + + Changes the position in the event stream where the next event that is read will come from by specifying a starting position and an offset from the starting position. No events logged before the starting position plus the offset will be retrieved. + A value from the enumeration defines where in the stream of events to start querying for events. + The offset number of events to add to the origin. + + + Gets or sets the number of events retrieved from the stream of events on every read operation. + Returns an integer value. + + + Gets the status of each event log or log file associated with the event query in this object. + Returns a list of objects that each contain status information about an event log associated with the event query in this object. + + + Represents an exception that is thrown when an error occurred while reading, querying, or subscribing to the events in an event log. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Contains the properties of an event instance for an event that is received from an object. The event properties provide information about the event such as the name of the computer where the event was logged and the time that the event was created. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the event message in the current locale. + Returns a string that contains the event message in the current locale. + + + Gets the event message, replacing variables in the message with the specified values. + The values used to replace variables in the event message. Variables are represented by %n, where n is a number. + Returns a string that contains the event message in the current locale. + + + Gets the enumeration of the values of the user-supplied event properties, or the results of XPath-based data if the event has XML representation. + Selects the property values to return. + Returns a list of objects. + + + Gets the XML representation of the event. All of the event properties are represented in the event's XML. The XML conforms to the event schema. + Returns a string that contains the XML representation of the event. + + + Gets the globally unique identifier (GUID) for the activity in process for which the event is involved. This allows consumers to group related activities. + Returns a GUID value. + + + Gets a placeholder (bookmark) that corresponds to this event. This can be used as a placeholder in a stream of events. + Returns a object. + + + Gets the name of the event log or the event log file in which the event is stored. + Returns a string that contains the name of the event log or the event log file in which the event is stored. + + + Gets the identifier for this event. All events with this identifier value represent the same type of event. + Returns an integer value. This value can be null. + + + Gets the keyword mask of the event. Get the value of the property to get the name of the keywords used in this mask. + Returns a long value. This value can be null. + + + Gets the display names of the keywords used in the keyword mask for this event. + Returns an enumerable collection of strings that contain the display names of the keywords used in the keyword mask for this event. + + + Gets the level of the event. The level signifies the severity of the event. For the name of the level, get the value of the property. + Returns a byte value. This value can be null. + + + Gets the display name of the level for this event. + Returns a string that contains the display name of the level for this event. + + + Gets the name of the event log where this event is logged. + Returns a string that contains a name of the event log that contains this event. + + + Gets the name of the computer on which this event was logged. + Returns a string that contains the name of the computer on which this event was logged. + + + Gets a list of query identifiers that this event matches. This event matches a query if the query would return this event. + Returns an enumerable collection of integer values. + + + Gets the opcode of the event. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. For the name of the opcode, get the value of the property. + Returns a short value. This value can be null. + + + Gets the display name of the opcode for this event. + Returns a string that contains the display name of the opcode for this event. + + + Gets the process identifier for the event provider that logged this event. + Returns an integer value. This value can be null. + + + Gets the user-supplied properties of the event. + Returns a list of objects. + + + Gets the globally unique identifier (GUID) of the event provider that published this event. + Returns a GUID value. This value can be null. + + + Gets the name of the event provider that published this event. + Returns a string that contains the name of the event provider that published this event. + + + Gets qualifier numbers that are used for event identification. + Returns an integer value. This value can be null. + + + Gets the event record identifier of the event in the log. + Returns a long value. This value can be null. + + + Gets a globally unique identifier (GUID) for a related activity in a process for which an event is involved. + Returns a GUID value. This value can be null. + + + Gets a task identifier for a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. This type allows any value between 0x0000 and 0xffef to be used. For the name of the task, get the value of the property. + Returns an integer value. This value can be null. + + + Gets the display name of the task for the event. + Returns a string that contains the display name of the task for the event. + + + Gets the thread identifier for the thread that the event provider is running in. + Returns an integer value. This value can be null. + + + Gets the time, in format, that the event was created. + Returns a value. The value can be null. + + + Gets the security descriptor of the user whose context is used to publish the event. + Returns a value. + + + Gets the version number for the event. + Returns a byte value. This value can be null. + + + Used to access the Event Log service on the local computer or a remote computer so you can manage and gather information about the event logs and event providers on the computer. + + + Initializes a new object, establishes a connection with the local Event Log service. + + + Initializes a new object, and establishes a connection with the Event Log service on the specified computer. The specified credentials (user name and password) are used for the credentials to access the remote computer. + The name of the computer on which to connect to the Event Log service. + The domain of the specified user. + The user name used to connect to the remote computer. + The password used to connect to the remote computer. + The type of connection to use for the connection to the remote computer. + + + Initializes a new object, and establishes a connection with the Event Log service on the specified computer. The credentials (user name and password) of the user who calls the method is used for the credentials to access the remote computer. + The name of the computer on which to connect to the Event Log service. + + + Cancels any operations (such as reading an event log or subscribing to an event log) that are currently active for the Event Log service that this session object is connected to. + + + Clears events from the specified event log, and saves the cleared events to the specified file. + The name of the event log to clear all the events from. + The path to the file in which the cleared events will be saved. The file should end in .evtx. + + + Clears events from the specified event log. + The name of the event log to clear all the events from. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Exports events into an external log file. A flag can be set to indicate that the method will continue exporting events even if the specified query fails for some logs. The events are stored without the event messages. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + indicates that the method will continue exporting events even if the specified query fails for some logs, and indicates that this method will not continue to export events when the specified query fails. + + + Exports events into an external log file. The events are stored without the event messages. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + + Exports events and their messages into an external log file. A flag can be set to indicate that the method will continue exporting events even if the specified query fails for some logs. The event messages are exported in the specified language. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + indicates that the method will continue exporting events even if the specified query fails for some logs, and indicates that this method will not continue to export events when the specified query fails. + The culture that specifies which language that the exported event messages will be in. + + + Exports events and their messages into an external log file. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + + Gets an object that contains runtime information for the specified event log. + The name of the event log to get information about, or the path to the event log file to get information about. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + An object that contains information about the specified log. + + + Gets an enumerable collection of all the event log names that are registered with the Event Log service. + An enumerable collection of strings that contain the event log names. + + + Gets an enumerable collection of all the event provider names that are registered with the Event Log service. An event provider is an application that publishes events to an event log. + An enumerable collection of strings that contain the event provider names. + + + Gets a static predefined session object that is connected to the Event Log service on the local computer. + A predefined session object that is connected to the Event Log service on the local computer. + + + Contains the status code or error code for a specific event log. This status can be used to determine if the event log is available for an operation. + + + Gets the name of the event log for which the status code is obtained. + The name of the event log for which the status code is obtained. + + + Gets the status code or error code for the event log. This status or error is the result of a read or subscription operation on the event log. + The status code or error code for the event log. + + + Defines the type of events that are logged in an event log. Each log can only contain one type of event. + + + These events are primarily for end users, administrators, and support. The events that are found in the Administrative type logs indicate a problem and a well-defined solution that an administrator can act on. An example of an administrative event is an event that occurs when an application fails to connect to a printer. + + + Events in an analytic event log are published in high volume. They describe program operation and indicate problems that cannot be handled by user intervention. + + + Events in a debug type event log are used solely by developers to diagnose a problem for debugging. + + + Events in an operational type event log are used for analyzing and diagnosing a problem or occurrence. They can be used to trigger tools or tasks based on the problem or occurrence. An example of an operational event is an event that occurs when a printer is added or removed from a system. + + + Allows you to subscribe to incoming events. Each time a desired event is published to an event log, the event is raised, and the method that handles this event will be executed. + + + Allows setting a delegate (event handler method) that gets called every time an event is published that matches the criteria specified in the event query for this object. + + + Initializes a new instance of the class by specifying an event query, a bookmark that is used as starting position for the query, and a Boolean value that determines whether to read the events that already exist in the event log. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + A Boolean value that determines whether to read the events that already exist in the event log. If this value is , then the existing events are read and if this value is , then the existing events are not read. + + + Initializes a new instance of the class by specifying an event query and a bookmark that is used as starting position for the query. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + + + Initializes a new instance of the class by specifying an event query. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + + + Initializes a new instance of the class by specifying the name or path to an event log. + The path or name of the event log monitor for events. If any event is logged in this event log, then the event is raised. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets or sets a value that indicates whether this object starts delivering events to the event delegate. + + when this object can deliver events to the event delegate; when this object has stopped delivery. + + + Contains the metadata (properties and settings) for an event that is defined in an event provider. + + + Gets the description template associated with the event using the current thread locale for the description language. + A string that contains the description template associated with the event. + + + Gets the identifier of the event that is defined in the event provider. + The event identifier. + + + Gets the keywords associated with the event that is defined in the event provider. + An enumerable collection of the keywords associated with the event. + + + Gets the level associated with the event that is defined in the event provider. The level defines the severity of the event. + The level associated with the event. + + + Gets a link to the event log that receives this event when the provider publishes this event. + A link to the event log. + + + Gets the opcode associated with this event that is defined by an event provider. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. + The opcode associated with this event. + + + Gets the task associated with the event. A task identifies a portion of an application or a component that publishes an event. + The task associated with the event. + + + Gets the template string for the event. Templates are used to describe data that is used by a provider when an event is published. Templates optionally specify XML that provides the structure of an event. The XML allows values that the event publisher provides to be inserted during the rendering of an event. + A string that contains the template for the event. + + + Gets the version of the event that qualifies the event identifier. + A byte value that contains the version of the event. + + + Contains an event opcode that is defined in an event provider. An opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. + + + Gets the localized name for an event opcode. + The localized name for an event opcode. + + + Gets the non-localized name for an event opcode. + The non-localized name for an event opcode. + + + Gets the numeric value associated with the event opcode. + The numeric value associated with the event opcode. + + + Contains the value of an event property that is specified by the event provider when the event is published. + + + Gets the value of the event property that is specified by the event provider when the event is published. + The value of the event property. + + + Defines the properties of an event instance for an event that is received from an object. The event properties provide information about the event such as the name of the computer where the event was logged and the time the event was created. This class is an abstract class. The class implements this class. + + + Initializes a new instance of the class. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the event message in the current locale. + Returns a string that contains the event message in the current locale. + + + Gets the event message, replacing variables in the message with the specified values. + The values used to replace variables in the event message. Variables are represented by %n, where n is a number. + Returns a string that contains the event message in the current locale. + + + Gets the XML representation of the event. All of the event properties are represented in the event XML. The XML conforms to the event schema. + Returns a string that contains the XML representation of the event. + + + Gets the globally unique identifier (GUID) for the activity in process for which the event is involved. This allows consumers to group related activities. + Returns a GUID value. + + + Gets a placeholder (bookmark) that corresponds to this event. This can be used as a placeholder in a stream of events. + Returns a object. + + + Gets the identifier for this event. All events with this identifier value represent the same type of event. + Returns an integer value. This value can be null. + + + Gets the keyword mask of the event. Get the value of the property to get the name of the keywords used in this mask. + Returns a long value. This value can be null. + + + Gets the display names of the keywords used in the keyword mask for this event. + Returns an enumerable collection of strings that contain the display names of the keywords used in the keyword mask for this event. + + + Gets the level of the event. The level signifies the severity of the event. For the name of the level, get the value of the property. + Returns a byte value. This value can be null. + + + Gets the display name of the level for this event. + Returns a string that contains the display name of the level for this event. + + + Gets the name of the event log where this event is logged. + Returns a string that contains a name of the event log that contains this event. + + + Gets the name of the computer on which this event was logged. + Returns a string that contains the name of the computer on which this event was logged. + + + Gets the opcode of the event. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. For the name of the opcode, get the value of the property. + Returns a short value. This value can be null. + + + Gets the display name of the opcode for this event. + Returns a string that contains the display name of the opcode for this event. + + + Gets the process identifier for the event provider that logged this event. + Returns an integer value. This value can be null. + + + Gets the user-supplied properties of the event. + Returns a list of objects. + + + Gets the globally unique identifier (GUID) of the event provider that published this event. + Returns a GUID value. This value can be null. + + + Gets the name of the event provider that published this event. + Returns a string that contains the name of the event provider that published this event. + + + Gets qualifier numbers that are used for event identification. + Returns an integer value. This value can be null. + + + Gets the event record identifier of the event in the log. + Returns a long value. This value can be null. + + + Gets a globally unique identifier (GUID) for a related activity in a process for which an event is involved. + Returns a GUID value. This value can be null. + + + Gets a task identifier for a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. This type allows any value between 0x0000 and 0xffef to be used. To obtain the task name, get the value of the property. + Returns an integer value. This value can be null. + + + Gets the display name of the task for the event. + Returns a string that contains the display name of the task for the event. + + + Gets the thread identifier for the thread that the event provider is running in. + Returns an integer value. This value can be null. + + + Gets the time, in format, that the event was created. + Returns a value. The value can be null. + + + Gets the security descriptor of the user whose context is used to publish the event. + Returns a value. + + + Gets the version number for the event. + Returns a byte value. This value can be null. + + + When the event is raised, an instance of this object is passed to the delegate method that handles the event. This object contains the event that was published to the event log or the exception that occurred when the event subscription failed. + + + Gets the exception that occurred when the event subscription failed. The exception has a description of why the subscription failed. + The exception that occurred when the event subscription failed. + + + Gets the event record that is published to the event log. This event matches the criteria from the query specified in the event subscription. + The event record. + + + Contains an event task that is defined in an event provider. The task identifies a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. + + + Gets the localized name for the event task. + The localized name for the event task. + + + Gets the event globally unique identifier (GUID) associated with the task. + The event GUID associated with the task. + + + Gets the non-localized name of the event task. + The non-localized name of the event task. + + + Gets the numeric value associated with the task. + The numeric value associated with the task. + + + Specifies that a string contains a name of an event log or the file system path to an event log file. + + + A path parameter contains the file system path to an event log file. + + + A path parameter contains the name of the event log. + + + Contains static information about an event provider, such as the name and id of the provider, and the collection of events defined in the provider. + + + Initializes a new instance of the class by specifying the name of the provider that you want to retrieve information about, the event log service that the provider is registered with, and the language that you want to return the information in. + The name of the event provider that you want to retrieve information about. + The object that specifies whether to get the provider information from a provider on the local computer or a provider on a remote computer. + The culture that specifies the language that the information should be returned in. + + + Initializes a new instance of the class by specifying the name of the provider that you want to retrieve information about. + The name of the event provider that you want to retrieve information about. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the localized name of the event provider. + Returns a string that contains the localized name of the event provider. + + + Gets an enumerable collection of objects, each of which represents an event that is defined in the provider. + Returns an enumerable collection of objects. + + + Gets the base of the URL used to form help requests for the events in this event provider. + Returns a value. + + + Gets the globally unique identifier (GUID) for the event provider. + Returns the GUID value for the event provider. + + + Gets an enumerable collection of objects, each of which represent an event keyword that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets an enumerable collection of objects, each of which represent a level that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets an enumerable collection of objects, each of which represent a link to an event log that is used by the event provider. + Returns an enumerable collection of objects. + + + Gets the path of the file that contains the message table resource that has the strings associated with the provider metadata. + Returns a string that contains the path of the provider message file. + + + Gets the unique name of the event provider. + Returns a string that contains the unique name of the event provider. + + + Gets an enumerable collection of objects, each of which represent an opcode that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets the path of the file that contains the message table resource that has the strings used for parameter substitutions in event descriptions. + Returns a string that contains the path of the file that contains the message table resource that has the strings used for parameter substitutions in event descriptions. + + + Gets the path to the file that contains the metadata associated with the provider. + Returns a string that contains the path to the file that contains the metadata associated with the provider. + + + Gets an enumerable collection of objects, each of which represent a task that is defined in the event provider. + Returns an enumerable collection of objects. + + + Defines values for the type of authentication used during a Remote Procedure Call (RPC) login to a server. This login occurs when you create a object that specifies a connection to a remote computer. + + + Use the default authentication method during RPC login. The default authentication is equivalent to Negotiate. + + + Use Kerberos authentication during RPC login. + + + Use the Negotiate authentication method during RPC login. This allows the client application to select the most appropriate authentication method (NTLM or Kerberos) for the situation. + + + Use Windows NT LAN Manager (NTLM) authentication during RPC login. + + + Defines the standard keywords that are attached to events by the event provider. For more information about keywords, see . + + + Attached to all failed security audit events. This keyword should only be used for events in the Security log. + + + Attached to all successful security audit events. This keyword should only be used for events in the Security log. + + + Attached to transfer events where the related Activity ID (Correlation ID) is a computed value and is not guaranteed to be unique (not a real GUID). + + + Attached to transfer events where the related Activity ID (Correlation ID) is a computed value and is not guaranteed to be unique (not a real GUID). + + + Attached to events which are raised using the RaiseEvent function. + + + This value indicates that no filtering on keyword is performed when the event is published. + + + Attached to all response time events. + + + Attached to all Service Quality Mechanism (SQM) events. + + + Attached to all Windows Diagnostic Infrastructure (WDI) context events. + + + Attached to all Windows Diagnostic Infrastructure (WDI) diagnostic events. + + + Defines the standard event levels that are used in the Event Log service. The level defines the severity of the event. Custom event levels can be defined beyond these standard levels. For more information about levels, see . + + + This level corresponds to critical errors, which is a serious error that has caused a major failure. + + + This level corresponds to normal errors that signify a problem. + + + This level corresponds to informational events or messages that are not errors. These events can help trace the progress or state of an application. + + + This value indicates that not filtering on the level is done during the event publishing. + + + This level corresponds to lengthy events or messages. + + + This level corresponds to warning events. For example, an event that gets published because a disk is nearing full capacity is a warning event. + + + Defines the standard opcodes that are attached to events by the event provider. For more information about opcodes, see . + + + An event with this opcode is a trace collection start event. + + + An event with this opcode is a trace collection stop event. + + + An event with this opcode is an extension event. + + + An event with this opcode is an informational event. + + + An event with this opcode is published when one activity in an application receives data. + + + An event with this opcode is published after an activity in an application replies to an event. + + + An event with this opcode is published after an activity in an application resumes from a suspended state. The event should follow an event with the Suspend opcode. + + + An event with this opcode is published when one activity in an application transfers data or system resources to another activity. + + + An event with this opcode is published when an application starts a new transaction or activity. This can be embedded into another transaction or activity when multiple events with the Start opcode follow each other without an event with a Stop opcode. + + + An event with this opcode is published when an activity or a transaction in an application ends. The event corresponds to the last unpaired event with a Start opcode. + + + An event with this opcode is published when an activity in an application is suspended. + + + Defines the standard tasks that are attached to events by the event provider. For more information about tasks, see . + + + No task is used to identify a portion of an application that publishes an event. + + + Represents language-neutral information for an event log entry. + + + Initializes a new instance of the class using the specified resource identifiers for the localized message and category text of the event entry and the specified event log entry type. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + A resource identifier that corresponds to a string defined in the category resource file of the event source, or zero to specify no category for the event. + An value that indicates the event type. + + is not a valid value. + + is a negative value or a value larger than UInt32.MaxValue. + + -or- + + is a negative value or a value larger than UInt16.MaxValue. + + + Initializes a new instance of the class using the specified resource identifiers for the localized message and category text of the event entry. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + A resource identifier that corresponds to a string defined in the category resource file of the event source, or zero to specify no category for the event. + The parameter is a negative value or a value larger than UInt32.MaxValue. + + -or- + + The parameter is a negative value or a value larger than UInt16.MaxValue. + + + Gets or sets the resource identifier that specifies the application-defined category of the event entry. + The property is set to a negative value or to a value larger than UInt16.MaxValue. + A numeric category value or resource identifier that corresponds to a string defined in the category resource file of the event source. The default is zero, which signifies that no category will be displayed for the event entry. + + + Gets or sets the event type of the event log entry. + The property is not set to a valid value. + An value that indicates the event entry type. The default value is . + + + Gets or sets the resource identifier that designates the message text of the event entry. + The property is set to a negative value or to a value larger than UInt32.MaxValue. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + + + Provides interaction with Windows event logs. + + + Occurs when an entry is written to an event log on the local computer. + + + Initializes a new instance of the class. Does not associate the instance with any log. + + + Initializes a new instance of the class. Associates the instance with a log on the specified computer and creates or assigns the specified source to the . + The name of the log on the specified computer. + The computer on which the log exists. + The source of event log entries. + The log name is . + The log name is invalid. + + -or- + + The computer name is invalid. + + + Initializes a new instance of the class. Associates the instance with a log on the specified computer. + The name of the log on the specified computer. + The computer on which the log exists. + The log name is . + The log name is invalid. + + -or- + + The computer name is invalid. + + + Initializes a new instance of the class. Associates the instance with a log on the local computer. + The name of the log on the local computer. + The log name is . + The log name is invalid. + + + Begins the initialization of an used on a form or used by another component. The initialization occurs at runtime. + + is already initialized. + + + Removes all entries from the event log. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + A value is not specified for the property. Make sure the log name is not an empty string. + The log does not exist. + + + Closes the event log and releases read and write handles. + The event log's read handle or write handle was not released successfully. + + + Establishes a valid event source for writing localized event messages, using the specified configuration properties for the event source and the corresponding event log. + The configuration properties for the event source and its target event log. + The computer name specified in is not valid. + +-or- + + The source name specified in is . + +-or- + + The log name specified in is not valid. Event log names must consist of printable characters and cannot include the characters '*', '?', or '\'. + +-or- + + The log name specified in is not valid for user log creation. The Event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name specified in results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of the log name specified in are not unique. + +-or- + + The source name specified in is already registered. + +-or- + + The source name specified in matches an existing event log name. + The registry key for the event log could not be opened. + + is . + + + Establishes the specified source name as a valid event source for writing entries to a log on the specified computer. This method can also be used to create a new custom log on the specified computer. + The source by which the application is registered on the specified computer. + The name of the log the source's entries are written to. Possible values include Application, System, or a custom event log. If you do not specify a value, defaults to Application. + The name of the computer to register this event source with, or "." for the local computer. + The is not a valid computer name. + +-or- + + is an empty string ("") or . + +-or- + + is not a valid event log name. Event log names must consist of printable characters, and cannot include the characters '*', '?', or '\'. + +-or- + + is not valid for user log creation. The event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of match the first 8 characters of an existing event log name on the specified computer. + +-or- + + The source cannot be registered because it already exists on the specified computer. + +-or- + + The source name matches an existing event source name. + The registry key for the event log could not be opened on the specified computer. + + + Establishes the specified source name as a valid event source for writing entries to a log on the local computer. This method can also create a new custom log on the local computer. + The source name by which the application is registered on the local computer. + The name of the log the source's entries are written to. Possible values include Application, System, or a custom event log. + + is an empty string ("") or . + +-or- + + is not a valid event log name. Event log names must consist of printable characters, and cannot include the characters '*', '?', or '\'. + +-or- + + is not valid for user log creation. The event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of match the first 8 characters of an existing event log name. + +-or- + + The source cannot be registered because it already exists on the local computer. + +-or- + + The source name matches an existing event log name. + The registry key for the event log could not be opened on the local computer. + + + Removes an event log from the specified computer. + The name of the log to delete. Possible values include: Application, Security, System, and any custom event logs on the specified computer. + The name of the computer to delete the log from, or "." for the local computer. + + is an empty string ("") or . + +-or- + + is not a valid computer name. + The registry key for the event log could not be opened on the specified computer. + +-or- + + The log does not exist on the specified computer. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + + + Removes an event log from the local computer. + The name of the log to delete. Possible values include: Application, Security, System, and any custom event logs on the computer. + + is an empty string ("") or . + The registry key for the event log could not be opened on the local computer. + +-or- + + The log does not exist on the local computer. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + + + Removes the application's event source registration from the specified computer. + The name by which the application is registered in the event log system. + The name of the computer to remove the registration from, or "." for the local computer. + The parameter is invalid. + +-or- + + The parameter does not exist in the registry of the specified computer. + +-or- + + You do not have write access on the registry key for the event log. + + cannot be deleted because in the registry, the parent registry key for does not contain a subkey with the same name. + + + Removes the event source registration from the event log of the local computer. + The name by which the application is registered in the event log system. + The parameter does not exist in the registry of the local computer. + +-or- + + You do not have write access on the registry key for the event log. + + + Releases the unmanaged resources used by the , and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Ends the initialization of an used on a form or by another component. The initialization occurs at runtime. + + + Determines whether the log exists on the specified computer. + The log for which to search. Possible values include: Application, Security, System, other application-specific logs (such as those associated with Active Directory), or any custom log on the computer. + The name of the computer on which to search for the log, or "." for the local computer. + The parameter is an invalid format. Make sure you have used proper syntax for the computer on which you are searching. + + -or- + + The is or the value is empty. + + if the log exists on the specified computer; otherwise, . + + + Determines whether the log exists on the local computer. + The name of the log to search for. Possible values include: Application, Security, System, other application-specific logs (such as those associated with Active Directory), or any custom log on the computer. + The logName is or the value is empty. + + if the log exists on the local computer; otherwise, . + + + Searches for all event logs on the local computer and creates an array of objects that contain the list. + You do not have read access to the registry. + + -or- + + There is no event log service on the computer. + An array of type that represents the logs on the local computer. + + + Searches for all event logs on the given computer and creates an array of objects that contain the list. + The computer on which to search for event logs. + The parameter is an invalid computer name. + You do not have read access to the registry. + + -or- + + There is no event log service on the computer. + An array of type that represents the logs on the given computer. + + + Gets the name of the log to which the specified source is registered. + The name of the event source. + The name of the computer on which to look, or "." for the local computer. + The name of the log associated with the specified source in the registry. + + + Changes the configured behavior for writing new entries when the event log reaches its maximum file size. + The overflow behavior for writing new entries to the event log. Must not be OverwriteOlder. + Deprecated. Must be 0. + + is not a valid value. + + is less than one, or larger than 365. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + + + Specifies the localized name of the event log, which is displayed in the server Event Viewer. + The fully specified path to a localized resource file. + The resource identifier that indexes a localized string within the resource file. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + + is . + + + Determines whether an event source is registered on a specified computer. + The name of the event source. + The name the computer on which to look, or "." for the local computer. + + is an invalid computer name. + + was not found, but some or all of the event logs could not be searched. + + if the event source is registered on the given computer; otherwise, . + + + Determines whether an event source is registered on the local computer. + The name of the event source. + + was not found, but some or all of the event logs could not be searched. + + if the event source is registered on the local computer; otherwise, . + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log, and appends binary data to the message. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + An array of bytes that holds the binary data associated with the entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text and application-defined event identifier to the event log. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an error, warning, information, success audit, or failure audit entry with the given message text to the event log. + The string to write to the event log. + One of the values. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + + is not a valid . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log (using the specified registered event source) and appends binary data to the message. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + An array of bytes that holds the binary data associated with the entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + + is not a valid . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log, using the specified registered event source. The can be used by the Event Viewer to filter events in the log. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text and application-defined event identifier to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an error, warning, information, success audit, or failure audit entry with the given message text to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an information type entry with the given message text to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an information type entry, with the given message text, to the event log. + The string to write to the event log. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data, message replacement strings, and associated binary data. + An instance that represents a localized event log entry. + An array of bytes that holds the binary data associated with the entry. + An array of strings to merge into the message text of the event log entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes a localized entry to the event log. + An instance that represents a localized event log entry. + An array of strings to merge into the message text of the event log entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data, message replacement strings, and associated binary data, and using the specified registered event source. + The name of the event source registered for the application on the specified computer. + An instance that represents a localized event log entry. + An array of bytes that holds the binary data associated with the entry. + An array of strings to merge into the message text of the event log entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data and message replacement strings, using the specified registered event source. + The name of the event source registered for the application on the specified computer. + An instance that represents a localized event log entry. + An array of strings to merge into the message text of the event log entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Gets or sets a value indicating whether the receives event notifications. + The event log is on a remote computer. + + if the receives notification when an entry is written to the log; otherwise, . + + + Gets the contents of the event log. + An holding the entries in the event log. Each entry is associated with an instance of the class. + + + Gets or sets the name of the log to read from or write to. + The name of the log. This can be Application, System, Security, or a custom log name. The default is an empty string (""). + + + Gets the event log's friendly name. + The specified does not exist in the registry for this computer. + A name that represents the event log in the system's event viewer. + + + Gets or sets the name of the computer on which to read or write events. + The computer name is invalid. + The name of the server on which the event log resides. The default is the local computer ("."). + + + Gets or sets the maximum event log size in kilobytes. + The specified value is less than 64, or greater than 4194240, or not an even multiple of 64. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + The maximum event log size in kilobytes. The default is 512, indicating a maximum file size of 512 kilobytes. + + + This property is deprecated. + + + Gets the configured behavior for storing new entries when the event log reaches its maximum log file size. + The value that specifies the configured behavior for storing new entries when the event log reaches its maximum log size. The default is . + + + Gets or sets the source name to register and use when writing to the event log. + The source name results in a registry key path longer than 254 characters. + The name registered with the event log as a source of entries. The default is an empty string (""). + + + Gets or sets the object used to marshal the event handler calls issued as a result of an entry written event. + The used to marshal event-handler calls issued as a result of an event on the event log. + + + Encapsulates a single record in the event log. This class cannot be inherited. + + + Performs a comparison between two event log entries. + The to compare. + + if the objects are identical; otherwise, . + + + Populates a with the data needed to serialize the target object. + The to populate with data. + The destination (see ) for this serialization. + + + Gets the text associated with the property for this entry. + The space could not be allocated for one of the insertion strings associated with the category. + The application-specific category text. + + + Gets the category number of the event log entry. + The application-specific category number for this entry. + + + Gets the binary data associated with the entry. + An array of bytes that holds the binary data associated with the entry. + + + Gets the event type of this entry. + The event type that is associated with the entry in the event log. + + + Gets the application-specific event identifier for the current event entry. + The application-specific identifier for the event message. + + + Gets the index of this entry in the event log. + The index of this entry in the event log. + + + Gets the resource identifier that designates the message text of the event entry. + A resource identifier that corresponds to a string definition in the message resource file of the event source. + + + Gets the name of the computer on which this entry was generated. + The name of the computer that contains the event log. + + + Gets the localized message associated with this event entry. + The space could not be allocated for one of the insertion strings associated with the message. + The formatted, localized text for the message. This includes associated replacement strings. + + + Gets the replacement strings associated with the event log entry. + An array that holds the replacement strings stored in the event entry. + + + Gets the name of the application that generated this event. + The name registered with the event log as the source of this event. + + + Gets the local time at which this event was generated. + The local time at which this event was generated. + + + Gets the local time at which this event was written to the log. + The local time at which this event was written to the log. + + + Gets the name of the user who is responsible for this event. + Account information could not be obtained for the user's SID. + The security identifier (SID) that uniquely identifies a user or group. + + + Defines size and enumerators for a collection of instances. + + + Copies the elements of the to an array of instances, starting at a particular array index. + The one-dimensional array of instances that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in the array at which copying begins. + + + Supports a simple iteration over the object. + An object that can be used to iterate over the collection. + + + Copies the elements of the collection to an , starting at a particular index. + The one-dimensional that is the destination of the elements that are copied from the collection. The must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets the number of entries in the event log (that is, the number of elements in the collection). + The number of entries currently in the event log. + + + Gets an entry in the event log, based on an index that starts at 0 (zero). + The zero-based index that is associated with the event log entry. + The event log entry at the location that is specified by the parameter. + + + Gets a value that indicates whether access to the is synchronized (thread-safe). + + if access to the collection is not synchronized (thread-safe). + + + Gets an object that can be used to synchronize access to the object. + An object that can be used to synchronize access to the collection. + + + Specifies the event type of an event log entry. + + + An error event. This indicates a significant problem the user should know about; usually a loss of functionality or data. + + + A failure audit event. This indicates a security event that occurs when an audited access attempt fails; for example, a failed attempt to open a file. + + + An information event. This indicates a significant, successful operation. + + + A success audit event. This indicates a security event that occurs when an audited access attempt is successful; for example, logging on successfully. + + + A warning event. This indicates a problem that is not immediately significant, but that may signify conditions that could cause future problems. + + + Provides a simple listener that directs tracing or debugging output to an . + + + Initializes a new instance of the class without a trace listener. + + + Initializes a new instance of the class using the specified event log. + The event log to write to. + + + Initializes a new instance of the class using the specified source. + The name of an existing event log source. + + + Closes the event log so that it no longer receives tracing or debugging output. + + + Writes trace information, a data object, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + A data object to write to the output file or stream. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, an array of data objects, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + An array of data objects. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, a formatted array of objects, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + A format string that contains zero or more format items that correspond to objects in the array. + An array containing zero or more objects to format. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, a message, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + The trace message. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes a message to the event log for this instance. + The message to write. + + exceeds 32,766 characters. + + + Writes a message to the event log for this instance. + The message to write. + + exceeds 32,766 characters. + + + Gets or sets the event log to write to. + The event log to write to. + + + Gets or sets the name of this . + The name of this trace listener. + + + Represents the configuration settings used to create an event log source on the local computer or a remote computer. + + + Initializes a new instance of the class with a specified event source and event log name. + The name to register with the event log as a source of entries. + The name of the log to which entries from the source are written. + + + Gets or sets the number of categories in the category resource file. + The property is set to a negative value or to a value larger than UInt16.MaxValue. + The number of categories in the category resource file. The default value is zero. + + + Gets or sets the path of the resource file that contains category strings for the source. + The path of the category resource file. The default is an empty string (""). + + + Gets or sets the name of the event log to which the source writes entries. + The name of the event log. This can be Application, System, or a custom log name. The default value is "Application." + + + Gets or sets the name of the computer on which to register the event source. + The computer name is invalid. + The name of the system on which to register the event source. The default is the local computer ("."). + + + Gets or sets the path of the message resource file that contains message formatting strings for the source. + The path of the message resource file. The default is an empty string (""). + + + Gets or sets the path of the resource file that contains message parameter strings for the source. + The path of the parameter resource file. The default is an empty string (""). + + + Gets or sets the name to register with the event log as an event source. + The name to register with the event log as a source of entries. The default is an empty string (""). + + + Specifies how to handle entries in an event log that has reached its maximum file size. + + + Indicates that existing entries are retained when the event log is full and new entries are discarded. + + + Indicates that each new entry overwrites the oldest entry when the event log is full. + + + This field is deprecated. + + + \ No newline at end of file diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/net462/System.Diagnostics.EventLog.xml b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/net462/System.Diagnostics.EventLog.xml new file mode 100644 index 000000000..1146e63bf --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/net462/System.Diagnostics.EventLog.xml @@ -0,0 +1,2248 @@ + + + + System.Diagnostics.EventLog + + + + Provides data for the event. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified event log entry. + An that represents the entry that was written. + + + Gets the event log entry that was written to the log. + An that represents the entry that was written to the event log. + + + Represents the method that will handle the event of an . + The source of the event. + An that contains the event data. + + + Represents a placeholder (bookmark) within an event stream. You can use the placeholder to mark a position and return to this position in a stream of events. An instance of this object can be obtained from an object, in which case it corresponds to the position of that event record. + + + Creates a bookmark that identifies an event in a channel. + An XML string that represents the bookmark. + + + Gets the XML string that represents the bookmark. + + + Represents a keyword for an event. Keywords are defined in an event provider and are used to group the event with other similar events (based on the usage of the events). + + + Gets the localized name of the keyword. + A string that contains a localized name for this keyword. + + + Gets the non-localized name of the keyword. + A string that contains the non-localized name of this keyword. + + + Gets the numeric value associated with the keyword. + The numeric value associated with the keyword. + + + Contains an event level that is defined in an event provider. The level signifies the severity of the event. + + + Gets the localized name for the event level. The name describes what severity level of events this level is used for. + A string that contains the localized name for the event level. + + + Gets the non-localized name of the event level. + A string that contains the non-localized name of the event level. + + + Gets the numeric value of the event level. + The numeric value of the event level. + + + Contains static information and configuration settings for an event log. Many of the configurations settings were defined by the event provider that created the log. + + + Initializes a new object by specifying the name of the log for which to get information and configuration settings. The log can be on the local computer or a remote computer, based on the event log session specified. + The name of the event log for which to get information and configuration settings. + The event log session used to determine the event log service that the specified log belongs to. The session is either connected to the event log service on the local computer or a remote computer. + + + Initializes a new object by specifying the local event log for which to get information and configuration settings. + The name of the local event log for which to get information and configuration settings. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Saves the configuration settings that. + + + Gets a value that indicates whether the event log is a classic event log. A classic event log is one that has its events defined in an .mc file instead of a manifest (.xml file) used by the event provider. + + if the event log is a classic log; otherwise, . + + + Gets or sets a value that indicates whether the event log is enabled or disabled. An enabled log is one in which events can be logged, and a disabled log is one in which events cannot be logged. + + if the log is enabled; otherwise, . + + + Gets or sets the file directory path to the location of the file where the events are stored for the log. + A string that contains the path to the event log file. + + + Gets an value that specifies whether the event log is an application, system, or custom event log. + One of the enumeration values. + + + Gets or sets an value that determines how events are handled when the event log becomes full. + One of the enumeration values. + + + Gets the name of the event log. + The name of the event log. + + + Gets an value that determines the type of the event log. + One of the enumeration values. + + + Gets or sets the maximum size, in bytes, that the event log file is allowed to be. When the file reaches this maximum size, it is considered full. + The maximum size, in bytes, that the event log file is allowed to be. + + + Gets the name of the event provider that created this event log. + The name of the event provider that created this event log. + + + Gets the size of the buffer that the event provider uses for publishing events to the log. + The size of the buffer that the event provider uses for publishing events to the log. It can be . + + + Gets the control globally unique identifier (GUID) for the event log if the log is a debug log. If this log is not a debug log, this value is . + A GUID value, or if the log is not a debug log. + + + Gets or sets the keyword mask used by the event provider. + The keyword mask used by the event provider, or if the event provider did not define any keywords. + + + Gets the maximum latency time used by the event provider when publishing events to the log. + The maximum latency time used by the event provider when publishing events to the log, or if no latency time was specified by the event provider. + + + Gets or sets the maximum event level (which defines the severity of the event) that is allowed to be logged in the event log. This value is defined by the event provider. + The maximum event level that is allowed to be logged in the event log, or if the maximum event level was not defined in the event provider. + + + Gets the maximum number of buffers used by the event provider to publish events to the event log. + The maximum number of buffers used by the event provider to publish events to the event log. This value can be . + + + Gets the minimum number of buffers used by the event provider to publish events to the event log. + The minimum number of buffers used by the event provider to publish events to the event log. This value can be . + + + Gets an enumerable collection of the names of all the event providers that can publish events to this event log. + An enumerable collection of strings that contain the event provider names. + + + Gets or sets the security descriptor of the event log. The security descriptor defines the users and groups of users that can read and write to the event log. + A string that contains the security descriptor for the event log. + + + Represents the base class for all the exceptions that are thrown when an error occurs while reading event log related information. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the error code for the exception. + The error code for the error that occurred while reading or configuring event log related information. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception being thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Sets the SerializationInfo object with information about the exception. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Gets the error message that describes the current exception. + Returns a string that contains the error message that describes the current exception. + + + Allows you to access the run-time properties of active event logs and event log files. These properties include the number of events in the log, the size of the log, a value that determines whether the log is full, and the last time the log was written to or accessed. + + + Gets the file attributes of the log file associated with the log. + Returns an integer value. This value can be null. + + + Gets the time that the log file associated with the event log was created. + Returns a object. This value can be null. + + + Gets the size of the file, in bytes, associated with the event log. + Returns a long value. + + + Gets a Boolean value that determines whether the log file has reached its maximum size (the log is full). + Returns if the log is full, and returns if the log is not full. + + + Gets the last time the log file associated with the event log was accessed. + Returns a object. This value can be null. + + + Gets the last time data was written to the log file associated with the event log. + Returns a object. This value can be null. + + + Gets the number of the oldest event record in the event log. + Returns a long value that represents the number of the oldest event record in the event log. This value can be null. + + + Gets the number of event records in the event log. + Returns a long value that represents the number of event records in the event log. This value can be null. + + + Represents the exception thrown when an event provider publishes invalid data in an event. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Defines the default access permissions for the event log. The Application and System values indicate that the log shares the access control list (ACL) with the appropriate Windows log (the Application or System event logs) and share the Event Tracing for Windows (ETW) session with other logs of the same isolation. All channels with Custom isolation use a private ETW session. + + + The log shares the access control list with the Application event log and shares the ETW session with other logs that have Application isolation. + + + The event log is a custom event log that uses its own private ETW session. + + + The log shares the access control list with the System event log and shares the ETW session with other logs that have System isolation. + + + Represents a link between an event provider and an event log that the provider publishes events into. This object cannot be instantiated. + + + Gets the localized name of the event log. + Returns a string that contains the localized name of the event log. + + + Gets a Boolean value that determines whether the event log is imported, rather than defined in the event provider. An imported event log is defined in a different provider. + Returns if the event log is imported by the event provider, and returns if the event log is not imported by the event provider. + + + Gets the non-localized name of the event log associated with this object. + Returns a string that contains the non-localized name of the event log associated with this object. + + + Determines the behavior for the event log service handles an event log when the log reaches its maximum allowed size (when the event log is full). + + + Archive the log when full, do not overwrite events. The log is automatically archived when necessary. No events are overwritten. + + + New events continue to be stored when the log file is full. Each new incoming event replaces the oldest event in the log. + + + Do not overwrite events. Clear the log manually rather than automatically. + + + Represents the exception that is thrown when a requested event log (usually specified by the name of the event log or the path to the event log file) does not exist. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Contains an array of strings that represent XPath queries for elements in the XML representation of an event, which is based on the Event Schema. The queries in this object are used to extract values from the event. + + + Initializes a new class instance. + XPath queries used to extract values from the XML representation of the event. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Represents the exception that is thrown when a specified event provider name references a disabled event provider. A disabled event provider cannot publish events. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Represents a query for events in an event log and the settings that define how the query is executed and on what computer the query is executed on. + + + Initializes a new instance of the class by specifying the target of the query and the event query. The target can be an active event log or a log file. + The name of the event log to query, or the path to the event log file to query. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The event query used to retrieve events that match the query conditions. + + + Initializes a new instance of the class by specifying the target of the query. The target can be an active event log or a log file. + The name of the event log to query, or the path to the event log file to query. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + + + Gets or sets the Boolean value that determines whether to read events from the newest event in an event log to the oldest event in the log. + Returns if events are read from the newest event in the log to the oldest event, and returns if events are read from the oldest event in the log to the newest event. + + + Gets or sets the session that access the Event Log service on the local computer or a remote computer. This object can be set to access a remote event log by creating a object or an object with this object. + Returns an object. + + + Gets or sets a Boolean value that determines whether this query will continue to retrieve events when the query has an error. + + indicates that the query will continue to retrieve events even if the query fails for some logs, and indicates that this query will not continue to retrieve events when the query fails. + + + Enables you to read events from an event log based on an event query. The events that are read by this object are returned as objects. + + + Initializes a new instance of the class by specifying an event query and a bookmark that is used as starting position for the query. + The event query used to retrieve events. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events logged after the bookmark event will be returned by the query. + + + Initializes a new instance of the class by specifying an event query. + The event query used to retrieve events. + + + Initializes a new instance of the class by specifying the name of an event log to retrieve events from or the path to a log file to retrieve events from. + The name of the event log to retrieve events from, or the path to the event log file to retrieve events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + + + Initializes a new instance of the class by specifying an active event log to retrieve events from. + The name of the event log to retrieve events from. + + + Cancels the current query operation. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Reads the next event that is returned from the event query in this object. + Returns an object. + + + Reads the next event that is returned from the event query in this object. + The maximum time to allow the read operation to run before canceling the operation. + Returns an object. + + + Changes the position in the event stream where the next event that is read will come from by specifying a bookmark event and an offset number of events from the bookmark. No events logged before the bookmark plus the offset will be retrieved. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + The offset number of events to change the position of the bookmark. + + + Changes the position in the event stream where the next event that is read will come from by specifying a bookmark event. No events logged before the bookmark event will be retrieved. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + + + Changes the position in the event stream where the next event that is read will come from by specifying a starting position and an offset from the starting position. No events logged before the starting position plus the offset will be retrieved. + A value from the enumeration defines where in the stream of events to start querying for events. + The offset number of events to add to the origin. + + + Gets or sets the number of events retrieved from the stream of events on every read operation. + Returns an integer value. + + + Gets the status of each event log or log file associated with the event query in this object. + Returns a list of objects that each contain status information about an event log associated with the event query in this object. + + + Represents an exception that is thrown when an error occurred while reading, querying, or subscribing to the events in an event log. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Contains the properties of an event instance for an event that is received from an object. The event properties provide information about the event such as the name of the computer where the event was logged and the time that the event was created. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the event message in the current locale. + Returns a string that contains the event message in the current locale. + + + Gets the event message, replacing variables in the message with the specified values. + The values used to replace variables in the event message. Variables are represented by %n, where n is a number. + Returns a string that contains the event message in the current locale. + + + Gets the enumeration of the values of the user-supplied event properties, or the results of XPath-based data if the event has XML representation. + Selects the property values to return. + Returns a list of objects. + + + Gets the XML representation of the event. All of the event properties are represented in the event's XML. The XML conforms to the event schema. + Returns a string that contains the XML representation of the event. + + + Gets the globally unique identifier (GUID) for the activity in process for which the event is involved. This allows consumers to group related activities. + Returns a GUID value. + + + Gets a placeholder (bookmark) that corresponds to this event. This can be used as a placeholder in a stream of events. + Returns a object. + + + Gets the name of the event log or the event log file in which the event is stored. + Returns a string that contains the name of the event log or the event log file in which the event is stored. + + + Gets the identifier for this event. All events with this identifier value represent the same type of event. + Returns an integer value. This value can be null. + + + Gets the keyword mask of the event. Get the value of the property to get the name of the keywords used in this mask. + Returns a long value. This value can be null. + + + Gets the display names of the keywords used in the keyword mask for this event. + Returns an enumerable collection of strings that contain the display names of the keywords used in the keyword mask for this event. + + + Gets the level of the event. The level signifies the severity of the event. For the name of the level, get the value of the property. + Returns a byte value. This value can be null. + + + Gets the display name of the level for this event. + Returns a string that contains the display name of the level for this event. + + + Gets the name of the event log where this event is logged. + Returns a string that contains a name of the event log that contains this event. + + + Gets the name of the computer on which this event was logged. + Returns a string that contains the name of the computer on which this event was logged. + + + Gets a list of query identifiers that this event matches. This event matches a query if the query would return this event. + Returns an enumerable collection of integer values. + + + Gets the opcode of the event. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. For the name of the opcode, get the value of the property. + Returns a short value. This value can be null. + + + Gets the display name of the opcode for this event. + Returns a string that contains the display name of the opcode for this event. + + + Gets the process identifier for the event provider that logged this event. + Returns an integer value. This value can be null. + + + Gets the user-supplied properties of the event. + Returns a list of objects. + + + Gets the globally unique identifier (GUID) of the event provider that published this event. + Returns a GUID value. This value can be null. + + + Gets the name of the event provider that published this event. + Returns a string that contains the name of the event provider that published this event. + + + Gets qualifier numbers that are used for event identification. + Returns an integer value. This value can be null. + + + Gets the event record identifier of the event in the log. + Returns a long value. This value can be null. + + + Gets a globally unique identifier (GUID) for a related activity in a process for which an event is involved. + Returns a GUID value. This value can be null. + + + Gets a task identifier for a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. This type allows any value between 0x0000 and 0xffef to be used. For the name of the task, get the value of the property. + Returns an integer value. This value can be null. + + + Gets the display name of the task for the event. + Returns a string that contains the display name of the task for the event. + + + Gets the thread identifier for the thread that the event provider is running in. + Returns an integer value. This value can be null. + + + Gets the time, in format, that the event was created. + Returns a value. The value can be null. + + + Gets the security descriptor of the user whose context is used to publish the event. + Returns a value. + + + Gets the version number for the event. + Returns a byte value. This value can be null. + + + Used to access the Event Log service on the local computer or a remote computer so you can manage and gather information about the event logs and event providers on the computer. + + + Initializes a new object, establishes a connection with the local Event Log service. + + + Initializes a new object, and establishes a connection with the Event Log service on the specified computer. The specified credentials (user name and password) are used for the credentials to access the remote computer. + The name of the computer on which to connect to the Event Log service. + The domain of the specified user. + The user name used to connect to the remote computer. + The password used to connect to the remote computer. + The type of connection to use for the connection to the remote computer. + + + Initializes a new object, and establishes a connection with the Event Log service on the specified computer. The credentials (user name and password) of the user who calls the method is used for the credentials to access the remote computer. + The name of the computer on which to connect to the Event Log service. + + + Cancels any operations (such as reading an event log or subscribing to an event log) that are currently active for the Event Log service that this session object is connected to. + + + Clears events from the specified event log, and saves the cleared events to the specified file. + The name of the event log to clear all the events from. + The path to the file in which the cleared events will be saved. The file should end in .evtx. + + + Clears events from the specified event log. + The name of the event log to clear all the events from. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Exports events into an external log file. A flag can be set to indicate that the method will continue exporting events even if the specified query fails for some logs. The events are stored without the event messages. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + indicates that the method will continue exporting events even if the specified query fails for some logs, and indicates that this method will not continue to export events when the specified query fails. + + + Exports events into an external log file. The events are stored without the event messages. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + + Exports events and their messages into an external log file. A flag can be set to indicate that the method will continue exporting events even if the specified query fails for some logs. The event messages are exported in the specified language. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + indicates that the method will continue exporting events even if the specified query fails for some logs, and indicates that this method will not continue to export events when the specified query fails. + The culture that specifies which language that the exported event messages will be in. + + + Exports events and their messages into an external log file. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + + Gets an object that contains runtime information for the specified event log. + The name of the event log to get information about, or the path to the event log file to get information about. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + An object that contains information about the specified log. + + + Gets an enumerable collection of all the event log names that are registered with the Event Log service. + An enumerable collection of strings that contain the event log names. + + + Gets an enumerable collection of all the event provider names that are registered with the Event Log service. An event provider is an application that publishes events to an event log. + An enumerable collection of strings that contain the event provider names. + + + Gets a static predefined session object that is connected to the Event Log service on the local computer. + A predefined session object that is connected to the Event Log service on the local computer. + + + Contains the status code or error code for a specific event log. This status can be used to determine if the event log is available for an operation. + + + Gets the name of the event log for which the status code is obtained. + The name of the event log for which the status code is obtained. + + + Gets the status code or error code for the event log. This status or error is the result of a read or subscription operation on the event log. + The status code or error code for the event log. + + + Defines the type of events that are logged in an event log. Each log can only contain one type of event. + + + These events are primarily for end users, administrators, and support. The events that are found in the Administrative type logs indicate a problem and a well-defined solution that an administrator can act on. An example of an administrative event is an event that occurs when an application fails to connect to a printer. + + + Events in an analytic event log are published in high volume. They describe program operation and indicate problems that cannot be handled by user intervention. + + + Events in a debug type event log are used solely by developers to diagnose a problem for debugging. + + + Events in an operational type event log are used for analyzing and diagnosing a problem or occurrence. They can be used to trigger tools or tasks based on the problem or occurrence. An example of an operational event is an event that occurs when a printer is added or removed from a system. + + + Allows you to subscribe to incoming events. Each time a desired event is published to an event log, the event is raised, and the method that handles this event will be executed. + + + Allows setting a delegate (event handler method) that gets called every time an event is published that matches the criteria specified in the event query for this object. + + + Initializes a new instance of the class by specifying an event query, a bookmark that is used as starting position for the query, and a Boolean value that determines whether to read the events that already exist in the event log. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + A Boolean value that determines whether to read the events that already exist in the event log. If this value is , then the existing events are read and if this value is , then the existing events are not read. + + + Initializes a new instance of the class by specifying an event query and a bookmark that is used as starting position for the query. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + + + Initializes a new instance of the class by specifying an event query. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + + + Initializes a new instance of the class by specifying the name or path to an event log. + The path or name of the event log monitor for events. If any event is logged in this event log, then the event is raised. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets or sets a value that indicates whether this object starts delivering events to the event delegate. + + when this object can deliver events to the event delegate; when this object has stopped delivery. + + + Contains the metadata (properties and settings) for an event that is defined in an event provider. + + + Gets the description template associated with the event using the current thread locale for the description language. + A string that contains the description template associated with the event. + + + Gets the identifier of the event that is defined in the event provider. + The event identifier. + + + Gets the keywords associated with the event that is defined in the event provider. + An enumerable collection of the keywords associated with the event. + + + Gets the level associated with the event that is defined in the event provider. The level defines the severity of the event. + The level associated with the event. + + + Gets a link to the event log that receives this event when the provider publishes this event. + A link to the event log. + + + Gets the opcode associated with this event that is defined by an event provider. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. + The opcode associated with this event. + + + Gets the task associated with the event. A task identifies a portion of an application or a component that publishes an event. + The task associated with the event. + + + Gets the template string for the event. Templates are used to describe data that is used by a provider when an event is published. Templates optionally specify XML that provides the structure of an event. The XML allows values that the event publisher provides to be inserted during the rendering of an event. + A string that contains the template for the event. + + + Gets the version of the event that qualifies the event identifier. + A byte value that contains the version of the event. + + + Contains an event opcode that is defined in an event provider. An opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. + + + Gets the localized name for an event opcode. + The localized name for an event opcode. + + + Gets the non-localized name for an event opcode. + The non-localized name for an event opcode. + + + Gets the numeric value associated with the event opcode. + The numeric value associated with the event opcode. + + + Contains the value of an event property that is specified by the event provider when the event is published. + + + Gets the value of the event property that is specified by the event provider when the event is published. + The value of the event property. + + + Defines the properties of an event instance for an event that is received from an object. The event properties provide information about the event such as the name of the computer where the event was logged and the time the event was created. This class is an abstract class. The class implements this class. + + + Initializes a new instance of the class. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the event message in the current locale. + Returns a string that contains the event message in the current locale. + + + Gets the event message, replacing variables in the message with the specified values. + The values used to replace variables in the event message. Variables are represented by %n, where n is a number. + Returns a string that contains the event message in the current locale. + + + Gets the XML representation of the event. All of the event properties are represented in the event XML. The XML conforms to the event schema. + Returns a string that contains the XML representation of the event. + + + Gets the globally unique identifier (GUID) for the activity in process for which the event is involved. This allows consumers to group related activities. + Returns a GUID value. + + + Gets a placeholder (bookmark) that corresponds to this event. This can be used as a placeholder in a stream of events. + Returns a object. + + + Gets the identifier for this event. All events with this identifier value represent the same type of event. + Returns an integer value. This value can be null. + + + Gets the keyword mask of the event. Get the value of the property to get the name of the keywords used in this mask. + Returns a long value. This value can be null. + + + Gets the display names of the keywords used in the keyword mask for this event. + Returns an enumerable collection of strings that contain the display names of the keywords used in the keyword mask for this event. + + + Gets the level of the event. The level signifies the severity of the event. For the name of the level, get the value of the property. + Returns a byte value. This value can be null. + + + Gets the display name of the level for this event. + Returns a string that contains the display name of the level for this event. + + + Gets the name of the event log where this event is logged. + Returns a string that contains a name of the event log that contains this event. + + + Gets the name of the computer on which this event was logged. + Returns a string that contains the name of the computer on which this event was logged. + + + Gets the opcode of the event. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. For the name of the opcode, get the value of the property. + Returns a short value. This value can be null. + + + Gets the display name of the opcode for this event. + Returns a string that contains the display name of the opcode for this event. + + + Gets the process identifier for the event provider that logged this event. + Returns an integer value. This value can be null. + + + Gets the user-supplied properties of the event. + Returns a list of objects. + + + Gets the globally unique identifier (GUID) of the event provider that published this event. + Returns a GUID value. This value can be null. + + + Gets the name of the event provider that published this event. + Returns a string that contains the name of the event provider that published this event. + + + Gets qualifier numbers that are used for event identification. + Returns an integer value. This value can be null. + + + Gets the event record identifier of the event in the log. + Returns a long value. This value can be null. + + + Gets a globally unique identifier (GUID) for a related activity in a process for which an event is involved. + Returns a GUID value. This value can be null. + + + Gets a task identifier for a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. This type allows any value between 0x0000 and 0xffef to be used. To obtain the task name, get the value of the property. + Returns an integer value. This value can be null. + + + Gets the display name of the task for the event. + Returns a string that contains the display name of the task for the event. + + + Gets the thread identifier for the thread that the event provider is running in. + Returns an integer value. This value can be null. + + + Gets the time, in format, that the event was created. + Returns a value. The value can be null. + + + Gets the security descriptor of the user whose context is used to publish the event. + Returns a value. + + + Gets the version number for the event. + Returns a byte value. This value can be null. + + + When the event is raised, an instance of this object is passed to the delegate method that handles the event. This object contains the event that was published to the event log or the exception that occurred when the event subscription failed. + + + Gets the exception that occurred when the event subscription failed. The exception has a description of why the subscription failed. + The exception that occurred when the event subscription failed. + + + Gets the event record that is published to the event log. This event matches the criteria from the query specified in the event subscription. + The event record. + + + Contains an event task that is defined in an event provider. The task identifies a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. + + + Gets the localized name for the event task. + The localized name for the event task. + + + Gets the event globally unique identifier (GUID) associated with the task. + The event GUID associated with the task. + + + Gets the non-localized name of the event task. + The non-localized name of the event task. + + + Gets the numeric value associated with the task. + The numeric value associated with the task. + + + Specifies that a string contains a name of an event log or the file system path to an event log file. + + + A path parameter contains the file system path to an event log file. + + + A path parameter contains the name of the event log. + + + Contains static information about an event provider, such as the name and id of the provider, and the collection of events defined in the provider. + + + Initializes a new instance of the class by specifying the name of the provider that you want to retrieve information about, the event log service that the provider is registered with, and the language that you want to return the information in. + The name of the event provider that you want to retrieve information about. + The object that specifies whether to get the provider information from a provider on the local computer or a provider on a remote computer. + The culture that specifies the language that the information should be returned in. + + + Initializes a new instance of the class by specifying the name of the provider that you want to retrieve information about. + The name of the event provider that you want to retrieve information about. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the localized name of the event provider. + Returns a string that contains the localized name of the event provider. + + + Gets an enumerable collection of objects, each of which represents an event that is defined in the provider. + Returns an enumerable collection of objects. + + + Gets the base of the URL used to form help requests for the events in this event provider. + Returns a value. + + + Gets the globally unique identifier (GUID) for the event provider. + Returns the GUID value for the event provider. + + + Gets an enumerable collection of objects, each of which represent an event keyword that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets an enumerable collection of objects, each of which represent a level that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets an enumerable collection of objects, each of which represent a link to an event log that is used by the event provider. + Returns an enumerable collection of objects. + + + Gets the path of the file that contains the message table resource that has the strings associated with the provider metadata. + Returns a string that contains the path of the provider message file. + + + Gets the unique name of the event provider. + Returns a string that contains the unique name of the event provider. + + + Gets an enumerable collection of objects, each of which represent an opcode that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets the path of the file that contains the message table resource that has the strings used for parameter substitutions in event descriptions. + Returns a string that contains the path of the file that contains the message table resource that has the strings used for parameter substitutions in event descriptions. + + + Gets the path to the file that contains the metadata associated with the provider. + Returns a string that contains the path to the file that contains the metadata associated with the provider. + + + Gets an enumerable collection of objects, each of which represent a task that is defined in the event provider. + Returns an enumerable collection of objects. + + + Defines values for the type of authentication used during a Remote Procedure Call (RPC) login to a server. This login occurs when you create a object that specifies a connection to a remote computer. + + + Use the default authentication method during RPC login. The default authentication is equivalent to Negotiate. + + + Use Kerberos authentication during RPC login. + + + Use the Negotiate authentication method during RPC login. This allows the client application to select the most appropriate authentication method (NTLM or Kerberos) for the situation. + + + Use Windows NT LAN Manager (NTLM) authentication during RPC login. + + + Defines the standard keywords that are attached to events by the event provider. For more information about keywords, see . + + + Attached to all failed security audit events. This keyword should only be used for events in the Security log. + + + Attached to all successful security audit events. This keyword should only be used for events in the Security log. + + + Attached to transfer events where the related Activity ID (Correlation ID) is a computed value and is not guaranteed to be unique (not a real GUID). + + + Attached to transfer events where the related Activity ID (Correlation ID) is a computed value and is not guaranteed to be unique (not a real GUID). + + + Attached to events which are raised using the RaiseEvent function. + + + This value indicates that no filtering on keyword is performed when the event is published. + + + Attached to all response time events. + + + Attached to all Service Quality Mechanism (SQM) events. + + + Attached to all Windows Diagnostic Infrastructure (WDI) context events. + + + Attached to all Windows Diagnostic Infrastructure (WDI) diagnostic events. + + + Defines the standard event levels that are used in the Event Log service. The level defines the severity of the event. Custom event levels can be defined beyond these standard levels. For more information about levels, see . + + + This level corresponds to critical errors, which is a serious error that has caused a major failure. + + + This level corresponds to normal errors that signify a problem. + + + This level corresponds to informational events or messages that are not errors. These events can help trace the progress or state of an application. + + + This value indicates that not filtering on the level is done during the event publishing. + + + This level corresponds to lengthy events or messages. + + + This level corresponds to warning events. For example, an event that gets published because a disk is nearing full capacity is a warning event. + + + Defines the standard opcodes that are attached to events by the event provider. For more information about opcodes, see . + + + An event with this opcode is a trace collection start event. + + + An event with this opcode is a trace collection stop event. + + + An event with this opcode is an extension event. + + + An event with this opcode is an informational event. + + + An event with this opcode is published when one activity in an application receives data. + + + An event with this opcode is published after an activity in an application replies to an event. + + + An event with this opcode is published after an activity in an application resumes from a suspended state. The event should follow an event with the Suspend opcode. + + + An event with this opcode is published when one activity in an application transfers data or system resources to another activity. + + + An event with this opcode is published when an application starts a new transaction or activity. This can be embedded into another transaction or activity when multiple events with the Start opcode follow each other without an event with a Stop opcode. + + + An event with this opcode is published when an activity or a transaction in an application ends. The event corresponds to the last unpaired event with a Start opcode. + + + An event with this opcode is published when an activity in an application is suspended. + + + Defines the standard tasks that are attached to events by the event provider. For more information about tasks, see . + + + No task is used to identify a portion of an application that publishes an event. + + + Represents language-neutral information for an event log entry. + + + Initializes a new instance of the class using the specified resource identifiers for the localized message and category text of the event entry and the specified event log entry type. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + A resource identifier that corresponds to a string defined in the category resource file of the event source, or zero to specify no category for the event. + An value that indicates the event type. + + is not a valid value. + + is a negative value or a value larger than UInt32.MaxValue. + + -or- + + is a negative value or a value larger than UInt16.MaxValue. + + + Initializes a new instance of the class using the specified resource identifiers for the localized message and category text of the event entry. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + A resource identifier that corresponds to a string defined in the category resource file of the event source, or zero to specify no category for the event. + The parameter is a negative value or a value larger than UInt32.MaxValue. + + -or- + + The parameter is a negative value or a value larger than UInt16.MaxValue. + + + Gets or sets the resource identifier that specifies the application-defined category of the event entry. + The property is set to a negative value or to a value larger than UInt16.MaxValue. + A numeric category value or resource identifier that corresponds to a string defined in the category resource file of the event source. The default is zero, which signifies that no category will be displayed for the event entry. + + + Gets or sets the event type of the event log entry. + The property is not set to a valid value. + An value that indicates the event entry type. The default value is . + + + Gets or sets the resource identifier that designates the message text of the event entry. + The property is set to a negative value or to a value larger than UInt32.MaxValue. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + + + Provides interaction with Windows event logs. + + + Occurs when an entry is written to an event log on the local computer. + + + Initializes a new instance of the class. Does not associate the instance with any log. + + + Initializes a new instance of the class. Associates the instance with a log on the specified computer and creates or assigns the specified source to the . + The name of the log on the specified computer. + The computer on which the log exists. + The source of event log entries. + The log name is . + The log name is invalid. + + -or- + + The computer name is invalid. + + + Initializes a new instance of the class. Associates the instance with a log on the specified computer. + The name of the log on the specified computer. + The computer on which the log exists. + The log name is . + The log name is invalid. + + -or- + + The computer name is invalid. + + + Initializes a new instance of the class. Associates the instance with a log on the local computer. + The name of the log on the local computer. + The log name is . + The log name is invalid. + + + Begins the initialization of an used on a form or used by another component. The initialization occurs at runtime. + + is already initialized. + + + Removes all entries from the event log. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + A value is not specified for the property. Make sure the log name is not an empty string. + The log does not exist. + + + Closes the event log and releases read and write handles. + The event log's read handle or write handle was not released successfully. + + + Establishes a valid event source for writing localized event messages, using the specified configuration properties for the event source and the corresponding event log. + The configuration properties for the event source and its target event log. + The computer name specified in is not valid. + +-or- + + The source name specified in is . + +-or- + + The log name specified in is not valid. Event log names must consist of printable characters and cannot include the characters '*', '?', or '\'. + +-or- + + The log name specified in is not valid for user log creation. The Event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name specified in results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of the log name specified in are not unique. + +-or- + + The source name specified in is already registered. + +-or- + + The source name specified in matches an existing event log name. + The registry key for the event log could not be opened. + + is . + + + Establishes the specified source name as a valid event source for writing entries to a log on the specified computer. This method can also be used to create a new custom log on the specified computer. + The source by which the application is registered on the specified computer. + The name of the log the source's entries are written to. Possible values include Application, System, or a custom event log. If you do not specify a value, defaults to Application. + The name of the computer to register this event source with, or "." for the local computer. + The is not a valid computer name. + +-or- + + is an empty string ("") or . + +-or- + + is not a valid event log name. Event log names must consist of printable characters, and cannot include the characters '*', '?', or '\'. + +-or- + + is not valid for user log creation. The event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of match the first 8 characters of an existing event log name on the specified computer. + +-or- + + The source cannot be registered because it already exists on the specified computer. + +-or- + + The source name matches an existing event source name. + The registry key for the event log could not be opened on the specified computer. + + + Establishes the specified source name as a valid event source for writing entries to a log on the local computer. This method can also create a new custom log on the local computer. + The source name by which the application is registered on the local computer. + The name of the log the source's entries are written to. Possible values include Application, System, or a custom event log. + + is an empty string ("") or . + +-or- + + is not a valid event log name. Event log names must consist of printable characters, and cannot include the characters '*', '?', or '\'. + +-or- + + is not valid for user log creation. The event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of match the first 8 characters of an existing event log name. + +-or- + + The source cannot be registered because it already exists on the local computer. + +-or- + + The source name matches an existing event log name. + The registry key for the event log could not be opened on the local computer. + + + Removes an event log from the specified computer. + The name of the log to delete. Possible values include: Application, Security, System, and any custom event logs on the specified computer. + The name of the computer to delete the log from, or "." for the local computer. + + is an empty string ("") or . + +-or- + + is not a valid computer name. + The registry key for the event log could not be opened on the specified computer. + +-or- + + The log does not exist on the specified computer. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + + + Removes an event log from the local computer. + The name of the log to delete. Possible values include: Application, Security, System, and any custom event logs on the computer. + + is an empty string ("") or . + The registry key for the event log could not be opened on the local computer. + +-or- + + The log does not exist on the local computer. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + + + Removes the application's event source registration from the specified computer. + The name by which the application is registered in the event log system. + The name of the computer to remove the registration from, or "." for the local computer. + The parameter is invalid. + +-or- + + The parameter does not exist in the registry of the specified computer. + +-or- + + You do not have write access on the registry key for the event log. + + cannot be deleted because in the registry, the parent registry key for does not contain a subkey with the same name. + + + Removes the event source registration from the event log of the local computer. + The name by which the application is registered in the event log system. + The parameter does not exist in the registry of the local computer. + +-or- + + You do not have write access on the registry key for the event log. + + + Releases the unmanaged resources used by the , and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Ends the initialization of an used on a form or by another component. The initialization occurs at runtime. + + + Determines whether the log exists on the specified computer. + The log for which to search. Possible values include: Application, Security, System, other application-specific logs (such as those associated with Active Directory), or any custom log on the computer. + The name of the computer on which to search for the log, or "." for the local computer. + The parameter is an invalid format. Make sure you have used proper syntax for the computer on which you are searching. + + -or- + + The is or the value is empty. + + if the log exists on the specified computer; otherwise, . + + + Determines whether the log exists on the local computer. + The name of the log to search for. Possible values include: Application, Security, System, other application-specific logs (such as those associated with Active Directory), or any custom log on the computer. + The logName is or the value is empty. + + if the log exists on the local computer; otherwise, . + + + Searches for all event logs on the local computer and creates an array of objects that contain the list. + You do not have read access to the registry. + + -or- + + There is no event log service on the computer. + An array of type that represents the logs on the local computer. + + + Searches for all event logs on the given computer and creates an array of objects that contain the list. + The computer on which to search for event logs. + The parameter is an invalid computer name. + You do not have read access to the registry. + + -or- + + There is no event log service on the computer. + An array of type that represents the logs on the given computer. + + + Gets the name of the log to which the specified source is registered. + The name of the event source. + The name of the computer on which to look, or "." for the local computer. + The name of the log associated with the specified source in the registry. + + + Changes the configured behavior for writing new entries when the event log reaches its maximum file size. + The overflow behavior for writing new entries to the event log. Must not be OverwriteOlder. + Deprecated. Must be 0. + + is not a valid value. + + is less than one, or larger than 365. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + + + Specifies the localized name of the event log, which is displayed in the server Event Viewer. + The fully specified path to a localized resource file. + The resource identifier that indexes a localized string within the resource file. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + + is . + + + Determines whether an event source is registered on a specified computer. + The name of the event source. + The name the computer on which to look, or "." for the local computer. + + is an invalid computer name. + + was not found, but some or all of the event logs could not be searched. + + if the event source is registered on the given computer; otherwise, . + + + Determines whether an event source is registered on the local computer. + The name of the event source. + + was not found, but some or all of the event logs could not be searched. + + if the event source is registered on the local computer; otherwise, . + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log, and appends binary data to the message. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + An array of bytes that holds the binary data associated with the entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text and application-defined event identifier to the event log. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an error, warning, information, success audit, or failure audit entry with the given message text to the event log. + The string to write to the event log. + One of the values. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + + is not a valid . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log (using the specified registered event source) and appends binary data to the message. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + An array of bytes that holds the binary data associated with the entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + + is not a valid . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log, using the specified registered event source. The can be used by the Event Viewer to filter events in the log. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text and application-defined event identifier to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an error, warning, information, success audit, or failure audit entry with the given message text to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an information type entry with the given message text to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an information type entry, with the given message text, to the event log. + The string to write to the event log. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data, message replacement strings, and associated binary data. + An instance that represents a localized event log entry. + An array of bytes that holds the binary data associated with the entry. + An array of strings to merge into the message text of the event log entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes a localized entry to the event log. + An instance that represents a localized event log entry. + An array of strings to merge into the message text of the event log entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data, message replacement strings, and associated binary data, and using the specified registered event source. + The name of the event source registered for the application on the specified computer. + An instance that represents a localized event log entry. + An array of bytes that holds the binary data associated with the entry. + An array of strings to merge into the message text of the event log entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data and message replacement strings, using the specified registered event source. + The name of the event source registered for the application on the specified computer. + An instance that represents a localized event log entry. + An array of strings to merge into the message text of the event log entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Gets or sets a value indicating whether the receives event notifications. + The event log is on a remote computer. + + if the receives notification when an entry is written to the log; otherwise, . + + + Gets the contents of the event log. + An holding the entries in the event log. Each entry is associated with an instance of the class. + + + Gets or sets the name of the log to read from or write to. + The name of the log. This can be Application, System, Security, or a custom log name. The default is an empty string (""). + + + Gets the event log's friendly name. + The specified does not exist in the registry for this computer. + A name that represents the event log in the system's event viewer. + + + Gets or sets the name of the computer on which to read or write events. + The computer name is invalid. + The name of the server on which the event log resides. The default is the local computer ("."). + + + Gets or sets the maximum event log size in kilobytes. + The specified value is less than 64, or greater than 4194240, or not an even multiple of 64. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + The maximum event log size in kilobytes. The default is 512, indicating a maximum file size of 512 kilobytes. + + + This property is deprecated. + + + Gets the configured behavior for storing new entries when the event log reaches its maximum log file size. + The value that specifies the configured behavior for storing new entries when the event log reaches its maximum log size. The default is . + + + Gets or sets the source name to register and use when writing to the event log. + The source name results in a registry key path longer than 254 characters. + The name registered with the event log as a source of entries. The default is an empty string (""). + + + Gets or sets the object used to marshal the event handler calls issued as a result of an entry written event. + The used to marshal event-handler calls issued as a result of an event on the event log. + + + Encapsulates a single record in the event log. This class cannot be inherited. + + + Performs a comparison between two event log entries. + The to compare. + + if the objects are identical; otherwise, . + + + Populates a with the data needed to serialize the target object. + The to populate with data. + The destination (see ) for this serialization. + + + Gets the text associated with the property for this entry. + The space could not be allocated for one of the insertion strings associated with the category. + The application-specific category text. + + + Gets the category number of the event log entry. + The application-specific category number for this entry. + + + Gets the binary data associated with the entry. + An array of bytes that holds the binary data associated with the entry. + + + Gets the event type of this entry. + The event type that is associated with the entry in the event log. + + + Gets the application-specific event identifier for the current event entry. + The application-specific identifier for the event message. + + + Gets the index of this entry in the event log. + The index of this entry in the event log. + + + Gets the resource identifier that designates the message text of the event entry. + A resource identifier that corresponds to a string definition in the message resource file of the event source. + + + Gets the name of the computer on which this entry was generated. + The name of the computer that contains the event log. + + + Gets the localized message associated with this event entry. + The space could not be allocated for one of the insertion strings associated with the message. + The formatted, localized text for the message. This includes associated replacement strings. + + + Gets the replacement strings associated with the event log entry. + An array that holds the replacement strings stored in the event entry. + + + Gets the name of the application that generated this event. + The name registered with the event log as the source of this event. + + + Gets the local time at which this event was generated. + The local time at which this event was generated. + + + Gets the local time at which this event was written to the log. + The local time at which this event was written to the log. + + + Gets the name of the user who is responsible for this event. + Account information could not be obtained for the user's SID. + The security identifier (SID) that uniquely identifies a user or group. + + + Defines size and enumerators for a collection of instances. + + + Copies the elements of the to an array of instances, starting at a particular array index. + The one-dimensional array of instances that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in the array at which copying begins. + + + Supports a simple iteration over the object. + An object that can be used to iterate over the collection. + + + Copies the elements of the collection to an , starting at a particular index. + The one-dimensional that is the destination of the elements that are copied from the collection. The must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets the number of entries in the event log (that is, the number of elements in the collection). + The number of entries currently in the event log. + + + Gets an entry in the event log, based on an index that starts at 0 (zero). + The zero-based index that is associated with the event log entry. + The event log entry at the location that is specified by the parameter. + + + Gets a value that indicates whether access to the is synchronized (thread-safe). + + if access to the collection is not synchronized (thread-safe). + + + Gets an object that can be used to synchronize access to the object. + An object that can be used to synchronize access to the collection. + + + Specifies the event type of an event log entry. + + + An error event. This indicates a significant problem the user should know about; usually a loss of functionality or data. + + + A failure audit event. This indicates a security event that occurs when an audited access attempt fails; for example, a failed attempt to open a file. + + + An information event. This indicates a significant, successful operation. + + + A success audit event. This indicates a security event that occurs when an audited access attempt is successful; for example, logging on successfully. + + + A warning event. This indicates a problem that is not immediately significant, but that may signify conditions that could cause future problems. + + + Provides a simple listener that directs tracing or debugging output to an . + + + Initializes a new instance of the class without a trace listener. + + + Initializes a new instance of the class using the specified event log. + The event log to write to. + + + Initializes a new instance of the class using the specified source. + The name of an existing event log source. + + + Closes the event log so that it no longer receives tracing or debugging output. + + + Writes trace information, a data object, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + A data object to write to the output file or stream. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, an array of data objects, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + An array of data objects. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, a formatted array of objects, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + A format string that contains zero or more format items that correspond to objects in the array. + An array containing zero or more objects to format. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, a message, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + The trace message. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes a message to the event log for this instance. + The message to write. + + exceeds 32,766 characters. + + + Writes a message to the event log for this instance. + The message to write. + + exceeds 32,766 characters. + + + Gets or sets the event log to write to. + The event log to write to. + + + Gets or sets the name of this . + The name of this trace listener. + + + Represents the configuration settings used to create an event log source on the local computer or a remote computer. + + + Initializes a new instance of the class with a specified event source and event log name. + The name to register with the event log as a source of entries. + The name of the log to which entries from the source are written. + + + Gets or sets the number of categories in the category resource file. + The property is set to a negative value or to a value larger than UInt16.MaxValue. + The number of categories in the category resource file. The default value is zero. + + + Gets or sets the path of the resource file that contains category strings for the source. + The path of the category resource file. The default is an empty string (""). + + + Gets or sets the name of the event log to which the source writes entries. + The name of the event log. This can be Application, System, or a custom log name. The default value is "Application." + + + Gets or sets the name of the computer on which to register the event source. + The computer name is invalid. + The name of the system on which to register the event source. The default is the local computer ("."). + + + Gets or sets the path of the message resource file that contains message formatting strings for the source. + The path of the message resource file. The default is an empty string (""). + + + Gets or sets the path of the resource file that contains message parameter strings for the source. + The path of the parameter resource file. The default is an empty string (""). + + + Gets or sets the name to register with the event log as an event source. + The name to register with the event log as a source of entries. The default is an empty string (""). + + + Specifies how to handle entries in an event log that has reached its maximum file size. + + + Indicates that existing entries are retained when the event log is full and new entries are discarded. + + + Indicates that each new entry overwrites the oldest entry when the event log is full. + + + This field is deprecated. + + + \ No newline at end of file diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/net8.0/System.Diagnostics.EventLog.xml b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/net8.0/System.Diagnostics.EventLog.xml new file mode 100644 index 000000000..1146e63bf --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/net8.0/System.Diagnostics.EventLog.xml @@ -0,0 +1,2248 @@ + + + + System.Diagnostics.EventLog + + + + Provides data for the event. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified event log entry. + An that represents the entry that was written. + + + Gets the event log entry that was written to the log. + An that represents the entry that was written to the event log. + + + Represents the method that will handle the event of an . + The source of the event. + An that contains the event data. + + + Represents a placeholder (bookmark) within an event stream. You can use the placeholder to mark a position and return to this position in a stream of events. An instance of this object can be obtained from an object, in which case it corresponds to the position of that event record. + + + Creates a bookmark that identifies an event in a channel. + An XML string that represents the bookmark. + + + Gets the XML string that represents the bookmark. + + + Represents a keyword for an event. Keywords are defined in an event provider and are used to group the event with other similar events (based on the usage of the events). + + + Gets the localized name of the keyword. + A string that contains a localized name for this keyword. + + + Gets the non-localized name of the keyword. + A string that contains the non-localized name of this keyword. + + + Gets the numeric value associated with the keyword. + The numeric value associated with the keyword. + + + Contains an event level that is defined in an event provider. The level signifies the severity of the event. + + + Gets the localized name for the event level. The name describes what severity level of events this level is used for. + A string that contains the localized name for the event level. + + + Gets the non-localized name of the event level. + A string that contains the non-localized name of the event level. + + + Gets the numeric value of the event level. + The numeric value of the event level. + + + Contains static information and configuration settings for an event log. Many of the configurations settings were defined by the event provider that created the log. + + + Initializes a new object by specifying the name of the log for which to get information and configuration settings. The log can be on the local computer or a remote computer, based on the event log session specified. + The name of the event log for which to get information and configuration settings. + The event log session used to determine the event log service that the specified log belongs to. The session is either connected to the event log service on the local computer or a remote computer. + + + Initializes a new object by specifying the local event log for which to get information and configuration settings. + The name of the local event log for which to get information and configuration settings. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Saves the configuration settings that. + + + Gets a value that indicates whether the event log is a classic event log. A classic event log is one that has its events defined in an .mc file instead of a manifest (.xml file) used by the event provider. + + if the event log is a classic log; otherwise, . + + + Gets or sets a value that indicates whether the event log is enabled or disabled. An enabled log is one in which events can be logged, and a disabled log is one in which events cannot be logged. + + if the log is enabled; otherwise, . + + + Gets or sets the file directory path to the location of the file where the events are stored for the log. + A string that contains the path to the event log file. + + + Gets an value that specifies whether the event log is an application, system, or custom event log. + One of the enumeration values. + + + Gets or sets an value that determines how events are handled when the event log becomes full. + One of the enumeration values. + + + Gets the name of the event log. + The name of the event log. + + + Gets an value that determines the type of the event log. + One of the enumeration values. + + + Gets or sets the maximum size, in bytes, that the event log file is allowed to be. When the file reaches this maximum size, it is considered full. + The maximum size, in bytes, that the event log file is allowed to be. + + + Gets the name of the event provider that created this event log. + The name of the event provider that created this event log. + + + Gets the size of the buffer that the event provider uses for publishing events to the log. + The size of the buffer that the event provider uses for publishing events to the log. It can be . + + + Gets the control globally unique identifier (GUID) for the event log if the log is a debug log. If this log is not a debug log, this value is . + A GUID value, or if the log is not a debug log. + + + Gets or sets the keyword mask used by the event provider. + The keyword mask used by the event provider, or if the event provider did not define any keywords. + + + Gets the maximum latency time used by the event provider when publishing events to the log. + The maximum latency time used by the event provider when publishing events to the log, or if no latency time was specified by the event provider. + + + Gets or sets the maximum event level (which defines the severity of the event) that is allowed to be logged in the event log. This value is defined by the event provider. + The maximum event level that is allowed to be logged in the event log, or if the maximum event level was not defined in the event provider. + + + Gets the maximum number of buffers used by the event provider to publish events to the event log. + The maximum number of buffers used by the event provider to publish events to the event log. This value can be . + + + Gets the minimum number of buffers used by the event provider to publish events to the event log. + The minimum number of buffers used by the event provider to publish events to the event log. This value can be . + + + Gets an enumerable collection of the names of all the event providers that can publish events to this event log. + An enumerable collection of strings that contain the event provider names. + + + Gets or sets the security descriptor of the event log. The security descriptor defines the users and groups of users that can read and write to the event log. + A string that contains the security descriptor for the event log. + + + Represents the base class for all the exceptions that are thrown when an error occurs while reading event log related information. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the error code for the exception. + The error code for the error that occurred while reading or configuring event log related information. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception being thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Sets the SerializationInfo object with information about the exception. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Gets the error message that describes the current exception. + Returns a string that contains the error message that describes the current exception. + + + Allows you to access the run-time properties of active event logs and event log files. These properties include the number of events in the log, the size of the log, a value that determines whether the log is full, and the last time the log was written to or accessed. + + + Gets the file attributes of the log file associated with the log. + Returns an integer value. This value can be null. + + + Gets the time that the log file associated with the event log was created. + Returns a object. This value can be null. + + + Gets the size of the file, in bytes, associated with the event log. + Returns a long value. + + + Gets a Boolean value that determines whether the log file has reached its maximum size (the log is full). + Returns if the log is full, and returns if the log is not full. + + + Gets the last time the log file associated with the event log was accessed. + Returns a object. This value can be null. + + + Gets the last time data was written to the log file associated with the event log. + Returns a object. This value can be null. + + + Gets the number of the oldest event record in the event log. + Returns a long value that represents the number of the oldest event record in the event log. This value can be null. + + + Gets the number of event records in the event log. + Returns a long value that represents the number of event records in the event log. This value can be null. + + + Represents the exception thrown when an event provider publishes invalid data in an event. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Defines the default access permissions for the event log. The Application and System values indicate that the log shares the access control list (ACL) with the appropriate Windows log (the Application or System event logs) and share the Event Tracing for Windows (ETW) session with other logs of the same isolation. All channels with Custom isolation use a private ETW session. + + + The log shares the access control list with the Application event log and shares the ETW session with other logs that have Application isolation. + + + The event log is a custom event log that uses its own private ETW session. + + + The log shares the access control list with the System event log and shares the ETW session with other logs that have System isolation. + + + Represents a link between an event provider and an event log that the provider publishes events into. This object cannot be instantiated. + + + Gets the localized name of the event log. + Returns a string that contains the localized name of the event log. + + + Gets a Boolean value that determines whether the event log is imported, rather than defined in the event provider. An imported event log is defined in a different provider. + Returns if the event log is imported by the event provider, and returns if the event log is not imported by the event provider. + + + Gets the non-localized name of the event log associated with this object. + Returns a string that contains the non-localized name of the event log associated with this object. + + + Determines the behavior for the event log service handles an event log when the log reaches its maximum allowed size (when the event log is full). + + + Archive the log when full, do not overwrite events. The log is automatically archived when necessary. No events are overwritten. + + + New events continue to be stored when the log file is full. Each new incoming event replaces the oldest event in the log. + + + Do not overwrite events. Clear the log manually rather than automatically. + + + Represents the exception that is thrown when a requested event log (usually specified by the name of the event log or the path to the event log file) does not exist. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Contains an array of strings that represent XPath queries for elements in the XML representation of an event, which is based on the Event Schema. The queries in this object are used to extract values from the event. + + + Initializes a new class instance. + XPath queries used to extract values from the XML representation of the event. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Represents the exception that is thrown when a specified event provider name references a disabled event provider. A disabled event provider cannot publish events. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Represents a query for events in an event log and the settings that define how the query is executed and on what computer the query is executed on. + + + Initializes a new instance of the class by specifying the target of the query and the event query. The target can be an active event log or a log file. + The name of the event log to query, or the path to the event log file to query. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The event query used to retrieve events that match the query conditions. + + + Initializes a new instance of the class by specifying the target of the query. The target can be an active event log or a log file. + The name of the event log to query, or the path to the event log file to query. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + + + Gets or sets the Boolean value that determines whether to read events from the newest event in an event log to the oldest event in the log. + Returns if events are read from the newest event in the log to the oldest event, and returns if events are read from the oldest event in the log to the newest event. + + + Gets or sets the session that access the Event Log service on the local computer or a remote computer. This object can be set to access a remote event log by creating a object or an object with this object. + Returns an object. + + + Gets or sets a Boolean value that determines whether this query will continue to retrieve events when the query has an error. + + indicates that the query will continue to retrieve events even if the query fails for some logs, and indicates that this query will not continue to retrieve events when the query fails. + + + Enables you to read events from an event log based on an event query. The events that are read by this object are returned as objects. + + + Initializes a new instance of the class by specifying an event query and a bookmark that is used as starting position for the query. + The event query used to retrieve events. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events logged after the bookmark event will be returned by the query. + + + Initializes a new instance of the class by specifying an event query. + The event query used to retrieve events. + + + Initializes a new instance of the class by specifying the name of an event log to retrieve events from or the path to a log file to retrieve events from. + The name of the event log to retrieve events from, or the path to the event log file to retrieve events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + + + Initializes a new instance of the class by specifying an active event log to retrieve events from. + The name of the event log to retrieve events from. + + + Cancels the current query operation. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Reads the next event that is returned from the event query in this object. + Returns an object. + + + Reads the next event that is returned from the event query in this object. + The maximum time to allow the read operation to run before canceling the operation. + Returns an object. + + + Changes the position in the event stream where the next event that is read will come from by specifying a bookmark event and an offset number of events from the bookmark. No events logged before the bookmark plus the offset will be retrieved. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + The offset number of events to change the position of the bookmark. + + + Changes the position in the event stream where the next event that is read will come from by specifying a bookmark event. No events logged before the bookmark event will be retrieved. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + + + Changes the position in the event stream where the next event that is read will come from by specifying a starting position and an offset from the starting position. No events logged before the starting position plus the offset will be retrieved. + A value from the enumeration defines where in the stream of events to start querying for events. + The offset number of events to add to the origin. + + + Gets or sets the number of events retrieved from the stream of events on every read operation. + Returns an integer value. + + + Gets the status of each event log or log file associated with the event query in this object. + Returns a list of objects that each contain status information about an event log associated with the event query in this object. + + + Represents an exception that is thrown when an error occurred while reading, querying, or subscribing to the events in an event log. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Contains the properties of an event instance for an event that is received from an object. The event properties provide information about the event such as the name of the computer where the event was logged and the time that the event was created. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the event message in the current locale. + Returns a string that contains the event message in the current locale. + + + Gets the event message, replacing variables in the message with the specified values. + The values used to replace variables in the event message. Variables are represented by %n, where n is a number. + Returns a string that contains the event message in the current locale. + + + Gets the enumeration of the values of the user-supplied event properties, or the results of XPath-based data if the event has XML representation. + Selects the property values to return. + Returns a list of objects. + + + Gets the XML representation of the event. All of the event properties are represented in the event's XML. The XML conforms to the event schema. + Returns a string that contains the XML representation of the event. + + + Gets the globally unique identifier (GUID) for the activity in process for which the event is involved. This allows consumers to group related activities. + Returns a GUID value. + + + Gets a placeholder (bookmark) that corresponds to this event. This can be used as a placeholder in a stream of events. + Returns a object. + + + Gets the name of the event log or the event log file in which the event is stored. + Returns a string that contains the name of the event log or the event log file in which the event is stored. + + + Gets the identifier for this event. All events with this identifier value represent the same type of event. + Returns an integer value. This value can be null. + + + Gets the keyword mask of the event. Get the value of the property to get the name of the keywords used in this mask. + Returns a long value. This value can be null. + + + Gets the display names of the keywords used in the keyword mask for this event. + Returns an enumerable collection of strings that contain the display names of the keywords used in the keyword mask for this event. + + + Gets the level of the event. The level signifies the severity of the event. For the name of the level, get the value of the property. + Returns a byte value. This value can be null. + + + Gets the display name of the level for this event. + Returns a string that contains the display name of the level for this event. + + + Gets the name of the event log where this event is logged. + Returns a string that contains a name of the event log that contains this event. + + + Gets the name of the computer on which this event was logged. + Returns a string that contains the name of the computer on which this event was logged. + + + Gets a list of query identifiers that this event matches. This event matches a query if the query would return this event. + Returns an enumerable collection of integer values. + + + Gets the opcode of the event. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. For the name of the opcode, get the value of the property. + Returns a short value. This value can be null. + + + Gets the display name of the opcode for this event. + Returns a string that contains the display name of the opcode for this event. + + + Gets the process identifier for the event provider that logged this event. + Returns an integer value. This value can be null. + + + Gets the user-supplied properties of the event. + Returns a list of objects. + + + Gets the globally unique identifier (GUID) of the event provider that published this event. + Returns a GUID value. This value can be null. + + + Gets the name of the event provider that published this event. + Returns a string that contains the name of the event provider that published this event. + + + Gets qualifier numbers that are used for event identification. + Returns an integer value. This value can be null. + + + Gets the event record identifier of the event in the log. + Returns a long value. This value can be null. + + + Gets a globally unique identifier (GUID) for a related activity in a process for which an event is involved. + Returns a GUID value. This value can be null. + + + Gets a task identifier for a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. This type allows any value between 0x0000 and 0xffef to be used. For the name of the task, get the value of the property. + Returns an integer value. This value can be null. + + + Gets the display name of the task for the event. + Returns a string that contains the display name of the task for the event. + + + Gets the thread identifier for the thread that the event provider is running in. + Returns an integer value. This value can be null. + + + Gets the time, in format, that the event was created. + Returns a value. The value can be null. + + + Gets the security descriptor of the user whose context is used to publish the event. + Returns a value. + + + Gets the version number for the event. + Returns a byte value. This value can be null. + + + Used to access the Event Log service on the local computer or a remote computer so you can manage and gather information about the event logs and event providers on the computer. + + + Initializes a new object, establishes a connection with the local Event Log service. + + + Initializes a new object, and establishes a connection with the Event Log service on the specified computer. The specified credentials (user name and password) are used for the credentials to access the remote computer. + The name of the computer on which to connect to the Event Log service. + The domain of the specified user. + The user name used to connect to the remote computer. + The password used to connect to the remote computer. + The type of connection to use for the connection to the remote computer. + + + Initializes a new object, and establishes a connection with the Event Log service on the specified computer. The credentials (user name and password) of the user who calls the method is used for the credentials to access the remote computer. + The name of the computer on which to connect to the Event Log service. + + + Cancels any operations (such as reading an event log or subscribing to an event log) that are currently active for the Event Log service that this session object is connected to. + + + Clears events from the specified event log, and saves the cleared events to the specified file. + The name of the event log to clear all the events from. + The path to the file in which the cleared events will be saved. The file should end in .evtx. + + + Clears events from the specified event log. + The name of the event log to clear all the events from. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Exports events into an external log file. A flag can be set to indicate that the method will continue exporting events even if the specified query fails for some logs. The events are stored without the event messages. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + indicates that the method will continue exporting events even if the specified query fails for some logs, and indicates that this method will not continue to export events when the specified query fails. + + + Exports events into an external log file. The events are stored without the event messages. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + + Exports events and their messages into an external log file. A flag can be set to indicate that the method will continue exporting events even if the specified query fails for some logs. The event messages are exported in the specified language. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + indicates that the method will continue exporting events even if the specified query fails for some logs, and indicates that this method will not continue to export events when the specified query fails. + The culture that specifies which language that the exported event messages will be in. + + + Exports events and their messages into an external log file. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + + Gets an object that contains runtime information for the specified event log. + The name of the event log to get information about, or the path to the event log file to get information about. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + An object that contains information about the specified log. + + + Gets an enumerable collection of all the event log names that are registered with the Event Log service. + An enumerable collection of strings that contain the event log names. + + + Gets an enumerable collection of all the event provider names that are registered with the Event Log service. An event provider is an application that publishes events to an event log. + An enumerable collection of strings that contain the event provider names. + + + Gets a static predefined session object that is connected to the Event Log service on the local computer. + A predefined session object that is connected to the Event Log service on the local computer. + + + Contains the status code or error code for a specific event log. This status can be used to determine if the event log is available for an operation. + + + Gets the name of the event log for which the status code is obtained. + The name of the event log for which the status code is obtained. + + + Gets the status code or error code for the event log. This status or error is the result of a read or subscription operation on the event log. + The status code or error code for the event log. + + + Defines the type of events that are logged in an event log. Each log can only contain one type of event. + + + These events are primarily for end users, administrators, and support. The events that are found in the Administrative type logs indicate a problem and a well-defined solution that an administrator can act on. An example of an administrative event is an event that occurs when an application fails to connect to a printer. + + + Events in an analytic event log are published in high volume. They describe program operation and indicate problems that cannot be handled by user intervention. + + + Events in a debug type event log are used solely by developers to diagnose a problem for debugging. + + + Events in an operational type event log are used for analyzing and diagnosing a problem or occurrence. They can be used to trigger tools or tasks based on the problem or occurrence. An example of an operational event is an event that occurs when a printer is added or removed from a system. + + + Allows you to subscribe to incoming events. Each time a desired event is published to an event log, the event is raised, and the method that handles this event will be executed. + + + Allows setting a delegate (event handler method) that gets called every time an event is published that matches the criteria specified in the event query for this object. + + + Initializes a new instance of the class by specifying an event query, a bookmark that is used as starting position for the query, and a Boolean value that determines whether to read the events that already exist in the event log. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + A Boolean value that determines whether to read the events that already exist in the event log. If this value is , then the existing events are read and if this value is , then the existing events are not read. + + + Initializes a new instance of the class by specifying an event query and a bookmark that is used as starting position for the query. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + + + Initializes a new instance of the class by specifying an event query. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + + + Initializes a new instance of the class by specifying the name or path to an event log. + The path or name of the event log monitor for events. If any event is logged in this event log, then the event is raised. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets or sets a value that indicates whether this object starts delivering events to the event delegate. + + when this object can deliver events to the event delegate; when this object has stopped delivery. + + + Contains the metadata (properties and settings) for an event that is defined in an event provider. + + + Gets the description template associated with the event using the current thread locale for the description language. + A string that contains the description template associated with the event. + + + Gets the identifier of the event that is defined in the event provider. + The event identifier. + + + Gets the keywords associated with the event that is defined in the event provider. + An enumerable collection of the keywords associated with the event. + + + Gets the level associated with the event that is defined in the event provider. The level defines the severity of the event. + The level associated with the event. + + + Gets a link to the event log that receives this event when the provider publishes this event. + A link to the event log. + + + Gets the opcode associated with this event that is defined by an event provider. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. + The opcode associated with this event. + + + Gets the task associated with the event. A task identifies a portion of an application or a component that publishes an event. + The task associated with the event. + + + Gets the template string for the event. Templates are used to describe data that is used by a provider when an event is published. Templates optionally specify XML that provides the structure of an event. The XML allows values that the event publisher provides to be inserted during the rendering of an event. + A string that contains the template for the event. + + + Gets the version of the event that qualifies the event identifier. + A byte value that contains the version of the event. + + + Contains an event opcode that is defined in an event provider. An opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. + + + Gets the localized name for an event opcode. + The localized name for an event opcode. + + + Gets the non-localized name for an event opcode. + The non-localized name for an event opcode. + + + Gets the numeric value associated with the event opcode. + The numeric value associated with the event opcode. + + + Contains the value of an event property that is specified by the event provider when the event is published. + + + Gets the value of the event property that is specified by the event provider when the event is published. + The value of the event property. + + + Defines the properties of an event instance for an event that is received from an object. The event properties provide information about the event such as the name of the computer where the event was logged and the time the event was created. This class is an abstract class. The class implements this class. + + + Initializes a new instance of the class. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the event message in the current locale. + Returns a string that contains the event message in the current locale. + + + Gets the event message, replacing variables in the message with the specified values. + The values used to replace variables in the event message. Variables are represented by %n, where n is a number. + Returns a string that contains the event message in the current locale. + + + Gets the XML representation of the event. All of the event properties are represented in the event XML. The XML conforms to the event schema. + Returns a string that contains the XML representation of the event. + + + Gets the globally unique identifier (GUID) for the activity in process for which the event is involved. This allows consumers to group related activities. + Returns a GUID value. + + + Gets a placeholder (bookmark) that corresponds to this event. This can be used as a placeholder in a stream of events. + Returns a object. + + + Gets the identifier for this event. All events with this identifier value represent the same type of event. + Returns an integer value. This value can be null. + + + Gets the keyword mask of the event. Get the value of the property to get the name of the keywords used in this mask. + Returns a long value. This value can be null. + + + Gets the display names of the keywords used in the keyword mask for this event. + Returns an enumerable collection of strings that contain the display names of the keywords used in the keyword mask for this event. + + + Gets the level of the event. The level signifies the severity of the event. For the name of the level, get the value of the property. + Returns a byte value. This value can be null. + + + Gets the display name of the level for this event. + Returns a string that contains the display name of the level for this event. + + + Gets the name of the event log where this event is logged. + Returns a string that contains a name of the event log that contains this event. + + + Gets the name of the computer on which this event was logged. + Returns a string that contains the name of the computer on which this event was logged. + + + Gets the opcode of the event. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. For the name of the opcode, get the value of the property. + Returns a short value. This value can be null. + + + Gets the display name of the opcode for this event. + Returns a string that contains the display name of the opcode for this event. + + + Gets the process identifier for the event provider that logged this event. + Returns an integer value. This value can be null. + + + Gets the user-supplied properties of the event. + Returns a list of objects. + + + Gets the globally unique identifier (GUID) of the event provider that published this event. + Returns a GUID value. This value can be null. + + + Gets the name of the event provider that published this event. + Returns a string that contains the name of the event provider that published this event. + + + Gets qualifier numbers that are used for event identification. + Returns an integer value. This value can be null. + + + Gets the event record identifier of the event in the log. + Returns a long value. This value can be null. + + + Gets a globally unique identifier (GUID) for a related activity in a process for which an event is involved. + Returns a GUID value. This value can be null. + + + Gets a task identifier for a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. This type allows any value between 0x0000 and 0xffef to be used. To obtain the task name, get the value of the property. + Returns an integer value. This value can be null. + + + Gets the display name of the task for the event. + Returns a string that contains the display name of the task for the event. + + + Gets the thread identifier for the thread that the event provider is running in. + Returns an integer value. This value can be null. + + + Gets the time, in format, that the event was created. + Returns a value. The value can be null. + + + Gets the security descriptor of the user whose context is used to publish the event. + Returns a value. + + + Gets the version number for the event. + Returns a byte value. This value can be null. + + + When the event is raised, an instance of this object is passed to the delegate method that handles the event. This object contains the event that was published to the event log or the exception that occurred when the event subscription failed. + + + Gets the exception that occurred when the event subscription failed. The exception has a description of why the subscription failed. + The exception that occurred when the event subscription failed. + + + Gets the event record that is published to the event log. This event matches the criteria from the query specified in the event subscription. + The event record. + + + Contains an event task that is defined in an event provider. The task identifies a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. + + + Gets the localized name for the event task. + The localized name for the event task. + + + Gets the event globally unique identifier (GUID) associated with the task. + The event GUID associated with the task. + + + Gets the non-localized name of the event task. + The non-localized name of the event task. + + + Gets the numeric value associated with the task. + The numeric value associated with the task. + + + Specifies that a string contains a name of an event log or the file system path to an event log file. + + + A path parameter contains the file system path to an event log file. + + + A path parameter contains the name of the event log. + + + Contains static information about an event provider, such as the name and id of the provider, and the collection of events defined in the provider. + + + Initializes a new instance of the class by specifying the name of the provider that you want to retrieve information about, the event log service that the provider is registered with, and the language that you want to return the information in. + The name of the event provider that you want to retrieve information about. + The object that specifies whether to get the provider information from a provider on the local computer or a provider on a remote computer. + The culture that specifies the language that the information should be returned in. + + + Initializes a new instance of the class by specifying the name of the provider that you want to retrieve information about. + The name of the event provider that you want to retrieve information about. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the localized name of the event provider. + Returns a string that contains the localized name of the event provider. + + + Gets an enumerable collection of objects, each of which represents an event that is defined in the provider. + Returns an enumerable collection of objects. + + + Gets the base of the URL used to form help requests for the events in this event provider. + Returns a value. + + + Gets the globally unique identifier (GUID) for the event provider. + Returns the GUID value for the event provider. + + + Gets an enumerable collection of objects, each of which represent an event keyword that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets an enumerable collection of objects, each of which represent a level that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets an enumerable collection of objects, each of which represent a link to an event log that is used by the event provider. + Returns an enumerable collection of objects. + + + Gets the path of the file that contains the message table resource that has the strings associated with the provider metadata. + Returns a string that contains the path of the provider message file. + + + Gets the unique name of the event provider. + Returns a string that contains the unique name of the event provider. + + + Gets an enumerable collection of objects, each of which represent an opcode that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets the path of the file that contains the message table resource that has the strings used for parameter substitutions in event descriptions. + Returns a string that contains the path of the file that contains the message table resource that has the strings used for parameter substitutions in event descriptions. + + + Gets the path to the file that contains the metadata associated with the provider. + Returns a string that contains the path to the file that contains the metadata associated with the provider. + + + Gets an enumerable collection of objects, each of which represent a task that is defined in the event provider. + Returns an enumerable collection of objects. + + + Defines values for the type of authentication used during a Remote Procedure Call (RPC) login to a server. This login occurs when you create a object that specifies a connection to a remote computer. + + + Use the default authentication method during RPC login. The default authentication is equivalent to Negotiate. + + + Use Kerberos authentication during RPC login. + + + Use the Negotiate authentication method during RPC login. This allows the client application to select the most appropriate authentication method (NTLM or Kerberos) for the situation. + + + Use Windows NT LAN Manager (NTLM) authentication during RPC login. + + + Defines the standard keywords that are attached to events by the event provider. For more information about keywords, see . + + + Attached to all failed security audit events. This keyword should only be used for events in the Security log. + + + Attached to all successful security audit events. This keyword should only be used for events in the Security log. + + + Attached to transfer events where the related Activity ID (Correlation ID) is a computed value and is not guaranteed to be unique (not a real GUID). + + + Attached to transfer events where the related Activity ID (Correlation ID) is a computed value and is not guaranteed to be unique (not a real GUID). + + + Attached to events which are raised using the RaiseEvent function. + + + This value indicates that no filtering on keyword is performed when the event is published. + + + Attached to all response time events. + + + Attached to all Service Quality Mechanism (SQM) events. + + + Attached to all Windows Diagnostic Infrastructure (WDI) context events. + + + Attached to all Windows Diagnostic Infrastructure (WDI) diagnostic events. + + + Defines the standard event levels that are used in the Event Log service. The level defines the severity of the event. Custom event levels can be defined beyond these standard levels. For more information about levels, see . + + + This level corresponds to critical errors, which is a serious error that has caused a major failure. + + + This level corresponds to normal errors that signify a problem. + + + This level corresponds to informational events or messages that are not errors. These events can help trace the progress or state of an application. + + + This value indicates that not filtering on the level is done during the event publishing. + + + This level corresponds to lengthy events or messages. + + + This level corresponds to warning events. For example, an event that gets published because a disk is nearing full capacity is a warning event. + + + Defines the standard opcodes that are attached to events by the event provider. For more information about opcodes, see . + + + An event with this opcode is a trace collection start event. + + + An event with this opcode is a trace collection stop event. + + + An event with this opcode is an extension event. + + + An event with this opcode is an informational event. + + + An event with this opcode is published when one activity in an application receives data. + + + An event with this opcode is published after an activity in an application replies to an event. + + + An event with this opcode is published after an activity in an application resumes from a suspended state. The event should follow an event with the Suspend opcode. + + + An event with this opcode is published when one activity in an application transfers data or system resources to another activity. + + + An event with this opcode is published when an application starts a new transaction or activity. This can be embedded into another transaction or activity when multiple events with the Start opcode follow each other without an event with a Stop opcode. + + + An event with this opcode is published when an activity or a transaction in an application ends. The event corresponds to the last unpaired event with a Start opcode. + + + An event with this opcode is published when an activity in an application is suspended. + + + Defines the standard tasks that are attached to events by the event provider. For more information about tasks, see . + + + No task is used to identify a portion of an application that publishes an event. + + + Represents language-neutral information for an event log entry. + + + Initializes a new instance of the class using the specified resource identifiers for the localized message and category text of the event entry and the specified event log entry type. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + A resource identifier that corresponds to a string defined in the category resource file of the event source, or zero to specify no category for the event. + An value that indicates the event type. + + is not a valid value. + + is a negative value or a value larger than UInt32.MaxValue. + + -or- + + is a negative value or a value larger than UInt16.MaxValue. + + + Initializes a new instance of the class using the specified resource identifiers for the localized message and category text of the event entry. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + A resource identifier that corresponds to a string defined in the category resource file of the event source, or zero to specify no category for the event. + The parameter is a negative value or a value larger than UInt32.MaxValue. + + -or- + + The parameter is a negative value or a value larger than UInt16.MaxValue. + + + Gets or sets the resource identifier that specifies the application-defined category of the event entry. + The property is set to a negative value or to a value larger than UInt16.MaxValue. + A numeric category value or resource identifier that corresponds to a string defined in the category resource file of the event source. The default is zero, which signifies that no category will be displayed for the event entry. + + + Gets or sets the event type of the event log entry. + The property is not set to a valid value. + An value that indicates the event entry type. The default value is . + + + Gets or sets the resource identifier that designates the message text of the event entry. + The property is set to a negative value or to a value larger than UInt32.MaxValue. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + + + Provides interaction with Windows event logs. + + + Occurs when an entry is written to an event log on the local computer. + + + Initializes a new instance of the class. Does not associate the instance with any log. + + + Initializes a new instance of the class. Associates the instance with a log on the specified computer and creates or assigns the specified source to the . + The name of the log on the specified computer. + The computer on which the log exists. + The source of event log entries. + The log name is . + The log name is invalid. + + -or- + + The computer name is invalid. + + + Initializes a new instance of the class. Associates the instance with a log on the specified computer. + The name of the log on the specified computer. + The computer on which the log exists. + The log name is . + The log name is invalid. + + -or- + + The computer name is invalid. + + + Initializes a new instance of the class. Associates the instance with a log on the local computer. + The name of the log on the local computer. + The log name is . + The log name is invalid. + + + Begins the initialization of an used on a form or used by another component. The initialization occurs at runtime. + + is already initialized. + + + Removes all entries from the event log. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + A value is not specified for the property. Make sure the log name is not an empty string. + The log does not exist. + + + Closes the event log and releases read and write handles. + The event log's read handle or write handle was not released successfully. + + + Establishes a valid event source for writing localized event messages, using the specified configuration properties for the event source and the corresponding event log. + The configuration properties for the event source and its target event log. + The computer name specified in is not valid. + +-or- + + The source name specified in is . + +-or- + + The log name specified in is not valid. Event log names must consist of printable characters and cannot include the characters '*', '?', or '\'. + +-or- + + The log name specified in is not valid for user log creation. The Event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name specified in results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of the log name specified in are not unique. + +-or- + + The source name specified in is already registered. + +-or- + + The source name specified in matches an existing event log name. + The registry key for the event log could not be opened. + + is . + + + Establishes the specified source name as a valid event source for writing entries to a log on the specified computer. This method can also be used to create a new custom log on the specified computer. + The source by which the application is registered on the specified computer. + The name of the log the source's entries are written to. Possible values include Application, System, or a custom event log. If you do not specify a value, defaults to Application. + The name of the computer to register this event source with, or "." for the local computer. + The is not a valid computer name. + +-or- + + is an empty string ("") or . + +-or- + + is not a valid event log name. Event log names must consist of printable characters, and cannot include the characters '*', '?', or '\'. + +-or- + + is not valid for user log creation. The event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of match the first 8 characters of an existing event log name on the specified computer. + +-or- + + The source cannot be registered because it already exists on the specified computer. + +-or- + + The source name matches an existing event source name. + The registry key for the event log could not be opened on the specified computer. + + + Establishes the specified source name as a valid event source for writing entries to a log on the local computer. This method can also create a new custom log on the local computer. + The source name by which the application is registered on the local computer. + The name of the log the source's entries are written to. Possible values include Application, System, or a custom event log. + + is an empty string ("") or . + +-or- + + is not a valid event log name. Event log names must consist of printable characters, and cannot include the characters '*', '?', or '\'. + +-or- + + is not valid for user log creation. The event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of match the first 8 characters of an existing event log name. + +-or- + + The source cannot be registered because it already exists on the local computer. + +-or- + + The source name matches an existing event log name. + The registry key for the event log could not be opened on the local computer. + + + Removes an event log from the specified computer. + The name of the log to delete. Possible values include: Application, Security, System, and any custom event logs on the specified computer. + The name of the computer to delete the log from, or "." for the local computer. + + is an empty string ("") or . + +-or- + + is not a valid computer name. + The registry key for the event log could not be opened on the specified computer. + +-or- + + The log does not exist on the specified computer. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + + + Removes an event log from the local computer. + The name of the log to delete. Possible values include: Application, Security, System, and any custom event logs on the computer. + + is an empty string ("") or . + The registry key for the event log could not be opened on the local computer. + +-or- + + The log does not exist on the local computer. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + + + Removes the application's event source registration from the specified computer. + The name by which the application is registered in the event log system. + The name of the computer to remove the registration from, or "." for the local computer. + The parameter is invalid. + +-or- + + The parameter does not exist in the registry of the specified computer. + +-or- + + You do not have write access on the registry key for the event log. + + cannot be deleted because in the registry, the parent registry key for does not contain a subkey with the same name. + + + Removes the event source registration from the event log of the local computer. + The name by which the application is registered in the event log system. + The parameter does not exist in the registry of the local computer. + +-or- + + You do not have write access on the registry key for the event log. + + + Releases the unmanaged resources used by the , and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Ends the initialization of an used on a form or by another component. The initialization occurs at runtime. + + + Determines whether the log exists on the specified computer. + The log for which to search. Possible values include: Application, Security, System, other application-specific logs (such as those associated with Active Directory), or any custom log on the computer. + The name of the computer on which to search for the log, or "." for the local computer. + The parameter is an invalid format. Make sure you have used proper syntax for the computer on which you are searching. + + -or- + + The is or the value is empty. + + if the log exists on the specified computer; otherwise, . + + + Determines whether the log exists on the local computer. + The name of the log to search for. Possible values include: Application, Security, System, other application-specific logs (such as those associated with Active Directory), or any custom log on the computer. + The logName is or the value is empty. + + if the log exists on the local computer; otherwise, . + + + Searches for all event logs on the local computer and creates an array of objects that contain the list. + You do not have read access to the registry. + + -or- + + There is no event log service on the computer. + An array of type that represents the logs on the local computer. + + + Searches for all event logs on the given computer and creates an array of objects that contain the list. + The computer on which to search for event logs. + The parameter is an invalid computer name. + You do not have read access to the registry. + + -or- + + There is no event log service on the computer. + An array of type that represents the logs on the given computer. + + + Gets the name of the log to which the specified source is registered. + The name of the event source. + The name of the computer on which to look, or "." for the local computer. + The name of the log associated with the specified source in the registry. + + + Changes the configured behavior for writing new entries when the event log reaches its maximum file size. + The overflow behavior for writing new entries to the event log. Must not be OverwriteOlder. + Deprecated. Must be 0. + + is not a valid value. + + is less than one, or larger than 365. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + + + Specifies the localized name of the event log, which is displayed in the server Event Viewer. + The fully specified path to a localized resource file. + The resource identifier that indexes a localized string within the resource file. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + + is . + + + Determines whether an event source is registered on a specified computer. + The name of the event source. + The name the computer on which to look, or "." for the local computer. + + is an invalid computer name. + + was not found, but some or all of the event logs could not be searched. + + if the event source is registered on the given computer; otherwise, . + + + Determines whether an event source is registered on the local computer. + The name of the event source. + + was not found, but some or all of the event logs could not be searched. + + if the event source is registered on the local computer; otherwise, . + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log, and appends binary data to the message. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + An array of bytes that holds the binary data associated with the entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text and application-defined event identifier to the event log. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an error, warning, information, success audit, or failure audit entry with the given message text to the event log. + The string to write to the event log. + One of the values. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + + is not a valid . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log (using the specified registered event source) and appends binary data to the message. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + An array of bytes that holds the binary data associated with the entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + + is not a valid . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log, using the specified registered event source. The can be used by the Event Viewer to filter events in the log. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text and application-defined event identifier to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an error, warning, information, success audit, or failure audit entry with the given message text to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an information type entry with the given message text to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an information type entry, with the given message text, to the event log. + The string to write to the event log. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data, message replacement strings, and associated binary data. + An instance that represents a localized event log entry. + An array of bytes that holds the binary data associated with the entry. + An array of strings to merge into the message text of the event log entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes a localized entry to the event log. + An instance that represents a localized event log entry. + An array of strings to merge into the message text of the event log entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data, message replacement strings, and associated binary data, and using the specified registered event source. + The name of the event source registered for the application on the specified computer. + An instance that represents a localized event log entry. + An array of bytes that holds the binary data associated with the entry. + An array of strings to merge into the message text of the event log entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data and message replacement strings, using the specified registered event source. + The name of the event source registered for the application on the specified computer. + An instance that represents a localized event log entry. + An array of strings to merge into the message text of the event log entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Gets or sets a value indicating whether the receives event notifications. + The event log is on a remote computer. + + if the receives notification when an entry is written to the log; otherwise, . + + + Gets the contents of the event log. + An holding the entries in the event log. Each entry is associated with an instance of the class. + + + Gets or sets the name of the log to read from or write to. + The name of the log. This can be Application, System, Security, or a custom log name. The default is an empty string (""). + + + Gets the event log's friendly name. + The specified does not exist in the registry for this computer. + A name that represents the event log in the system's event viewer. + + + Gets or sets the name of the computer on which to read or write events. + The computer name is invalid. + The name of the server on which the event log resides. The default is the local computer ("."). + + + Gets or sets the maximum event log size in kilobytes. + The specified value is less than 64, or greater than 4194240, or not an even multiple of 64. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + The maximum event log size in kilobytes. The default is 512, indicating a maximum file size of 512 kilobytes. + + + This property is deprecated. + + + Gets the configured behavior for storing new entries when the event log reaches its maximum log file size. + The value that specifies the configured behavior for storing new entries when the event log reaches its maximum log size. The default is . + + + Gets or sets the source name to register and use when writing to the event log. + The source name results in a registry key path longer than 254 characters. + The name registered with the event log as a source of entries. The default is an empty string (""). + + + Gets or sets the object used to marshal the event handler calls issued as a result of an entry written event. + The used to marshal event-handler calls issued as a result of an event on the event log. + + + Encapsulates a single record in the event log. This class cannot be inherited. + + + Performs a comparison between two event log entries. + The to compare. + + if the objects are identical; otherwise, . + + + Populates a with the data needed to serialize the target object. + The to populate with data. + The destination (see ) for this serialization. + + + Gets the text associated with the property for this entry. + The space could not be allocated for one of the insertion strings associated with the category. + The application-specific category text. + + + Gets the category number of the event log entry. + The application-specific category number for this entry. + + + Gets the binary data associated with the entry. + An array of bytes that holds the binary data associated with the entry. + + + Gets the event type of this entry. + The event type that is associated with the entry in the event log. + + + Gets the application-specific event identifier for the current event entry. + The application-specific identifier for the event message. + + + Gets the index of this entry in the event log. + The index of this entry in the event log. + + + Gets the resource identifier that designates the message text of the event entry. + A resource identifier that corresponds to a string definition in the message resource file of the event source. + + + Gets the name of the computer on which this entry was generated. + The name of the computer that contains the event log. + + + Gets the localized message associated with this event entry. + The space could not be allocated for one of the insertion strings associated with the message. + The formatted, localized text for the message. This includes associated replacement strings. + + + Gets the replacement strings associated with the event log entry. + An array that holds the replacement strings stored in the event entry. + + + Gets the name of the application that generated this event. + The name registered with the event log as the source of this event. + + + Gets the local time at which this event was generated. + The local time at which this event was generated. + + + Gets the local time at which this event was written to the log. + The local time at which this event was written to the log. + + + Gets the name of the user who is responsible for this event. + Account information could not be obtained for the user's SID. + The security identifier (SID) that uniquely identifies a user or group. + + + Defines size and enumerators for a collection of instances. + + + Copies the elements of the to an array of instances, starting at a particular array index. + The one-dimensional array of instances that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in the array at which copying begins. + + + Supports a simple iteration over the object. + An object that can be used to iterate over the collection. + + + Copies the elements of the collection to an , starting at a particular index. + The one-dimensional that is the destination of the elements that are copied from the collection. The must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets the number of entries in the event log (that is, the number of elements in the collection). + The number of entries currently in the event log. + + + Gets an entry in the event log, based on an index that starts at 0 (zero). + The zero-based index that is associated with the event log entry. + The event log entry at the location that is specified by the parameter. + + + Gets a value that indicates whether access to the is synchronized (thread-safe). + + if access to the collection is not synchronized (thread-safe). + + + Gets an object that can be used to synchronize access to the object. + An object that can be used to synchronize access to the collection. + + + Specifies the event type of an event log entry. + + + An error event. This indicates a significant problem the user should know about; usually a loss of functionality or data. + + + A failure audit event. This indicates a security event that occurs when an audited access attempt fails; for example, a failed attempt to open a file. + + + An information event. This indicates a significant, successful operation. + + + A success audit event. This indicates a security event that occurs when an audited access attempt is successful; for example, logging on successfully. + + + A warning event. This indicates a problem that is not immediately significant, but that may signify conditions that could cause future problems. + + + Provides a simple listener that directs tracing or debugging output to an . + + + Initializes a new instance of the class without a trace listener. + + + Initializes a new instance of the class using the specified event log. + The event log to write to. + + + Initializes a new instance of the class using the specified source. + The name of an existing event log source. + + + Closes the event log so that it no longer receives tracing or debugging output. + + + Writes trace information, a data object, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + A data object to write to the output file or stream. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, an array of data objects, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + An array of data objects. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, a formatted array of objects, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + A format string that contains zero or more format items that correspond to objects in the array. + An array containing zero or more objects to format. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, a message, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + The trace message. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes a message to the event log for this instance. + The message to write. + + exceeds 32,766 characters. + + + Writes a message to the event log for this instance. + The message to write. + + exceeds 32,766 characters. + + + Gets or sets the event log to write to. + The event log to write to. + + + Gets or sets the name of this . + The name of this trace listener. + + + Represents the configuration settings used to create an event log source on the local computer or a remote computer. + + + Initializes a new instance of the class with a specified event source and event log name. + The name to register with the event log as a source of entries. + The name of the log to which entries from the source are written. + + + Gets or sets the number of categories in the category resource file. + The property is set to a negative value or to a value larger than UInt16.MaxValue. + The number of categories in the category resource file. The default value is zero. + + + Gets or sets the path of the resource file that contains category strings for the source. + The path of the category resource file. The default is an empty string (""). + + + Gets or sets the name of the event log to which the source writes entries. + The name of the event log. This can be Application, System, or a custom log name. The default value is "Application." + + + Gets or sets the name of the computer on which to register the event source. + The computer name is invalid. + The name of the system on which to register the event source. The default is the local computer ("."). + + + Gets or sets the path of the message resource file that contains message formatting strings for the source. + The path of the message resource file. The default is an empty string (""). + + + Gets or sets the path of the resource file that contains message parameter strings for the source. + The path of the parameter resource file. The default is an empty string (""). + + + Gets or sets the name to register with the event log as an event source. + The name to register with the event log as a source of entries. The default is an empty string (""). + + + Specifies how to handle entries in an event log that has reached its maximum file size. + + + Indicates that existing entries are retained when the event log is full and new entries are discarded. + + + Indicates that each new entry overwrites the oldest entry when the event log is full. + + + This field is deprecated. + + + \ No newline at end of file diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/net9.0/System.Diagnostics.EventLog.xml b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/net9.0/System.Diagnostics.EventLog.xml new file mode 100644 index 000000000..1146e63bf --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/net9.0/System.Diagnostics.EventLog.xml @@ -0,0 +1,2248 @@ + + + + System.Diagnostics.EventLog + + + + Provides data for the event. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified event log entry. + An that represents the entry that was written. + + + Gets the event log entry that was written to the log. + An that represents the entry that was written to the event log. + + + Represents the method that will handle the event of an . + The source of the event. + An that contains the event data. + + + Represents a placeholder (bookmark) within an event stream. You can use the placeholder to mark a position and return to this position in a stream of events. An instance of this object can be obtained from an object, in which case it corresponds to the position of that event record. + + + Creates a bookmark that identifies an event in a channel. + An XML string that represents the bookmark. + + + Gets the XML string that represents the bookmark. + + + Represents a keyword for an event. Keywords are defined in an event provider and are used to group the event with other similar events (based on the usage of the events). + + + Gets the localized name of the keyword. + A string that contains a localized name for this keyword. + + + Gets the non-localized name of the keyword. + A string that contains the non-localized name of this keyword. + + + Gets the numeric value associated with the keyword. + The numeric value associated with the keyword. + + + Contains an event level that is defined in an event provider. The level signifies the severity of the event. + + + Gets the localized name for the event level. The name describes what severity level of events this level is used for. + A string that contains the localized name for the event level. + + + Gets the non-localized name of the event level. + A string that contains the non-localized name of the event level. + + + Gets the numeric value of the event level. + The numeric value of the event level. + + + Contains static information and configuration settings for an event log. Many of the configurations settings were defined by the event provider that created the log. + + + Initializes a new object by specifying the name of the log for which to get information and configuration settings. The log can be on the local computer or a remote computer, based on the event log session specified. + The name of the event log for which to get information and configuration settings. + The event log session used to determine the event log service that the specified log belongs to. The session is either connected to the event log service on the local computer or a remote computer. + + + Initializes a new object by specifying the local event log for which to get information and configuration settings. + The name of the local event log for which to get information and configuration settings. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Saves the configuration settings that. + + + Gets a value that indicates whether the event log is a classic event log. A classic event log is one that has its events defined in an .mc file instead of a manifest (.xml file) used by the event provider. + + if the event log is a classic log; otherwise, . + + + Gets or sets a value that indicates whether the event log is enabled or disabled. An enabled log is one in which events can be logged, and a disabled log is one in which events cannot be logged. + + if the log is enabled; otherwise, . + + + Gets or sets the file directory path to the location of the file where the events are stored for the log. + A string that contains the path to the event log file. + + + Gets an value that specifies whether the event log is an application, system, or custom event log. + One of the enumeration values. + + + Gets or sets an value that determines how events are handled when the event log becomes full. + One of the enumeration values. + + + Gets the name of the event log. + The name of the event log. + + + Gets an value that determines the type of the event log. + One of the enumeration values. + + + Gets or sets the maximum size, in bytes, that the event log file is allowed to be. When the file reaches this maximum size, it is considered full. + The maximum size, in bytes, that the event log file is allowed to be. + + + Gets the name of the event provider that created this event log. + The name of the event provider that created this event log. + + + Gets the size of the buffer that the event provider uses for publishing events to the log. + The size of the buffer that the event provider uses for publishing events to the log. It can be . + + + Gets the control globally unique identifier (GUID) for the event log if the log is a debug log. If this log is not a debug log, this value is . + A GUID value, or if the log is not a debug log. + + + Gets or sets the keyword mask used by the event provider. + The keyword mask used by the event provider, or if the event provider did not define any keywords. + + + Gets the maximum latency time used by the event provider when publishing events to the log. + The maximum latency time used by the event provider when publishing events to the log, or if no latency time was specified by the event provider. + + + Gets or sets the maximum event level (which defines the severity of the event) that is allowed to be logged in the event log. This value is defined by the event provider. + The maximum event level that is allowed to be logged in the event log, or if the maximum event level was not defined in the event provider. + + + Gets the maximum number of buffers used by the event provider to publish events to the event log. + The maximum number of buffers used by the event provider to publish events to the event log. This value can be . + + + Gets the minimum number of buffers used by the event provider to publish events to the event log. + The minimum number of buffers used by the event provider to publish events to the event log. This value can be . + + + Gets an enumerable collection of the names of all the event providers that can publish events to this event log. + An enumerable collection of strings that contain the event provider names. + + + Gets or sets the security descriptor of the event log. The security descriptor defines the users and groups of users that can read and write to the event log. + A string that contains the security descriptor for the event log. + + + Represents the base class for all the exceptions that are thrown when an error occurs while reading event log related information. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the error code for the exception. + The error code for the error that occurred while reading or configuring event log related information. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception being thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Sets the SerializationInfo object with information about the exception. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Gets the error message that describes the current exception. + Returns a string that contains the error message that describes the current exception. + + + Allows you to access the run-time properties of active event logs and event log files. These properties include the number of events in the log, the size of the log, a value that determines whether the log is full, and the last time the log was written to or accessed. + + + Gets the file attributes of the log file associated with the log. + Returns an integer value. This value can be null. + + + Gets the time that the log file associated with the event log was created. + Returns a object. This value can be null. + + + Gets the size of the file, in bytes, associated with the event log. + Returns a long value. + + + Gets a Boolean value that determines whether the log file has reached its maximum size (the log is full). + Returns if the log is full, and returns if the log is not full. + + + Gets the last time the log file associated with the event log was accessed. + Returns a object. This value can be null. + + + Gets the last time data was written to the log file associated with the event log. + Returns a object. This value can be null. + + + Gets the number of the oldest event record in the event log. + Returns a long value that represents the number of the oldest event record in the event log. This value can be null. + + + Gets the number of event records in the event log. + Returns a long value that represents the number of event records in the event log. This value can be null. + + + Represents the exception thrown when an event provider publishes invalid data in an event. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Defines the default access permissions for the event log. The Application and System values indicate that the log shares the access control list (ACL) with the appropriate Windows log (the Application or System event logs) and share the Event Tracing for Windows (ETW) session with other logs of the same isolation. All channels with Custom isolation use a private ETW session. + + + The log shares the access control list with the Application event log and shares the ETW session with other logs that have Application isolation. + + + The event log is a custom event log that uses its own private ETW session. + + + The log shares the access control list with the System event log and shares the ETW session with other logs that have System isolation. + + + Represents a link between an event provider and an event log that the provider publishes events into. This object cannot be instantiated. + + + Gets the localized name of the event log. + Returns a string that contains the localized name of the event log. + + + Gets a Boolean value that determines whether the event log is imported, rather than defined in the event provider. An imported event log is defined in a different provider. + Returns if the event log is imported by the event provider, and returns if the event log is not imported by the event provider. + + + Gets the non-localized name of the event log associated with this object. + Returns a string that contains the non-localized name of the event log associated with this object. + + + Determines the behavior for the event log service handles an event log when the log reaches its maximum allowed size (when the event log is full). + + + Archive the log when full, do not overwrite events. The log is automatically archived when necessary. No events are overwritten. + + + New events continue to be stored when the log file is full. Each new incoming event replaces the oldest event in the log. + + + Do not overwrite events. Clear the log manually rather than automatically. + + + Represents the exception that is thrown when a requested event log (usually specified by the name of the event log or the path to the event log file) does not exist. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Contains an array of strings that represent XPath queries for elements in the XML representation of an event, which is based on the Event Schema. The queries in this object are used to extract values from the event. + + + Initializes a new class instance. + XPath queries used to extract values from the XML representation of the event. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Represents the exception that is thrown when a specified event provider name references a disabled event provider. A disabled event provider cannot publish events. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Represents a query for events in an event log and the settings that define how the query is executed and on what computer the query is executed on. + + + Initializes a new instance of the class by specifying the target of the query and the event query. The target can be an active event log or a log file. + The name of the event log to query, or the path to the event log file to query. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The event query used to retrieve events that match the query conditions. + + + Initializes a new instance of the class by specifying the target of the query. The target can be an active event log or a log file. + The name of the event log to query, or the path to the event log file to query. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + + + Gets or sets the Boolean value that determines whether to read events from the newest event in an event log to the oldest event in the log. + Returns if events are read from the newest event in the log to the oldest event, and returns if events are read from the oldest event in the log to the newest event. + + + Gets or sets the session that access the Event Log service on the local computer or a remote computer. This object can be set to access a remote event log by creating a object or an object with this object. + Returns an object. + + + Gets or sets a Boolean value that determines whether this query will continue to retrieve events when the query has an error. + + indicates that the query will continue to retrieve events even if the query fails for some logs, and indicates that this query will not continue to retrieve events when the query fails. + + + Enables you to read events from an event log based on an event query. The events that are read by this object are returned as objects. + + + Initializes a new instance of the class by specifying an event query and a bookmark that is used as starting position for the query. + The event query used to retrieve events. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events logged after the bookmark event will be returned by the query. + + + Initializes a new instance of the class by specifying an event query. + The event query used to retrieve events. + + + Initializes a new instance of the class by specifying the name of an event log to retrieve events from or the path to a log file to retrieve events from. + The name of the event log to retrieve events from, or the path to the event log file to retrieve events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + + + Initializes a new instance of the class by specifying an active event log to retrieve events from. + The name of the event log to retrieve events from. + + + Cancels the current query operation. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Reads the next event that is returned from the event query in this object. + Returns an object. + + + Reads the next event that is returned from the event query in this object. + The maximum time to allow the read operation to run before canceling the operation. + Returns an object. + + + Changes the position in the event stream where the next event that is read will come from by specifying a bookmark event and an offset number of events from the bookmark. No events logged before the bookmark plus the offset will be retrieved. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + The offset number of events to change the position of the bookmark. + + + Changes the position in the event stream where the next event that is read will come from by specifying a bookmark event. No events logged before the bookmark event will be retrieved. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + + + Changes the position in the event stream where the next event that is read will come from by specifying a starting position and an offset from the starting position. No events logged before the starting position plus the offset will be retrieved. + A value from the enumeration defines where in the stream of events to start querying for events. + The offset number of events to add to the origin. + + + Gets or sets the number of events retrieved from the stream of events on every read operation. + Returns an integer value. + + + Gets the status of each event log or log file associated with the event query in this object. + Returns a list of objects that each contain status information about an event log associated with the event query in this object. + + + Represents an exception that is thrown when an error occurred while reading, querying, or subscribing to the events in an event log. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Contains the properties of an event instance for an event that is received from an object. The event properties provide information about the event such as the name of the computer where the event was logged and the time that the event was created. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the event message in the current locale. + Returns a string that contains the event message in the current locale. + + + Gets the event message, replacing variables in the message with the specified values. + The values used to replace variables in the event message. Variables are represented by %n, where n is a number. + Returns a string that contains the event message in the current locale. + + + Gets the enumeration of the values of the user-supplied event properties, or the results of XPath-based data if the event has XML representation. + Selects the property values to return. + Returns a list of objects. + + + Gets the XML representation of the event. All of the event properties are represented in the event's XML. The XML conforms to the event schema. + Returns a string that contains the XML representation of the event. + + + Gets the globally unique identifier (GUID) for the activity in process for which the event is involved. This allows consumers to group related activities. + Returns a GUID value. + + + Gets a placeholder (bookmark) that corresponds to this event. This can be used as a placeholder in a stream of events. + Returns a object. + + + Gets the name of the event log or the event log file in which the event is stored. + Returns a string that contains the name of the event log or the event log file in which the event is stored. + + + Gets the identifier for this event. All events with this identifier value represent the same type of event. + Returns an integer value. This value can be null. + + + Gets the keyword mask of the event. Get the value of the property to get the name of the keywords used in this mask. + Returns a long value. This value can be null. + + + Gets the display names of the keywords used in the keyword mask for this event. + Returns an enumerable collection of strings that contain the display names of the keywords used in the keyword mask for this event. + + + Gets the level of the event. The level signifies the severity of the event. For the name of the level, get the value of the property. + Returns a byte value. This value can be null. + + + Gets the display name of the level for this event. + Returns a string that contains the display name of the level for this event. + + + Gets the name of the event log where this event is logged. + Returns a string that contains a name of the event log that contains this event. + + + Gets the name of the computer on which this event was logged. + Returns a string that contains the name of the computer on which this event was logged. + + + Gets a list of query identifiers that this event matches. This event matches a query if the query would return this event. + Returns an enumerable collection of integer values. + + + Gets the opcode of the event. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. For the name of the opcode, get the value of the property. + Returns a short value. This value can be null. + + + Gets the display name of the opcode for this event. + Returns a string that contains the display name of the opcode for this event. + + + Gets the process identifier for the event provider that logged this event. + Returns an integer value. This value can be null. + + + Gets the user-supplied properties of the event. + Returns a list of objects. + + + Gets the globally unique identifier (GUID) of the event provider that published this event. + Returns a GUID value. This value can be null. + + + Gets the name of the event provider that published this event. + Returns a string that contains the name of the event provider that published this event. + + + Gets qualifier numbers that are used for event identification. + Returns an integer value. This value can be null. + + + Gets the event record identifier of the event in the log. + Returns a long value. This value can be null. + + + Gets a globally unique identifier (GUID) for a related activity in a process for which an event is involved. + Returns a GUID value. This value can be null. + + + Gets a task identifier for a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. This type allows any value between 0x0000 and 0xffef to be used. For the name of the task, get the value of the property. + Returns an integer value. This value can be null. + + + Gets the display name of the task for the event. + Returns a string that contains the display name of the task for the event. + + + Gets the thread identifier for the thread that the event provider is running in. + Returns an integer value. This value can be null. + + + Gets the time, in format, that the event was created. + Returns a value. The value can be null. + + + Gets the security descriptor of the user whose context is used to publish the event. + Returns a value. + + + Gets the version number for the event. + Returns a byte value. This value can be null. + + + Used to access the Event Log service on the local computer or a remote computer so you can manage and gather information about the event logs and event providers on the computer. + + + Initializes a new object, establishes a connection with the local Event Log service. + + + Initializes a new object, and establishes a connection with the Event Log service on the specified computer. The specified credentials (user name and password) are used for the credentials to access the remote computer. + The name of the computer on which to connect to the Event Log service. + The domain of the specified user. + The user name used to connect to the remote computer. + The password used to connect to the remote computer. + The type of connection to use for the connection to the remote computer. + + + Initializes a new object, and establishes a connection with the Event Log service on the specified computer. The credentials (user name and password) of the user who calls the method is used for the credentials to access the remote computer. + The name of the computer on which to connect to the Event Log service. + + + Cancels any operations (such as reading an event log or subscribing to an event log) that are currently active for the Event Log service that this session object is connected to. + + + Clears events from the specified event log, and saves the cleared events to the specified file. + The name of the event log to clear all the events from. + The path to the file in which the cleared events will be saved. The file should end in .evtx. + + + Clears events from the specified event log. + The name of the event log to clear all the events from. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Exports events into an external log file. A flag can be set to indicate that the method will continue exporting events even if the specified query fails for some logs. The events are stored without the event messages. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + indicates that the method will continue exporting events even if the specified query fails for some logs, and indicates that this method will not continue to export events when the specified query fails. + + + Exports events into an external log file. The events are stored without the event messages. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + + Exports events and their messages into an external log file. A flag can be set to indicate that the method will continue exporting events even if the specified query fails for some logs. The event messages are exported in the specified language. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + indicates that the method will continue exporting events even if the specified query fails for some logs, and indicates that this method will not continue to export events when the specified query fails. + The culture that specifies which language that the exported event messages will be in. + + + Exports events and their messages into an external log file. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + + Gets an object that contains runtime information for the specified event log. + The name of the event log to get information about, or the path to the event log file to get information about. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + An object that contains information about the specified log. + + + Gets an enumerable collection of all the event log names that are registered with the Event Log service. + An enumerable collection of strings that contain the event log names. + + + Gets an enumerable collection of all the event provider names that are registered with the Event Log service. An event provider is an application that publishes events to an event log. + An enumerable collection of strings that contain the event provider names. + + + Gets a static predefined session object that is connected to the Event Log service on the local computer. + A predefined session object that is connected to the Event Log service on the local computer. + + + Contains the status code or error code for a specific event log. This status can be used to determine if the event log is available for an operation. + + + Gets the name of the event log for which the status code is obtained. + The name of the event log for which the status code is obtained. + + + Gets the status code or error code for the event log. This status or error is the result of a read or subscription operation on the event log. + The status code or error code for the event log. + + + Defines the type of events that are logged in an event log. Each log can only contain one type of event. + + + These events are primarily for end users, administrators, and support. The events that are found in the Administrative type logs indicate a problem and a well-defined solution that an administrator can act on. An example of an administrative event is an event that occurs when an application fails to connect to a printer. + + + Events in an analytic event log are published in high volume. They describe program operation and indicate problems that cannot be handled by user intervention. + + + Events in a debug type event log are used solely by developers to diagnose a problem for debugging. + + + Events in an operational type event log are used for analyzing and diagnosing a problem or occurrence. They can be used to trigger tools or tasks based on the problem or occurrence. An example of an operational event is an event that occurs when a printer is added or removed from a system. + + + Allows you to subscribe to incoming events. Each time a desired event is published to an event log, the event is raised, and the method that handles this event will be executed. + + + Allows setting a delegate (event handler method) that gets called every time an event is published that matches the criteria specified in the event query for this object. + + + Initializes a new instance of the class by specifying an event query, a bookmark that is used as starting position for the query, and a Boolean value that determines whether to read the events that already exist in the event log. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + A Boolean value that determines whether to read the events that already exist in the event log. If this value is , then the existing events are read and if this value is , then the existing events are not read. + + + Initializes a new instance of the class by specifying an event query and a bookmark that is used as starting position for the query. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + + + Initializes a new instance of the class by specifying an event query. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + + + Initializes a new instance of the class by specifying the name or path to an event log. + The path or name of the event log monitor for events. If any event is logged in this event log, then the event is raised. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets or sets a value that indicates whether this object starts delivering events to the event delegate. + + when this object can deliver events to the event delegate; when this object has stopped delivery. + + + Contains the metadata (properties and settings) for an event that is defined in an event provider. + + + Gets the description template associated with the event using the current thread locale for the description language. + A string that contains the description template associated with the event. + + + Gets the identifier of the event that is defined in the event provider. + The event identifier. + + + Gets the keywords associated with the event that is defined in the event provider. + An enumerable collection of the keywords associated with the event. + + + Gets the level associated with the event that is defined in the event provider. The level defines the severity of the event. + The level associated with the event. + + + Gets a link to the event log that receives this event when the provider publishes this event. + A link to the event log. + + + Gets the opcode associated with this event that is defined by an event provider. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. + The opcode associated with this event. + + + Gets the task associated with the event. A task identifies a portion of an application or a component that publishes an event. + The task associated with the event. + + + Gets the template string for the event. Templates are used to describe data that is used by a provider when an event is published. Templates optionally specify XML that provides the structure of an event. The XML allows values that the event publisher provides to be inserted during the rendering of an event. + A string that contains the template for the event. + + + Gets the version of the event that qualifies the event identifier. + A byte value that contains the version of the event. + + + Contains an event opcode that is defined in an event provider. An opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. + + + Gets the localized name for an event opcode. + The localized name for an event opcode. + + + Gets the non-localized name for an event opcode. + The non-localized name for an event opcode. + + + Gets the numeric value associated with the event opcode. + The numeric value associated with the event opcode. + + + Contains the value of an event property that is specified by the event provider when the event is published. + + + Gets the value of the event property that is specified by the event provider when the event is published. + The value of the event property. + + + Defines the properties of an event instance for an event that is received from an object. The event properties provide information about the event such as the name of the computer where the event was logged and the time the event was created. This class is an abstract class. The class implements this class. + + + Initializes a new instance of the class. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the event message in the current locale. + Returns a string that contains the event message in the current locale. + + + Gets the event message, replacing variables in the message with the specified values. + The values used to replace variables in the event message. Variables are represented by %n, where n is a number. + Returns a string that contains the event message in the current locale. + + + Gets the XML representation of the event. All of the event properties are represented in the event XML. The XML conforms to the event schema. + Returns a string that contains the XML representation of the event. + + + Gets the globally unique identifier (GUID) for the activity in process for which the event is involved. This allows consumers to group related activities. + Returns a GUID value. + + + Gets a placeholder (bookmark) that corresponds to this event. This can be used as a placeholder in a stream of events. + Returns a object. + + + Gets the identifier for this event. All events with this identifier value represent the same type of event. + Returns an integer value. This value can be null. + + + Gets the keyword mask of the event. Get the value of the property to get the name of the keywords used in this mask. + Returns a long value. This value can be null. + + + Gets the display names of the keywords used in the keyword mask for this event. + Returns an enumerable collection of strings that contain the display names of the keywords used in the keyword mask for this event. + + + Gets the level of the event. The level signifies the severity of the event. For the name of the level, get the value of the property. + Returns a byte value. This value can be null. + + + Gets the display name of the level for this event. + Returns a string that contains the display name of the level for this event. + + + Gets the name of the event log where this event is logged. + Returns a string that contains a name of the event log that contains this event. + + + Gets the name of the computer on which this event was logged. + Returns a string that contains the name of the computer on which this event was logged. + + + Gets the opcode of the event. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. For the name of the opcode, get the value of the property. + Returns a short value. This value can be null. + + + Gets the display name of the opcode for this event. + Returns a string that contains the display name of the opcode for this event. + + + Gets the process identifier for the event provider that logged this event. + Returns an integer value. This value can be null. + + + Gets the user-supplied properties of the event. + Returns a list of objects. + + + Gets the globally unique identifier (GUID) of the event provider that published this event. + Returns a GUID value. This value can be null. + + + Gets the name of the event provider that published this event. + Returns a string that contains the name of the event provider that published this event. + + + Gets qualifier numbers that are used for event identification. + Returns an integer value. This value can be null. + + + Gets the event record identifier of the event in the log. + Returns a long value. This value can be null. + + + Gets a globally unique identifier (GUID) for a related activity in a process for which an event is involved. + Returns a GUID value. This value can be null. + + + Gets a task identifier for a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. This type allows any value between 0x0000 and 0xffef to be used. To obtain the task name, get the value of the property. + Returns an integer value. This value can be null. + + + Gets the display name of the task for the event. + Returns a string that contains the display name of the task for the event. + + + Gets the thread identifier for the thread that the event provider is running in. + Returns an integer value. This value can be null. + + + Gets the time, in format, that the event was created. + Returns a value. The value can be null. + + + Gets the security descriptor of the user whose context is used to publish the event. + Returns a value. + + + Gets the version number for the event. + Returns a byte value. This value can be null. + + + When the event is raised, an instance of this object is passed to the delegate method that handles the event. This object contains the event that was published to the event log or the exception that occurred when the event subscription failed. + + + Gets the exception that occurred when the event subscription failed. The exception has a description of why the subscription failed. + The exception that occurred when the event subscription failed. + + + Gets the event record that is published to the event log. This event matches the criteria from the query specified in the event subscription. + The event record. + + + Contains an event task that is defined in an event provider. The task identifies a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. + + + Gets the localized name for the event task. + The localized name for the event task. + + + Gets the event globally unique identifier (GUID) associated with the task. + The event GUID associated with the task. + + + Gets the non-localized name of the event task. + The non-localized name of the event task. + + + Gets the numeric value associated with the task. + The numeric value associated with the task. + + + Specifies that a string contains a name of an event log or the file system path to an event log file. + + + A path parameter contains the file system path to an event log file. + + + A path parameter contains the name of the event log. + + + Contains static information about an event provider, such as the name and id of the provider, and the collection of events defined in the provider. + + + Initializes a new instance of the class by specifying the name of the provider that you want to retrieve information about, the event log service that the provider is registered with, and the language that you want to return the information in. + The name of the event provider that you want to retrieve information about. + The object that specifies whether to get the provider information from a provider on the local computer or a provider on a remote computer. + The culture that specifies the language that the information should be returned in. + + + Initializes a new instance of the class by specifying the name of the provider that you want to retrieve information about. + The name of the event provider that you want to retrieve information about. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the localized name of the event provider. + Returns a string that contains the localized name of the event provider. + + + Gets an enumerable collection of objects, each of which represents an event that is defined in the provider. + Returns an enumerable collection of objects. + + + Gets the base of the URL used to form help requests for the events in this event provider. + Returns a value. + + + Gets the globally unique identifier (GUID) for the event provider. + Returns the GUID value for the event provider. + + + Gets an enumerable collection of objects, each of which represent an event keyword that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets an enumerable collection of objects, each of which represent a level that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets an enumerable collection of objects, each of which represent a link to an event log that is used by the event provider. + Returns an enumerable collection of objects. + + + Gets the path of the file that contains the message table resource that has the strings associated with the provider metadata. + Returns a string that contains the path of the provider message file. + + + Gets the unique name of the event provider. + Returns a string that contains the unique name of the event provider. + + + Gets an enumerable collection of objects, each of which represent an opcode that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets the path of the file that contains the message table resource that has the strings used for parameter substitutions in event descriptions. + Returns a string that contains the path of the file that contains the message table resource that has the strings used for parameter substitutions in event descriptions. + + + Gets the path to the file that contains the metadata associated with the provider. + Returns a string that contains the path to the file that contains the metadata associated with the provider. + + + Gets an enumerable collection of objects, each of which represent a task that is defined in the event provider. + Returns an enumerable collection of objects. + + + Defines values for the type of authentication used during a Remote Procedure Call (RPC) login to a server. This login occurs when you create a object that specifies a connection to a remote computer. + + + Use the default authentication method during RPC login. The default authentication is equivalent to Negotiate. + + + Use Kerberos authentication during RPC login. + + + Use the Negotiate authentication method during RPC login. This allows the client application to select the most appropriate authentication method (NTLM or Kerberos) for the situation. + + + Use Windows NT LAN Manager (NTLM) authentication during RPC login. + + + Defines the standard keywords that are attached to events by the event provider. For more information about keywords, see . + + + Attached to all failed security audit events. This keyword should only be used for events in the Security log. + + + Attached to all successful security audit events. This keyword should only be used for events in the Security log. + + + Attached to transfer events where the related Activity ID (Correlation ID) is a computed value and is not guaranteed to be unique (not a real GUID). + + + Attached to transfer events where the related Activity ID (Correlation ID) is a computed value and is not guaranteed to be unique (not a real GUID). + + + Attached to events which are raised using the RaiseEvent function. + + + This value indicates that no filtering on keyword is performed when the event is published. + + + Attached to all response time events. + + + Attached to all Service Quality Mechanism (SQM) events. + + + Attached to all Windows Diagnostic Infrastructure (WDI) context events. + + + Attached to all Windows Diagnostic Infrastructure (WDI) diagnostic events. + + + Defines the standard event levels that are used in the Event Log service. The level defines the severity of the event. Custom event levels can be defined beyond these standard levels. For more information about levels, see . + + + This level corresponds to critical errors, which is a serious error that has caused a major failure. + + + This level corresponds to normal errors that signify a problem. + + + This level corresponds to informational events or messages that are not errors. These events can help trace the progress or state of an application. + + + This value indicates that not filtering on the level is done during the event publishing. + + + This level corresponds to lengthy events or messages. + + + This level corresponds to warning events. For example, an event that gets published because a disk is nearing full capacity is a warning event. + + + Defines the standard opcodes that are attached to events by the event provider. For more information about opcodes, see . + + + An event with this opcode is a trace collection start event. + + + An event with this opcode is a trace collection stop event. + + + An event with this opcode is an extension event. + + + An event with this opcode is an informational event. + + + An event with this opcode is published when one activity in an application receives data. + + + An event with this opcode is published after an activity in an application replies to an event. + + + An event with this opcode is published after an activity in an application resumes from a suspended state. The event should follow an event with the Suspend opcode. + + + An event with this opcode is published when one activity in an application transfers data or system resources to another activity. + + + An event with this opcode is published when an application starts a new transaction or activity. This can be embedded into another transaction or activity when multiple events with the Start opcode follow each other without an event with a Stop opcode. + + + An event with this opcode is published when an activity or a transaction in an application ends. The event corresponds to the last unpaired event with a Start opcode. + + + An event with this opcode is published when an activity in an application is suspended. + + + Defines the standard tasks that are attached to events by the event provider. For more information about tasks, see . + + + No task is used to identify a portion of an application that publishes an event. + + + Represents language-neutral information for an event log entry. + + + Initializes a new instance of the class using the specified resource identifiers for the localized message and category text of the event entry and the specified event log entry type. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + A resource identifier that corresponds to a string defined in the category resource file of the event source, or zero to specify no category for the event. + An value that indicates the event type. + + is not a valid value. + + is a negative value or a value larger than UInt32.MaxValue. + + -or- + + is a negative value or a value larger than UInt16.MaxValue. + + + Initializes a new instance of the class using the specified resource identifiers for the localized message and category text of the event entry. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + A resource identifier that corresponds to a string defined in the category resource file of the event source, or zero to specify no category for the event. + The parameter is a negative value or a value larger than UInt32.MaxValue. + + -or- + + The parameter is a negative value or a value larger than UInt16.MaxValue. + + + Gets or sets the resource identifier that specifies the application-defined category of the event entry. + The property is set to a negative value or to a value larger than UInt16.MaxValue. + A numeric category value or resource identifier that corresponds to a string defined in the category resource file of the event source. The default is zero, which signifies that no category will be displayed for the event entry. + + + Gets or sets the event type of the event log entry. + The property is not set to a valid value. + An value that indicates the event entry type. The default value is . + + + Gets or sets the resource identifier that designates the message text of the event entry. + The property is set to a negative value or to a value larger than UInt32.MaxValue. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + + + Provides interaction with Windows event logs. + + + Occurs when an entry is written to an event log on the local computer. + + + Initializes a new instance of the class. Does not associate the instance with any log. + + + Initializes a new instance of the class. Associates the instance with a log on the specified computer and creates or assigns the specified source to the . + The name of the log on the specified computer. + The computer on which the log exists. + The source of event log entries. + The log name is . + The log name is invalid. + + -or- + + The computer name is invalid. + + + Initializes a new instance of the class. Associates the instance with a log on the specified computer. + The name of the log on the specified computer. + The computer on which the log exists. + The log name is . + The log name is invalid. + + -or- + + The computer name is invalid. + + + Initializes a new instance of the class. Associates the instance with a log on the local computer. + The name of the log on the local computer. + The log name is . + The log name is invalid. + + + Begins the initialization of an used on a form or used by another component. The initialization occurs at runtime. + + is already initialized. + + + Removes all entries from the event log. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + A value is not specified for the property. Make sure the log name is not an empty string. + The log does not exist. + + + Closes the event log and releases read and write handles. + The event log's read handle or write handle was not released successfully. + + + Establishes a valid event source for writing localized event messages, using the specified configuration properties for the event source and the corresponding event log. + The configuration properties for the event source and its target event log. + The computer name specified in is not valid. + +-or- + + The source name specified in is . + +-or- + + The log name specified in is not valid. Event log names must consist of printable characters and cannot include the characters '*', '?', or '\'. + +-or- + + The log name specified in is not valid for user log creation. The Event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name specified in results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of the log name specified in are not unique. + +-or- + + The source name specified in is already registered. + +-or- + + The source name specified in matches an existing event log name. + The registry key for the event log could not be opened. + + is . + + + Establishes the specified source name as a valid event source for writing entries to a log on the specified computer. This method can also be used to create a new custom log on the specified computer. + The source by which the application is registered on the specified computer. + The name of the log the source's entries are written to. Possible values include Application, System, or a custom event log. If you do not specify a value, defaults to Application. + The name of the computer to register this event source with, or "." for the local computer. + The is not a valid computer name. + +-or- + + is an empty string ("") or . + +-or- + + is not a valid event log name. Event log names must consist of printable characters, and cannot include the characters '*', '?', or '\'. + +-or- + + is not valid for user log creation. The event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of match the first 8 characters of an existing event log name on the specified computer. + +-or- + + The source cannot be registered because it already exists on the specified computer. + +-or- + + The source name matches an existing event source name. + The registry key for the event log could not be opened on the specified computer. + + + Establishes the specified source name as a valid event source for writing entries to a log on the local computer. This method can also create a new custom log on the local computer. + The source name by which the application is registered on the local computer. + The name of the log the source's entries are written to. Possible values include Application, System, or a custom event log. + + is an empty string ("") or . + +-or- + + is not a valid event log name. Event log names must consist of printable characters, and cannot include the characters '*', '?', or '\'. + +-or- + + is not valid for user log creation. The event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of match the first 8 characters of an existing event log name. + +-or- + + The source cannot be registered because it already exists on the local computer. + +-or- + + The source name matches an existing event log name. + The registry key for the event log could not be opened on the local computer. + + + Removes an event log from the specified computer. + The name of the log to delete. Possible values include: Application, Security, System, and any custom event logs on the specified computer. + The name of the computer to delete the log from, or "." for the local computer. + + is an empty string ("") or . + +-or- + + is not a valid computer name. + The registry key for the event log could not be opened on the specified computer. + +-or- + + The log does not exist on the specified computer. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + + + Removes an event log from the local computer. + The name of the log to delete. Possible values include: Application, Security, System, and any custom event logs on the computer. + + is an empty string ("") or . + The registry key for the event log could not be opened on the local computer. + +-or- + + The log does not exist on the local computer. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + + + Removes the application's event source registration from the specified computer. + The name by which the application is registered in the event log system. + The name of the computer to remove the registration from, or "." for the local computer. + The parameter is invalid. + +-or- + + The parameter does not exist in the registry of the specified computer. + +-or- + + You do not have write access on the registry key for the event log. + + cannot be deleted because in the registry, the parent registry key for does not contain a subkey with the same name. + + + Removes the event source registration from the event log of the local computer. + The name by which the application is registered in the event log system. + The parameter does not exist in the registry of the local computer. + +-or- + + You do not have write access on the registry key for the event log. + + + Releases the unmanaged resources used by the , and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Ends the initialization of an used on a form or by another component. The initialization occurs at runtime. + + + Determines whether the log exists on the specified computer. + The log for which to search. Possible values include: Application, Security, System, other application-specific logs (such as those associated with Active Directory), or any custom log on the computer. + The name of the computer on which to search for the log, or "." for the local computer. + The parameter is an invalid format. Make sure you have used proper syntax for the computer on which you are searching. + + -or- + + The is or the value is empty. + + if the log exists on the specified computer; otherwise, . + + + Determines whether the log exists on the local computer. + The name of the log to search for. Possible values include: Application, Security, System, other application-specific logs (such as those associated with Active Directory), or any custom log on the computer. + The logName is or the value is empty. + + if the log exists on the local computer; otherwise, . + + + Searches for all event logs on the local computer and creates an array of objects that contain the list. + You do not have read access to the registry. + + -or- + + There is no event log service on the computer. + An array of type that represents the logs on the local computer. + + + Searches for all event logs on the given computer and creates an array of objects that contain the list. + The computer on which to search for event logs. + The parameter is an invalid computer name. + You do not have read access to the registry. + + -or- + + There is no event log service on the computer. + An array of type that represents the logs on the given computer. + + + Gets the name of the log to which the specified source is registered. + The name of the event source. + The name of the computer on which to look, or "." for the local computer. + The name of the log associated with the specified source in the registry. + + + Changes the configured behavior for writing new entries when the event log reaches its maximum file size. + The overflow behavior for writing new entries to the event log. Must not be OverwriteOlder. + Deprecated. Must be 0. + + is not a valid value. + + is less than one, or larger than 365. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + + + Specifies the localized name of the event log, which is displayed in the server Event Viewer. + The fully specified path to a localized resource file. + The resource identifier that indexes a localized string within the resource file. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + + is . + + + Determines whether an event source is registered on a specified computer. + The name of the event source. + The name the computer on which to look, or "." for the local computer. + + is an invalid computer name. + + was not found, but some or all of the event logs could not be searched. + + if the event source is registered on the given computer; otherwise, . + + + Determines whether an event source is registered on the local computer. + The name of the event source. + + was not found, but some or all of the event logs could not be searched. + + if the event source is registered on the local computer; otherwise, . + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log, and appends binary data to the message. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + An array of bytes that holds the binary data associated with the entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text and application-defined event identifier to the event log. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an error, warning, information, success audit, or failure audit entry with the given message text to the event log. + The string to write to the event log. + One of the values. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + + is not a valid . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log (using the specified registered event source) and appends binary data to the message. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + An array of bytes that holds the binary data associated with the entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + + is not a valid . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log, using the specified registered event source. The can be used by the Event Viewer to filter events in the log. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text and application-defined event identifier to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an error, warning, information, success audit, or failure audit entry with the given message text to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an information type entry with the given message text to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an information type entry, with the given message text, to the event log. + The string to write to the event log. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data, message replacement strings, and associated binary data. + An instance that represents a localized event log entry. + An array of bytes that holds the binary data associated with the entry. + An array of strings to merge into the message text of the event log entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes a localized entry to the event log. + An instance that represents a localized event log entry. + An array of strings to merge into the message text of the event log entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data, message replacement strings, and associated binary data, and using the specified registered event source. + The name of the event source registered for the application on the specified computer. + An instance that represents a localized event log entry. + An array of bytes that holds the binary data associated with the entry. + An array of strings to merge into the message text of the event log entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data and message replacement strings, using the specified registered event source. + The name of the event source registered for the application on the specified computer. + An instance that represents a localized event log entry. + An array of strings to merge into the message text of the event log entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Gets or sets a value indicating whether the receives event notifications. + The event log is on a remote computer. + + if the receives notification when an entry is written to the log; otherwise, . + + + Gets the contents of the event log. + An holding the entries in the event log. Each entry is associated with an instance of the class. + + + Gets or sets the name of the log to read from or write to. + The name of the log. This can be Application, System, Security, or a custom log name. The default is an empty string (""). + + + Gets the event log's friendly name. + The specified does not exist in the registry for this computer. + A name that represents the event log in the system's event viewer. + + + Gets or sets the name of the computer on which to read or write events. + The computer name is invalid. + The name of the server on which the event log resides. The default is the local computer ("."). + + + Gets or sets the maximum event log size in kilobytes. + The specified value is less than 64, or greater than 4194240, or not an even multiple of 64. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + The maximum event log size in kilobytes. The default is 512, indicating a maximum file size of 512 kilobytes. + + + This property is deprecated. + + + Gets the configured behavior for storing new entries when the event log reaches its maximum log file size. + The value that specifies the configured behavior for storing new entries when the event log reaches its maximum log size. The default is . + + + Gets or sets the source name to register and use when writing to the event log. + The source name results in a registry key path longer than 254 characters. + The name registered with the event log as a source of entries. The default is an empty string (""). + + + Gets or sets the object used to marshal the event handler calls issued as a result of an entry written event. + The used to marshal event-handler calls issued as a result of an event on the event log. + + + Encapsulates a single record in the event log. This class cannot be inherited. + + + Performs a comparison between two event log entries. + The to compare. + + if the objects are identical; otherwise, . + + + Populates a with the data needed to serialize the target object. + The to populate with data. + The destination (see ) for this serialization. + + + Gets the text associated with the property for this entry. + The space could not be allocated for one of the insertion strings associated with the category. + The application-specific category text. + + + Gets the category number of the event log entry. + The application-specific category number for this entry. + + + Gets the binary data associated with the entry. + An array of bytes that holds the binary data associated with the entry. + + + Gets the event type of this entry. + The event type that is associated with the entry in the event log. + + + Gets the application-specific event identifier for the current event entry. + The application-specific identifier for the event message. + + + Gets the index of this entry in the event log. + The index of this entry in the event log. + + + Gets the resource identifier that designates the message text of the event entry. + A resource identifier that corresponds to a string definition in the message resource file of the event source. + + + Gets the name of the computer on which this entry was generated. + The name of the computer that contains the event log. + + + Gets the localized message associated with this event entry. + The space could not be allocated for one of the insertion strings associated with the message. + The formatted, localized text for the message. This includes associated replacement strings. + + + Gets the replacement strings associated with the event log entry. + An array that holds the replacement strings stored in the event entry. + + + Gets the name of the application that generated this event. + The name registered with the event log as the source of this event. + + + Gets the local time at which this event was generated. + The local time at which this event was generated. + + + Gets the local time at which this event was written to the log. + The local time at which this event was written to the log. + + + Gets the name of the user who is responsible for this event. + Account information could not be obtained for the user's SID. + The security identifier (SID) that uniquely identifies a user or group. + + + Defines size and enumerators for a collection of instances. + + + Copies the elements of the to an array of instances, starting at a particular array index. + The one-dimensional array of instances that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in the array at which copying begins. + + + Supports a simple iteration over the object. + An object that can be used to iterate over the collection. + + + Copies the elements of the collection to an , starting at a particular index. + The one-dimensional that is the destination of the elements that are copied from the collection. The must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets the number of entries in the event log (that is, the number of elements in the collection). + The number of entries currently in the event log. + + + Gets an entry in the event log, based on an index that starts at 0 (zero). + The zero-based index that is associated with the event log entry. + The event log entry at the location that is specified by the parameter. + + + Gets a value that indicates whether access to the is synchronized (thread-safe). + + if access to the collection is not synchronized (thread-safe). + + + Gets an object that can be used to synchronize access to the object. + An object that can be used to synchronize access to the collection. + + + Specifies the event type of an event log entry. + + + An error event. This indicates a significant problem the user should know about; usually a loss of functionality or data. + + + A failure audit event. This indicates a security event that occurs when an audited access attempt fails; for example, a failed attempt to open a file. + + + An information event. This indicates a significant, successful operation. + + + A success audit event. This indicates a security event that occurs when an audited access attempt is successful; for example, logging on successfully. + + + A warning event. This indicates a problem that is not immediately significant, but that may signify conditions that could cause future problems. + + + Provides a simple listener that directs tracing or debugging output to an . + + + Initializes a new instance of the class without a trace listener. + + + Initializes a new instance of the class using the specified event log. + The event log to write to. + + + Initializes a new instance of the class using the specified source. + The name of an existing event log source. + + + Closes the event log so that it no longer receives tracing or debugging output. + + + Writes trace information, a data object, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + A data object to write to the output file or stream. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, an array of data objects, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + An array of data objects. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, a formatted array of objects, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + A format string that contains zero or more format items that correspond to objects in the array. + An array containing zero or more objects to format. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, a message, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + The trace message. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes a message to the event log for this instance. + The message to write. + + exceeds 32,766 characters. + + + Writes a message to the event log for this instance. + The message to write. + + exceeds 32,766 characters. + + + Gets or sets the event log to write to. + The event log to write to. + + + Gets or sets the name of this . + The name of this trace listener. + + + Represents the configuration settings used to create an event log source on the local computer or a remote computer. + + + Initializes a new instance of the class with a specified event source and event log name. + The name to register with the event log as a source of entries. + The name of the log to which entries from the source are written. + + + Gets or sets the number of categories in the category resource file. + The property is set to a negative value or to a value larger than UInt16.MaxValue. + The number of categories in the category resource file. The default value is zero. + + + Gets or sets the path of the resource file that contains category strings for the source. + The path of the category resource file. The default is an empty string (""). + + + Gets or sets the name of the event log to which the source writes entries. + The name of the event log. This can be Application, System, or a custom log name. The default value is "Application." + + + Gets or sets the name of the computer on which to register the event source. + The computer name is invalid. + The name of the system on which to register the event source. The default is the local computer ("."). + + + Gets or sets the path of the message resource file that contains message formatting strings for the source. + The path of the message resource file. The default is an empty string (""). + + + Gets or sets the path of the resource file that contains message parameter strings for the source. + The path of the parameter resource file. The default is an empty string (""). + + + Gets or sets the name to register with the event log as an event source. + The name to register with the event log as a source of entries. The default is an empty string (""). + + + Specifies how to handle entries in an event log that has reached its maximum file size. + + + Indicates that existing entries are retained when the event log is full and new entries are discarded. + + + Indicates that each new entry overwrites the oldest entry when the event log is full. + + + This field is deprecated. + + + \ No newline at end of file diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/netstandard2.0/System.Diagnostics.EventLog.xml b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/netstandard2.0/System.Diagnostics.EventLog.xml new file mode 100644 index 000000000..1146e63bf --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/lib/netstandard2.0/System.Diagnostics.EventLog.xml @@ -0,0 +1,2248 @@ + + + + System.Diagnostics.EventLog + + + + Provides data for the event. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the specified event log entry. + An that represents the entry that was written. + + + Gets the event log entry that was written to the log. + An that represents the entry that was written to the event log. + + + Represents the method that will handle the event of an . + The source of the event. + An that contains the event data. + + + Represents a placeholder (bookmark) within an event stream. You can use the placeholder to mark a position and return to this position in a stream of events. An instance of this object can be obtained from an object, in which case it corresponds to the position of that event record. + + + Creates a bookmark that identifies an event in a channel. + An XML string that represents the bookmark. + + + Gets the XML string that represents the bookmark. + + + Represents a keyword for an event. Keywords are defined in an event provider and are used to group the event with other similar events (based on the usage of the events). + + + Gets the localized name of the keyword. + A string that contains a localized name for this keyword. + + + Gets the non-localized name of the keyword. + A string that contains the non-localized name of this keyword. + + + Gets the numeric value associated with the keyword. + The numeric value associated with the keyword. + + + Contains an event level that is defined in an event provider. The level signifies the severity of the event. + + + Gets the localized name for the event level. The name describes what severity level of events this level is used for. + A string that contains the localized name for the event level. + + + Gets the non-localized name of the event level. + A string that contains the non-localized name of the event level. + + + Gets the numeric value of the event level. + The numeric value of the event level. + + + Contains static information and configuration settings for an event log. Many of the configurations settings were defined by the event provider that created the log. + + + Initializes a new object by specifying the name of the log for which to get information and configuration settings. The log can be on the local computer or a remote computer, based on the event log session specified. + The name of the event log for which to get information and configuration settings. + The event log session used to determine the event log service that the specified log belongs to. The session is either connected to the event log service on the local computer or a remote computer. + + + Initializes a new object by specifying the local event log for which to get information and configuration settings. + The name of the local event log for which to get information and configuration settings. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Saves the configuration settings that. + + + Gets a value that indicates whether the event log is a classic event log. A classic event log is one that has its events defined in an .mc file instead of a manifest (.xml file) used by the event provider. + + if the event log is a classic log; otherwise, . + + + Gets or sets a value that indicates whether the event log is enabled or disabled. An enabled log is one in which events can be logged, and a disabled log is one in which events cannot be logged. + + if the log is enabled; otherwise, . + + + Gets or sets the file directory path to the location of the file where the events are stored for the log. + A string that contains the path to the event log file. + + + Gets an value that specifies whether the event log is an application, system, or custom event log. + One of the enumeration values. + + + Gets or sets an value that determines how events are handled when the event log becomes full. + One of the enumeration values. + + + Gets the name of the event log. + The name of the event log. + + + Gets an value that determines the type of the event log. + One of the enumeration values. + + + Gets or sets the maximum size, in bytes, that the event log file is allowed to be. When the file reaches this maximum size, it is considered full. + The maximum size, in bytes, that the event log file is allowed to be. + + + Gets the name of the event provider that created this event log. + The name of the event provider that created this event log. + + + Gets the size of the buffer that the event provider uses for publishing events to the log. + The size of the buffer that the event provider uses for publishing events to the log. It can be . + + + Gets the control globally unique identifier (GUID) for the event log if the log is a debug log. If this log is not a debug log, this value is . + A GUID value, or if the log is not a debug log. + + + Gets or sets the keyword mask used by the event provider. + The keyword mask used by the event provider, or if the event provider did not define any keywords. + + + Gets the maximum latency time used by the event provider when publishing events to the log. + The maximum latency time used by the event provider when publishing events to the log, or if no latency time was specified by the event provider. + + + Gets or sets the maximum event level (which defines the severity of the event) that is allowed to be logged in the event log. This value is defined by the event provider. + The maximum event level that is allowed to be logged in the event log, or if the maximum event level was not defined in the event provider. + + + Gets the maximum number of buffers used by the event provider to publish events to the event log. + The maximum number of buffers used by the event provider to publish events to the event log. This value can be . + + + Gets the minimum number of buffers used by the event provider to publish events to the event log. + The minimum number of buffers used by the event provider to publish events to the event log. This value can be . + + + Gets an enumerable collection of the names of all the event providers that can publish events to this event log. + An enumerable collection of strings that contain the event provider names. + + + Gets or sets the security descriptor of the event log. The security descriptor defines the users and groups of users that can read and write to the event log. + A string that contains the security descriptor for the event log. + + + Represents the base class for all the exceptions that are thrown when an error occurs while reading event log related information. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with the error code for the exception. + The error code for the error that occurred while reading or configuring event log related information. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception being thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Sets the SerializationInfo object with information about the exception. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Gets the error message that describes the current exception. + Returns a string that contains the error message that describes the current exception. + + + Allows you to access the run-time properties of active event logs and event log files. These properties include the number of events in the log, the size of the log, a value that determines whether the log is full, and the last time the log was written to or accessed. + + + Gets the file attributes of the log file associated with the log. + Returns an integer value. This value can be null. + + + Gets the time that the log file associated with the event log was created. + Returns a object. This value can be null. + + + Gets the size of the file, in bytes, associated with the event log. + Returns a long value. + + + Gets a Boolean value that determines whether the log file has reached its maximum size (the log is full). + Returns if the log is full, and returns if the log is not full. + + + Gets the last time the log file associated with the event log was accessed. + Returns a object. This value can be null. + + + Gets the last time data was written to the log file associated with the event log. + Returns a object. This value can be null. + + + Gets the number of the oldest event record in the event log. + Returns a long value that represents the number of the oldest event record in the event log. This value can be null. + + + Gets the number of event records in the event log. + Returns a long value that represents the number of event records in the event log. This value can be null. + + + Represents the exception thrown when an event provider publishes invalid data in an event. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Defines the default access permissions for the event log. The Application and System values indicate that the log shares the access control list (ACL) with the appropriate Windows log (the Application or System event logs) and share the Event Tracing for Windows (ETW) session with other logs of the same isolation. All channels with Custom isolation use a private ETW session. + + + The log shares the access control list with the Application event log and shares the ETW session with other logs that have Application isolation. + + + The event log is a custom event log that uses its own private ETW session. + + + The log shares the access control list with the System event log and shares the ETW session with other logs that have System isolation. + + + Represents a link between an event provider and an event log that the provider publishes events into. This object cannot be instantiated. + + + Gets the localized name of the event log. + Returns a string that contains the localized name of the event log. + + + Gets a Boolean value that determines whether the event log is imported, rather than defined in the event provider. An imported event log is defined in a different provider. + Returns if the event log is imported by the event provider, and returns if the event log is not imported by the event provider. + + + Gets the non-localized name of the event log associated with this object. + Returns a string that contains the non-localized name of the event log associated with this object. + + + Determines the behavior for the event log service handles an event log when the log reaches its maximum allowed size (when the event log is full). + + + Archive the log when full, do not overwrite events. The log is automatically archived when necessary. No events are overwritten. + + + New events continue to be stored when the log file is full. Each new incoming event replaces the oldest event in the log. + + + Do not overwrite events. Clear the log manually rather than automatically. + + + Represents the exception that is thrown when a requested event log (usually specified by the name of the event log or the path to the event log file) does not exist. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Contains an array of strings that represent XPath queries for elements in the XML representation of an event, which is based on the Event Schema. The queries in this object are used to extract values from the event. + + + Initializes a new class instance. + XPath queries used to extract values from the XML representation of the event. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Represents the exception that is thrown when a specified event provider name references a disabled event provider. A disabled event provider cannot publish events. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Represents a query for events in an event log and the settings that define how the query is executed and on what computer the query is executed on. + + + Initializes a new instance of the class by specifying the target of the query and the event query. The target can be an active event log or a log file. + The name of the event log to query, or the path to the event log file to query. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The event query used to retrieve events that match the query conditions. + + + Initializes a new instance of the class by specifying the target of the query. The target can be an active event log or a log file. + The name of the event log to query, or the path to the event log file to query. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + + + Gets or sets the Boolean value that determines whether to read events from the newest event in an event log to the oldest event in the log. + Returns if events are read from the newest event in the log to the oldest event, and returns if events are read from the oldest event in the log to the newest event. + + + Gets or sets the session that access the Event Log service on the local computer or a remote computer. This object can be set to access a remote event log by creating a object or an object with this object. + Returns an object. + + + Gets or sets a Boolean value that determines whether this query will continue to retrieve events when the query has an error. + + indicates that the query will continue to retrieve events even if the query fails for some logs, and indicates that this query will not continue to retrieve events when the query fails. + + + Enables you to read events from an event log based on an event query. The events that are read by this object are returned as objects. + + + Initializes a new instance of the class by specifying an event query and a bookmark that is used as starting position for the query. + The event query used to retrieve events. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events logged after the bookmark event will be returned by the query. + + + Initializes a new instance of the class by specifying an event query. + The event query used to retrieve events. + + + Initializes a new instance of the class by specifying the name of an event log to retrieve events from or the path to a log file to retrieve events from. + The name of the event log to retrieve events from, or the path to the event log file to retrieve events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + + + Initializes a new instance of the class by specifying an active event log to retrieve events from. + The name of the event log to retrieve events from. + + + Cancels the current query operation. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Reads the next event that is returned from the event query in this object. + Returns an object. + + + Reads the next event that is returned from the event query in this object. + The maximum time to allow the read operation to run before canceling the operation. + Returns an object. + + + Changes the position in the event stream where the next event that is read will come from by specifying a bookmark event and an offset number of events from the bookmark. No events logged before the bookmark plus the offset will be retrieved. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + The offset number of events to change the position of the bookmark. + + + Changes the position in the event stream where the next event that is read will come from by specifying a bookmark event. No events logged before the bookmark event will be retrieved. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + + + Changes the position in the event stream where the next event that is read will come from by specifying a starting position and an offset from the starting position. No events logged before the starting position plus the offset will be retrieved. + A value from the enumeration defines where in the stream of events to start querying for events. + The offset number of events to add to the origin. + + + Gets or sets the number of events retrieved from the stream of events on every read operation. + Returns an integer value. + + + Gets the status of each event log or log file associated with the event query in this object. + Returns a list of objects that each contain status information about an event log associated with the event query in this object. + + + Represents an exception that is thrown when an error occurred while reading, querying, or subscribing to the events in an event log. + + + Initializes a new instance of the class. + + + Initializes a new instance of the class with serialized data. + The object that holds the serialized object data about the exception thrown. + The object that contains contextual information about the source or destination. + + + Initializes a new instance of the class with an error message and inner exception. + The error message that describes the current exception. + The Exception instance that caused the current exception. + + + Initializes a new instance of the class by specifying the error message that describes the current exception. + The error message that describes the current exception. + + + Contains the properties of an event instance for an event that is received from an object. The event properties provide information about the event such as the name of the computer where the event was logged and the time that the event was created. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the event message in the current locale. + Returns a string that contains the event message in the current locale. + + + Gets the event message, replacing variables in the message with the specified values. + The values used to replace variables in the event message. Variables are represented by %n, where n is a number. + Returns a string that contains the event message in the current locale. + + + Gets the enumeration of the values of the user-supplied event properties, or the results of XPath-based data if the event has XML representation. + Selects the property values to return. + Returns a list of objects. + + + Gets the XML representation of the event. All of the event properties are represented in the event's XML. The XML conforms to the event schema. + Returns a string that contains the XML representation of the event. + + + Gets the globally unique identifier (GUID) for the activity in process for which the event is involved. This allows consumers to group related activities. + Returns a GUID value. + + + Gets a placeholder (bookmark) that corresponds to this event. This can be used as a placeholder in a stream of events. + Returns a object. + + + Gets the name of the event log or the event log file in which the event is stored. + Returns a string that contains the name of the event log or the event log file in which the event is stored. + + + Gets the identifier for this event. All events with this identifier value represent the same type of event. + Returns an integer value. This value can be null. + + + Gets the keyword mask of the event. Get the value of the property to get the name of the keywords used in this mask. + Returns a long value. This value can be null. + + + Gets the display names of the keywords used in the keyword mask for this event. + Returns an enumerable collection of strings that contain the display names of the keywords used in the keyword mask for this event. + + + Gets the level of the event. The level signifies the severity of the event. For the name of the level, get the value of the property. + Returns a byte value. This value can be null. + + + Gets the display name of the level for this event. + Returns a string that contains the display name of the level for this event. + + + Gets the name of the event log where this event is logged. + Returns a string that contains a name of the event log that contains this event. + + + Gets the name of the computer on which this event was logged. + Returns a string that contains the name of the computer on which this event was logged. + + + Gets a list of query identifiers that this event matches. This event matches a query if the query would return this event. + Returns an enumerable collection of integer values. + + + Gets the opcode of the event. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. For the name of the opcode, get the value of the property. + Returns a short value. This value can be null. + + + Gets the display name of the opcode for this event. + Returns a string that contains the display name of the opcode for this event. + + + Gets the process identifier for the event provider that logged this event. + Returns an integer value. This value can be null. + + + Gets the user-supplied properties of the event. + Returns a list of objects. + + + Gets the globally unique identifier (GUID) of the event provider that published this event. + Returns a GUID value. This value can be null. + + + Gets the name of the event provider that published this event. + Returns a string that contains the name of the event provider that published this event. + + + Gets qualifier numbers that are used for event identification. + Returns an integer value. This value can be null. + + + Gets the event record identifier of the event in the log. + Returns a long value. This value can be null. + + + Gets a globally unique identifier (GUID) for a related activity in a process for which an event is involved. + Returns a GUID value. This value can be null. + + + Gets a task identifier for a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. This type allows any value between 0x0000 and 0xffef to be used. For the name of the task, get the value of the property. + Returns an integer value. This value can be null. + + + Gets the display name of the task for the event. + Returns a string that contains the display name of the task for the event. + + + Gets the thread identifier for the thread that the event provider is running in. + Returns an integer value. This value can be null. + + + Gets the time, in format, that the event was created. + Returns a value. The value can be null. + + + Gets the security descriptor of the user whose context is used to publish the event. + Returns a value. + + + Gets the version number for the event. + Returns a byte value. This value can be null. + + + Used to access the Event Log service on the local computer or a remote computer so you can manage and gather information about the event logs and event providers on the computer. + + + Initializes a new object, establishes a connection with the local Event Log service. + + + Initializes a new object, and establishes a connection with the Event Log service on the specified computer. The specified credentials (user name and password) are used for the credentials to access the remote computer. + The name of the computer on which to connect to the Event Log service. + The domain of the specified user. + The user name used to connect to the remote computer. + The password used to connect to the remote computer. + The type of connection to use for the connection to the remote computer. + + + Initializes a new object, and establishes a connection with the Event Log service on the specified computer. The credentials (user name and password) of the user who calls the method is used for the credentials to access the remote computer. + The name of the computer on which to connect to the Event Log service. + + + Cancels any operations (such as reading an event log or subscribing to an event log) that are currently active for the Event Log service that this session object is connected to. + + + Clears events from the specified event log, and saves the cleared events to the specified file. + The name of the event log to clear all the events from. + The path to the file in which the cleared events will be saved. The file should end in .evtx. + + + Clears events from the specified event log. + The name of the event log to clear all the events from. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Exports events into an external log file. A flag can be set to indicate that the method will continue exporting events even if the specified query fails for some logs. The events are stored without the event messages. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + indicates that the method will continue exporting events even if the specified query fails for some logs, and indicates that this method will not continue to export events when the specified query fails. + + + Exports events into an external log file. The events are stored without the event messages. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + + Exports events and their messages into an external log file. A flag can be set to indicate that the method will continue exporting events even if the specified query fails for some logs. The event messages are exported in the specified language. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + indicates that the method will continue exporting events even if the specified query fails for some logs, and indicates that this method will not continue to export events when the specified query fails. + The culture that specifies which language that the exported event messages will be in. + + + Exports events and their messages into an external log file. + The name of the event log to export events from, or the path to the event log file to export events from. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + The query used to select the events to export. Only the events returned from the query will be exported. + The path to the log file (ends in .evtx) in which the exported events will be stored after this method is executed. + + + Gets an object that contains runtime information for the specified event log. + The name of the event log to get information about, or the path to the event log file to get information about. + Specifies whether the string used in the path parameter specifies the name of an event log, or the path to an event log file. + An object that contains information about the specified log. + + + Gets an enumerable collection of all the event log names that are registered with the Event Log service. + An enumerable collection of strings that contain the event log names. + + + Gets an enumerable collection of all the event provider names that are registered with the Event Log service. An event provider is an application that publishes events to an event log. + An enumerable collection of strings that contain the event provider names. + + + Gets a static predefined session object that is connected to the Event Log service on the local computer. + A predefined session object that is connected to the Event Log service on the local computer. + + + Contains the status code or error code for a specific event log. This status can be used to determine if the event log is available for an operation. + + + Gets the name of the event log for which the status code is obtained. + The name of the event log for which the status code is obtained. + + + Gets the status code or error code for the event log. This status or error is the result of a read or subscription operation on the event log. + The status code or error code for the event log. + + + Defines the type of events that are logged in an event log. Each log can only contain one type of event. + + + These events are primarily for end users, administrators, and support. The events that are found in the Administrative type logs indicate a problem and a well-defined solution that an administrator can act on. An example of an administrative event is an event that occurs when an application fails to connect to a printer. + + + Events in an analytic event log are published in high volume. They describe program operation and indicate problems that cannot be handled by user intervention. + + + Events in a debug type event log are used solely by developers to diagnose a problem for debugging. + + + Events in an operational type event log are used for analyzing and diagnosing a problem or occurrence. They can be used to trigger tools or tasks based on the problem or occurrence. An example of an operational event is an event that occurs when a printer is added or removed from a system. + + + Allows you to subscribe to incoming events. Each time a desired event is published to an event log, the event is raised, and the method that handles this event will be executed. + + + Allows setting a delegate (event handler method) that gets called every time an event is published that matches the criteria specified in the event query for this object. + + + Initializes a new instance of the class by specifying an event query, a bookmark that is used as starting position for the query, and a Boolean value that determines whether to read the events that already exist in the event log. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + A Boolean value that determines whether to read the events that already exist in the event log. If this value is , then the existing events are read and if this value is , then the existing events are not read. + + + Initializes a new instance of the class by specifying an event query and a bookmark that is used as starting position for the query. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + The bookmark (placeholder) used as a starting position in the event log or stream of events. Only events that have been logged after the bookmark event will be returned by the query. + + + Initializes a new instance of the class by specifying an event query. + Specifies a query for the event subscription. When an event is logged that matches the criteria expressed in the query, then the event is raised. + + + Initializes a new instance of the class by specifying the name or path to an event log. + The path or name of the event log monitor for events. If any event is logged in this event log, then the event is raised. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets or sets a value that indicates whether this object starts delivering events to the event delegate. + + when this object can deliver events to the event delegate; when this object has stopped delivery. + + + Contains the metadata (properties and settings) for an event that is defined in an event provider. + + + Gets the description template associated with the event using the current thread locale for the description language. + A string that contains the description template associated with the event. + + + Gets the identifier of the event that is defined in the event provider. + The event identifier. + + + Gets the keywords associated with the event that is defined in the event provider. + An enumerable collection of the keywords associated with the event. + + + Gets the level associated with the event that is defined in the event provider. The level defines the severity of the event. + The level associated with the event. + + + Gets a link to the event log that receives this event when the provider publishes this event. + A link to the event log. + + + Gets the opcode associated with this event that is defined by an event provider. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. + The opcode associated with this event. + + + Gets the task associated with the event. A task identifies a portion of an application or a component that publishes an event. + The task associated with the event. + + + Gets the template string for the event. Templates are used to describe data that is used by a provider when an event is published. Templates optionally specify XML that provides the structure of an event. The XML allows values that the event publisher provides to be inserted during the rendering of an event. + A string that contains the template for the event. + + + Gets the version of the event that qualifies the event identifier. + A byte value that contains the version of the event. + + + Contains an event opcode that is defined in an event provider. An opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. + + + Gets the localized name for an event opcode. + The localized name for an event opcode. + + + Gets the non-localized name for an event opcode. + The non-localized name for an event opcode. + + + Gets the numeric value associated with the event opcode. + The numeric value associated with the event opcode. + + + Contains the value of an event property that is specified by the event provider when the event is published. + + + Gets the value of the event property that is specified by the event provider when the event is published. + The value of the event property. + + + Defines the properties of an event instance for an event that is received from an object. The event properties provide information about the event such as the name of the computer where the event was logged and the time the event was created. This class is an abstract class. The class implements this class. + + + Initializes a new instance of the class. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the event message in the current locale. + Returns a string that contains the event message in the current locale. + + + Gets the event message, replacing variables in the message with the specified values. + The values used to replace variables in the event message. Variables are represented by %n, where n is a number. + Returns a string that contains the event message in the current locale. + + + Gets the XML representation of the event. All of the event properties are represented in the event XML. The XML conforms to the event schema. + Returns a string that contains the XML representation of the event. + + + Gets the globally unique identifier (GUID) for the activity in process for which the event is involved. This allows consumers to group related activities. + Returns a GUID value. + + + Gets a placeholder (bookmark) that corresponds to this event. This can be used as a placeholder in a stream of events. + Returns a object. + + + Gets the identifier for this event. All events with this identifier value represent the same type of event. + Returns an integer value. This value can be null. + + + Gets the keyword mask of the event. Get the value of the property to get the name of the keywords used in this mask. + Returns a long value. This value can be null. + + + Gets the display names of the keywords used in the keyword mask for this event. + Returns an enumerable collection of strings that contain the display names of the keywords used in the keyword mask for this event. + + + Gets the level of the event. The level signifies the severity of the event. For the name of the level, get the value of the property. + Returns a byte value. This value can be null. + + + Gets the display name of the level for this event. + Returns a string that contains the display name of the level for this event. + + + Gets the name of the event log where this event is logged. + Returns a string that contains a name of the event log that contains this event. + + + Gets the name of the computer on which this event was logged. + Returns a string that contains the name of the computer on which this event was logged. + + + Gets the opcode of the event. The opcode defines a numeric value that identifies the activity or a point within an activity that the application was performing when it raised the event. For the name of the opcode, get the value of the property. + Returns a short value. This value can be null. + + + Gets the display name of the opcode for this event. + Returns a string that contains the display name of the opcode for this event. + + + Gets the process identifier for the event provider that logged this event. + Returns an integer value. This value can be null. + + + Gets the user-supplied properties of the event. + Returns a list of objects. + + + Gets the globally unique identifier (GUID) of the event provider that published this event. + Returns a GUID value. This value can be null. + + + Gets the name of the event provider that published this event. + Returns a string that contains the name of the event provider that published this event. + + + Gets qualifier numbers that are used for event identification. + Returns an integer value. This value can be null. + + + Gets the event record identifier of the event in the log. + Returns a long value. This value can be null. + + + Gets a globally unique identifier (GUID) for a related activity in a process for which an event is involved. + Returns a GUID value. This value can be null. + + + Gets a task identifier for a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. This type allows any value between 0x0000 and 0xffef to be used. To obtain the task name, get the value of the property. + Returns an integer value. This value can be null. + + + Gets the display name of the task for the event. + Returns a string that contains the display name of the task for the event. + + + Gets the thread identifier for the thread that the event provider is running in. + Returns an integer value. This value can be null. + + + Gets the time, in format, that the event was created. + Returns a value. The value can be null. + + + Gets the security descriptor of the user whose context is used to publish the event. + Returns a value. + + + Gets the version number for the event. + Returns a byte value. This value can be null. + + + When the event is raised, an instance of this object is passed to the delegate method that handles the event. This object contains the event that was published to the event log or the exception that occurred when the event subscription failed. + + + Gets the exception that occurred when the event subscription failed. The exception has a description of why the subscription failed. + The exception that occurred when the event subscription failed. + + + Gets the event record that is published to the event log. This event matches the criteria from the query specified in the event subscription. + The event record. + + + Contains an event task that is defined in an event provider. The task identifies a portion of an application or a component that publishes an event. A task is a 16-bit value with 16 top values reserved. + + + Gets the localized name for the event task. + The localized name for the event task. + + + Gets the event globally unique identifier (GUID) associated with the task. + The event GUID associated with the task. + + + Gets the non-localized name of the event task. + The non-localized name of the event task. + + + Gets the numeric value associated with the task. + The numeric value associated with the task. + + + Specifies that a string contains a name of an event log or the file system path to an event log file. + + + A path parameter contains the file system path to an event log file. + + + A path parameter contains the name of the event log. + + + Contains static information about an event provider, such as the name and id of the provider, and the collection of events defined in the provider. + + + Initializes a new instance of the class by specifying the name of the provider that you want to retrieve information about, the event log service that the provider is registered with, and the language that you want to return the information in. + The name of the event provider that you want to retrieve information about. + The object that specifies whether to get the provider information from a provider on the local computer or a provider on a remote computer. + The culture that specifies the language that the information should be returned in. + + + Initializes a new instance of the class by specifying the name of the provider that you want to retrieve information about. + The name of the event provider that you want to retrieve information about. + + + Releases all the resources used by this object. + + + Releases the unmanaged resources used by this object, and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Gets the localized name of the event provider. + Returns a string that contains the localized name of the event provider. + + + Gets an enumerable collection of objects, each of which represents an event that is defined in the provider. + Returns an enumerable collection of objects. + + + Gets the base of the URL used to form help requests for the events in this event provider. + Returns a value. + + + Gets the globally unique identifier (GUID) for the event provider. + Returns the GUID value for the event provider. + + + Gets an enumerable collection of objects, each of which represent an event keyword that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets an enumerable collection of objects, each of which represent a level that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets an enumerable collection of objects, each of which represent a link to an event log that is used by the event provider. + Returns an enumerable collection of objects. + + + Gets the path of the file that contains the message table resource that has the strings associated with the provider metadata. + Returns a string that contains the path of the provider message file. + + + Gets the unique name of the event provider. + Returns a string that contains the unique name of the event provider. + + + Gets an enumerable collection of objects, each of which represent an opcode that is defined in the event provider. + Returns an enumerable collection of objects. + + + Gets the path of the file that contains the message table resource that has the strings used for parameter substitutions in event descriptions. + Returns a string that contains the path of the file that contains the message table resource that has the strings used for parameter substitutions in event descriptions. + + + Gets the path to the file that contains the metadata associated with the provider. + Returns a string that contains the path to the file that contains the metadata associated with the provider. + + + Gets an enumerable collection of objects, each of which represent a task that is defined in the event provider. + Returns an enumerable collection of objects. + + + Defines values for the type of authentication used during a Remote Procedure Call (RPC) login to a server. This login occurs when you create a object that specifies a connection to a remote computer. + + + Use the default authentication method during RPC login. The default authentication is equivalent to Negotiate. + + + Use Kerberos authentication during RPC login. + + + Use the Negotiate authentication method during RPC login. This allows the client application to select the most appropriate authentication method (NTLM or Kerberos) for the situation. + + + Use Windows NT LAN Manager (NTLM) authentication during RPC login. + + + Defines the standard keywords that are attached to events by the event provider. For more information about keywords, see . + + + Attached to all failed security audit events. This keyword should only be used for events in the Security log. + + + Attached to all successful security audit events. This keyword should only be used for events in the Security log. + + + Attached to transfer events where the related Activity ID (Correlation ID) is a computed value and is not guaranteed to be unique (not a real GUID). + + + Attached to transfer events where the related Activity ID (Correlation ID) is a computed value and is not guaranteed to be unique (not a real GUID). + + + Attached to events which are raised using the RaiseEvent function. + + + This value indicates that no filtering on keyword is performed when the event is published. + + + Attached to all response time events. + + + Attached to all Service Quality Mechanism (SQM) events. + + + Attached to all Windows Diagnostic Infrastructure (WDI) context events. + + + Attached to all Windows Diagnostic Infrastructure (WDI) diagnostic events. + + + Defines the standard event levels that are used in the Event Log service. The level defines the severity of the event. Custom event levels can be defined beyond these standard levels. For more information about levels, see . + + + This level corresponds to critical errors, which is a serious error that has caused a major failure. + + + This level corresponds to normal errors that signify a problem. + + + This level corresponds to informational events or messages that are not errors. These events can help trace the progress or state of an application. + + + This value indicates that not filtering on the level is done during the event publishing. + + + This level corresponds to lengthy events or messages. + + + This level corresponds to warning events. For example, an event that gets published because a disk is nearing full capacity is a warning event. + + + Defines the standard opcodes that are attached to events by the event provider. For more information about opcodes, see . + + + An event with this opcode is a trace collection start event. + + + An event with this opcode is a trace collection stop event. + + + An event with this opcode is an extension event. + + + An event with this opcode is an informational event. + + + An event with this opcode is published when one activity in an application receives data. + + + An event with this opcode is published after an activity in an application replies to an event. + + + An event with this opcode is published after an activity in an application resumes from a suspended state. The event should follow an event with the Suspend opcode. + + + An event with this opcode is published when one activity in an application transfers data or system resources to another activity. + + + An event with this opcode is published when an application starts a new transaction or activity. This can be embedded into another transaction or activity when multiple events with the Start opcode follow each other without an event with a Stop opcode. + + + An event with this opcode is published when an activity or a transaction in an application ends. The event corresponds to the last unpaired event with a Start opcode. + + + An event with this opcode is published when an activity in an application is suspended. + + + Defines the standard tasks that are attached to events by the event provider. For more information about tasks, see . + + + No task is used to identify a portion of an application that publishes an event. + + + Represents language-neutral information for an event log entry. + + + Initializes a new instance of the class using the specified resource identifiers for the localized message and category text of the event entry and the specified event log entry type. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + A resource identifier that corresponds to a string defined in the category resource file of the event source, or zero to specify no category for the event. + An value that indicates the event type. + + is not a valid value. + + is a negative value or a value larger than UInt32.MaxValue. + + -or- + + is a negative value or a value larger than UInt16.MaxValue. + + + Initializes a new instance of the class using the specified resource identifiers for the localized message and category text of the event entry. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + A resource identifier that corresponds to a string defined in the category resource file of the event source, or zero to specify no category for the event. + The parameter is a negative value or a value larger than UInt32.MaxValue. + + -or- + + The parameter is a negative value or a value larger than UInt16.MaxValue. + + + Gets or sets the resource identifier that specifies the application-defined category of the event entry. + The property is set to a negative value or to a value larger than UInt16.MaxValue. + A numeric category value or resource identifier that corresponds to a string defined in the category resource file of the event source. The default is zero, which signifies that no category will be displayed for the event entry. + + + Gets or sets the event type of the event log entry. + The property is not set to a valid value. + An value that indicates the event entry type. The default value is . + + + Gets or sets the resource identifier that designates the message text of the event entry. + The property is set to a negative value or to a value larger than UInt32.MaxValue. + A resource identifier that corresponds to a string defined in the message resource file of the event source. + + + Provides interaction with Windows event logs. + + + Occurs when an entry is written to an event log on the local computer. + + + Initializes a new instance of the class. Does not associate the instance with any log. + + + Initializes a new instance of the class. Associates the instance with a log on the specified computer and creates or assigns the specified source to the . + The name of the log on the specified computer. + The computer on which the log exists. + The source of event log entries. + The log name is . + The log name is invalid. + + -or- + + The computer name is invalid. + + + Initializes a new instance of the class. Associates the instance with a log on the specified computer. + The name of the log on the specified computer. + The computer on which the log exists. + The log name is . + The log name is invalid. + + -or- + + The computer name is invalid. + + + Initializes a new instance of the class. Associates the instance with a log on the local computer. + The name of the log on the local computer. + The log name is . + The log name is invalid. + + + Begins the initialization of an used on a form or used by another component. The initialization occurs at runtime. + + is already initialized. + + + Removes all entries from the event log. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + A value is not specified for the property. Make sure the log name is not an empty string. + The log does not exist. + + + Closes the event log and releases read and write handles. + The event log's read handle or write handle was not released successfully. + + + Establishes a valid event source for writing localized event messages, using the specified configuration properties for the event source and the corresponding event log. + The configuration properties for the event source and its target event log. + The computer name specified in is not valid. + +-or- + + The source name specified in is . + +-or- + + The log name specified in is not valid. Event log names must consist of printable characters and cannot include the characters '*', '?', or '\'. + +-or- + + The log name specified in is not valid for user log creation. The Event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name specified in results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of the log name specified in are not unique. + +-or- + + The source name specified in is already registered. + +-or- + + The source name specified in matches an existing event log name. + The registry key for the event log could not be opened. + + is . + + + Establishes the specified source name as a valid event source for writing entries to a log on the specified computer. This method can also be used to create a new custom log on the specified computer. + The source by which the application is registered on the specified computer. + The name of the log the source's entries are written to. Possible values include Application, System, or a custom event log. If you do not specify a value, defaults to Application. + The name of the computer to register this event source with, or "." for the local computer. + The is not a valid computer name. + +-or- + + is an empty string ("") or . + +-or- + + is not a valid event log name. Event log names must consist of printable characters, and cannot include the characters '*', '?', or '\'. + +-or- + + is not valid for user log creation. The event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of match the first 8 characters of an existing event log name on the specified computer. + +-or- + + The source cannot be registered because it already exists on the specified computer. + +-or- + + The source name matches an existing event source name. + The registry key for the event log could not be opened on the specified computer. + + + Establishes the specified source name as a valid event source for writing entries to a log on the local computer. This method can also create a new custom log on the local computer. + The source name by which the application is registered on the local computer. + The name of the log the source's entries are written to. Possible values include Application, System, or a custom event log. + + is an empty string ("") or . + +-or- + + is not a valid event log name. Event log names must consist of printable characters, and cannot include the characters '*', '?', or '\'. + +-or- + + is not valid for user log creation. The event log names AppEvent, SysEvent, and SecEvent are reserved for system use. + +-or- + + The log name matches an existing event source name. + +-or- + + The source name results in a registry key path longer than 254 characters. + +-or- + + The first 8 characters of match the first 8 characters of an existing event log name. + +-or- + + The source cannot be registered because it already exists on the local computer. + +-or- + + The source name matches an existing event log name. + The registry key for the event log could not be opened on the local computer. + + + Removes an event log from the specified computer. + The name of the log to delete. Possible values include: Application, Security, System, and any custom event logs on the specified computer. + The name of the computer to delete the log from, or "." for the local computer. + + is an empty string ("") or . + +-or- + + is not a valid computer name. + The registry key for the event log could not be opened on the specified computer. + +-or- + + The log does not exist on the specified computer. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + + + Removes an event log from the local computer. + The name of the log to delete. Possible values include: Application, Security, System, and any custom event logs on the computer. + + is an empty string ("") or . + The registry key for the event log could not be opened on the local computer. + +-or- + + The log does not exist on the local computer. + The event log was not cleared successfully. + + -or- + + The log cannot be opened. A Windows error code is not available. + + + Removes the application's event source registration from the specified computer. + The name by which the application is registered in the event log system. + The name of the computer to remove the registration from, or "." for the local computer. + The parameter is invalid. + +-or- + + The parameter does not exist in the registry of the specified computer. + +-or- + + You do not have write access on the registry key for the event log. + + cannot be deleted because in the registry, the parent registry key for does not contain a subkey with the same name. + + + Removes the event source registration from the event log of the local computer. + The name by which the application is registered in the event log system. + The parameter does not exist in the registry of the local computer. + +-or- + + You do not have write access on the registry key for the event log. + + + Releases the unmanaged resources used by the , and optionally releases the managed resources. + + to release both managed and unmanaged resources; to release only unmanaged resources. + + + Ends the initialization of an used on a form or by another component. The initialization occurs at runtime. + + + Determines whether the log exists on the specified computer. + The log for which to search. Possible values include: Application, Security, System, other application-specific logs (such as those associated with Active Directory), or any custom log on the computer. + The name of the computer on which to search for the log, or "." for the local computer. + The parameter is an invalid format. Make sure you have used proper syntax for the computer on which you are searching. + + -or- + + The is or the value is empty. + + if the log exists on the specified computer; otherwise, . + + + Determines whether the log exists on the local computer. + The name of the log to search for. Possible values include: Application, Security, System, other application-specific logs (such as those associated with Active Directory), or any custom log on the computer. + The logName is or the value is empty. + + if the log exists on the local computer; otherwise, . + + + Searches for all event logs on the local computer and creates an array of objects that contain the list. + You do not have read access to the registry. + + -or- + + There is no event log service on the computer. + An array of type that represents the logs on the local computer. + + + Searches for all event logs on the given computer and creates an array of objects that contain the list. + The computer on which to search for event logs. + The parameter is an invalid computer name. + You do not have read access to the registry. + + -or- + + There is no event log service on the computer. + An array of type that represents the logs on the given computer. + + + Gets the name of the log to which the specified source is registered. + The name of the event source. + The name of the computer on which to look, or "." for the local computer. + The name of the log associated with the specified source in the registry. + + + Changes the configured behavior for writing new entries when the event log reaches its maximum file size. + The overflow behavior for writing new entries to the event log. Must not be OverwriteOlder. + Deprecated. Must be 0. + + is not a valid value. + + is less than one, or larger than 365. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + + + Specifies the localized name of the event log, which is displayed in the server Event Viewer. + The fully specified path to a localized resource file. + The resource identifier that indexes a localized string within the resource file. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + + is . + + + Determines whether an event source is registered on a specified computer. + The name of the event source. + The name the computer on which to look, or "." for the local computer. + + is an invalid computer name. + + was not found, but some or all of the event logs could not be searched. + + if the event source is registered on the given computer; otherwise, . + + + Determines whether an event source is registered on the local computer. + The name of the event source. + + was not found, but some or all of the event logs could not be searched. + + if the event source is registered on the local computer; otherwise, . + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log, and appends binary data to the message. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + An array of bytes that holds the binary data associated with the entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text and application-defined event identifier to the event log. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an error, warning, information, success audit, or failure audit entry with the given message text to the event log. + The string to write to the event log. + One of the values. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + + is not a valid . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log (using the specified registered event source) and appends binary data to the message. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + An array of bytes that holds the binary data associated with the entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + + is not a valid . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text, application-defined event identifier, and application-defined category to the event log, using the specified registered event source. The can be used by the Event Viewer to filter events in the log. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The application-specific subcategory associated with the message. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an entry with the given message text and application-defined event identifier to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The application-specific identifier for the event. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an error, warning, information, success audit, or failure audit entry with the given message text to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + One of the values. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + + is not a valid . + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an information type entry with the given message text to the event log, using the specified registered event source. + The source by which the application is registered on the specified computer. + The string to write to the event log. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an information type entry, with the given message text, to the event log. + The string to write to the event log. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + The message string is longer than 31,839 bytes (32,766 bytes on Windows operating systems before Windows Vista). + +-or- + + The source name results in a registry key path longer than 254 characters. + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data, message replacement strings, and associated binary data. + An instance that represents a localized event log entry. + An array of bytes that holds the binary data associated with the entry. + An array of strings to merge into the message text of the event log entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes a localized entry to the event log. + An instance that represents a localized event log entry. + An array of strings to merge into the message text of the event log entry. + The property of the has not been set. + + -or- + + The method attempted to register a new event source, but the computer name in is not valid. + +-or- + + The source is already registered for a different event log. + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data, message replacement strings, and associated binary data, and using the specified registered event source. + The name of the event source registered for the application on the specified computer. + An instance that represents a localized event log entry. + An array of bytes that holds the binary data associated with the entry. + An array of strings to merge into the message text of the event log entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Writes an event log entry with the given event data and message replacement strings, using the specified registered event source. + The name of the event source registered for the application on the specified computer. + An instance that represents a localized event log entry. + An array of strings to merge into the message text of the event log entry. + The value is an empty string (""). + +-or- + + The value is . + +-or- + + is less than zero or greater than UInt16.MaxValue. + +-or- + + has more than 256 elements. + +-or- + + One of the elements is longer than 32766 bytes. + +-or- + + The source name results in a registry key path longer than 254 characters. + + is . + The registry key for the event log could not be opened. + The operating system reported an error when writing the event entry to the event log. A Windows error code is not available. + + + Gets or sets a value indicating whether the receives event notifications. + The event log is on a remote computer. + + if the receives notification when an entry is written to the log; otherwise, . + + + Gets the contents of the event log. + An holding the entries in the event log. Each entry is associated with an instance of the class. + + + Gets or sets the name of the log to read from or write to. + The name of the log. This can be Application, System, Security, or a custom log name. The default is an empty string (""). + + + Gets the event log's friendly name. + The specified does not exist in the registry for this computer. + A name that represents the event log in the system's event viewer. + + + Gets or sets the name of the computer on which to read or write events. + The computer name is invalid. + The name of the server on which the event log resides. The default is the local computer ("."). + + + Gets or sets the maximum event log size in kilobytes. + The specified value is less than 64, or greater than 4194240, or not an even multiple of 64. + The value is not a valid log name. + +-or- + + The registry key for the event log could not be opened on the target computer. + The maximum event log size in kilobytes. The default is 512, indicating a maximum file size of 512 kilobytes. + + + This property is deprecated. + + + Gets the configured behavior for storing new entries when the event log reaches its maximum log file size. + The value that specifies the configured behavior for storing new entries when the event log reaches its maximum log size. The default is . + + + Gets or sets the source name to register and use when writing to the event log. + The source name results in a registry key path longer than 254 characters. + The name registered with the event log as a source of entries. The default is an empty string (""). + + + Gets or sets the object used to marshal the event handler calls issued as a result of an entry written event. + The used to marshal event-handler calls issued as a result of an event on the event log. + + + Encapsulates a single record in the event log. This class cannot be inherited. + + + Performs a comparison between two event log entries. + The to compare. + + if the objects are identical; otherwise, . + + + Populates a with the data needed to serialize the target object. + The to populate with data. + The destination (see ) for this serialization. + + + Gets the text associated with the property for this entry. + The space could not be allocated for one of the insertion strings associated with the category. + The application-specific category text. + + + Gets the category number of the event log entry. + The application-specific category number for this entry. + + + Gets the binary data associated with the entry. + An array of bytes that holds the binary data associated with the entry. + + + Gets the event type of this entry. + The event type that is associated with the entry in the event log. + + + Gets the application-specific event identifier for the current event entry. + The application-specific identifier for the event message. + + + Gets the index of this entry in the event log. + The index of this entry in the event log. + + + Gets the resource identifier that designates the message text of the event entry. + A resource identifier that corresponds to a string definition in the message resource file of the event source. + + + Gets the name of the computer on which this entry was generated. + The name of the computer that contains the event log. + + + Gets the localized message associated with this event entry. + The space could not be allocated for one of the insertion strings associated with the message. + The formatted, localized text for the message. This includes associated replacement strings. + + + Gets the replacement strings associated with the event log entry. + An array that holds the replacement strings stored in the event entry. + + + Gets the name of the application that generated this event. + The name registered with the event log as the source of this event. + + + Gets the local time at which this event was generated. + The local time at which this event was generated. + + + Gets the local time at which this event was written to the log. + The local time at which this event was written to the log. + + + Gets the name of the user who is responsible for this event. + Account information could not be obtained for the user's SID. + The security identifier (SID) that uniquely identifies a user or group. + + + Defines size and enumerators for a collection of instances. + + + Copies the elements of the to an array of instances, starting at a particular array index. + The one-dimensional array of instances that is the destination of the elements copied from the collection. The array must have zero-based indexing. + The zero-based index in the array at which copying begins. + + + Supports a simple iteration over the object. + An object that can be used to iterate over the collection. + + + Copies the elements of the collection to an , starting at a particular index. + The one-dimensional that is the destination of the elements that are copied from the collection. The must have zero-based indexing. + The zero-based index in at which copying begins. + + + Gets the number of entries in the event log (that is, the number of elements in the collection). + The number of entries currently in the event log. + + + Gets an entry in the event log, based on an index that starts at 0 (zero). + The zero-based index that is associated with the event log entry. + The event log entry at the location that is specified by the parameter. + + + Gets a value that indicates whether access to the is synchronized (thread-safe). + + if access to the collection is not synchronized (thread-safe). + + + Gets an object that can be used to synchronize access to the object. + An object that can be used to synchronize access to the collection. + + + Specifies the event type of an event log entry. + + + An error event. This indicates a significant problem the user should know about; usually a loss of functionality or data. + + + A failure audit event. This indicates a security event that occurs when an audited access attempt fails; for example, a failed attempt to open a file. + + + An information event. This indicates a significant, successful operation. + + + A success audit event. This indicates a security event that occurs when an audited access attempt is successful; for example, logging on successfully. + + + A warning event. This indicates a problem that is not immediately significant, but that may signify conditions that could cause future problems. + + + Provides a simple listener that directs tracing or debugging output to an . + + + Initializes a new instance of the class without a trace listener. + + + Initializes a new instance of the class using the specified event log. + The event log to write to. + + + Initializes a new instance of the class using the specified source. + The name of an existing event log source. + + + Closes the event log so that it no longer receives tracing or debugging output. + + + Writes trace information, a data object, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + A data object to write to the output file or stream. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, an array of data objects, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + An array of data objects. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, a formatted array of objects, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + A format string that contains zero or more format items that correspond to objects in the array. + An array containing zero or more objects to format. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes trace information, a message, and event information to the event log. + An object that contains the current process ID, thread ID, and stack trace information. + A name used to identify the output; typically the name of the application that generated the trace event. + One of the enumeration values that specifies the type of event that has caused the trace. + A numeric identifier for the event. The combination of and uniquely identifies an event. + The trace message. + + is not specified. + + -or- + + The log entry string exceeds 32,766 characters. + + + Writes a message to the event log for this instance. + The message to write. + + exceeds 32,766 characters. + + + Writes a message to the event log for this instance. + The message to write. + + exceeds 32,766 characters. + + + Gets or sets the event log to write to. + The event log to write to. + + + Gets or sets the name of this . + The name of this trace listener. + + + Represents the configuration settings used to create an event log source on the local computer or a remote computer. + + + Initializes a new instance of the class with a specified event source and event log name. + The name to register with the event log as a source of entries. + The name of the log to which entries from the source are written. + + + Gets or sets the number of categories in the category resource file. + The property is set to a negative value or to a value larger than UInt16.MaxValue. + The number of categories in the category resource file. The default value is zero. + + + Gets or sets the path of the resource file that contains category strings for the source. + The path of the category resource file. The default is an empty string (""). + + + Gets or sets the name of the event log to which the source writes entries. + The name of the event log. This can be Application, System, or a custom log name. The default value is "Application." + + + Gets or sets the name of the computer on which to register the event source. + The computer name is invalid. + The name of the system on which to register the event source. The default is the local computer ("."). + + + Gets or sets the path of the message resource file that contains message formatting strings for the source. + The path of the message resource file. The default is an empty string (""). + + + Gets or sets the path of the resource file that contains message parameter strings for the source. + The path of the parameter resource file. The default is an empty string (""). + + + Gets or sets the name to register with the event log as an event source. + The name to register with the event log as a source of entries. The default is an empty string (""). + + + Specifies how to handle entries in an event log that has reached its maximum file size. + + + Indicates that existing entries are retained when the event log is full and new entries are discarded. + + + Indicates that each new entry overwrites the oldest entry when the event log is full. + + + This field is deprecated. + + + \ No newline at end of file diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/runtimes/win/lib/net10.0/System.Diagnostics.EventLog.xml b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/runtimes/win/lib/net10.0/System.Diagnostics.EventLog.xml new file mode 100644 index 000000000..59a943080 --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/runtimes/win/lib/net10.0/System.Diagnostics.EventLog.xml @@ -0,0 +1,678 @@ + + + + System.Diagnostics.EventLog + + + + + Provides interaction with Windows event logs. + + + + + The contents of the log. + + + + + Gets or sets the name of the log to read from and write to. + + + + + The machine on which this event log resides. + + + + + Indicates if the component monitors the event log for changes. + + + + + The object used to marshal the event handler calls issued as a result of an EventLog change. + + + + + The application name (source name) to use when writing to the event log. + + + + + Raised each time any application writes an entry to the event log. + + + + + The machine on which this event log resides. + + + + + The binary data associated with this entry in the event log. + + + + + The sequence of this entry in the event log. + + + + + The category for this message. + + + + + An application-specific category number assigned to this entry. + + + + + The number identifying the message for this source. + + + + + The type of entry - Information, Warning, etc. + + + + + The text of the message for this entry. + + + + + The name of the application that wrote this entry. + + + + + The application-supplied strings used in the message. + + + + + The full number identifying the message in the event message dll. + + + + + The time at which the application logged this entry. + + + + + The time at which the system logged this entry to the event log. + + + + + The username of the account associated with this entry by the writing application. + + + + + A SafeHandle implementation over a native CoTaskMem allocated via StringToCoTaskMemAuto. + + + + + A SafeHandle implementation over a native CoTaskMem allocated via SecureStringToCoTaskMemUnicode. + + + + + Represents an opaque Event Bookmark obtained from an EventRecord. + The bookmark denotes a unique identifier for the event instance as + well as marks the location in the result set of the EventReader + that the event instance was obtained from. + + + + + Creates a bookmark that identifies an event in a channel. + + An XML string that represents the bookmark. + + + + Gets the XML string that represents the bookmark. + + + + + Describes the metadata for a specific Keyword defined by a Provider. + An instance of this class is obtained from a ProviderMetadata object. + + + + + Describes the metadata for a specific Level defined by a Provider. + An instance of this class is obtained from a ProviderMetadata object. + + + + + Log Type + + + + + Log Isolation + + + + + Log Mode + + + + + Provides access to static log information and configures + log publishing and log file properties. + + + + + describes an exception thrown from Event Log related classes. + + + + + The object requested by the operation is not found. + + + + + The state of the reader cursor has become invalid, most likely due to the fact + that the log has been cleared. User needs to obtain a new reader object if + they wish to continue navigating result set. + + + + + Provider has been uninstalled while ProviderMetadata operations are being performed. + Obtain a new ProviderMetadata object, when provider is reinstalled, to continue navigating + provider's metadata. + + + + + Data obtained from the eventlog service, for the current operation, is invalid . + + + + + A SafeHandle implementation over native EVT_HANDLE + obtained from EventLog Native Methods. + + + + + Describes the run-time properties of logs and external log files. An instance + of this class is obtained from EventLogSession. + + + + + Describes the metadata for a specific Log Reference defined + by a Provider. An instance of this class is obtained from + a ProviderMetadata object. + + + + + Encapsulates the information for fast access to Event Values + of an EventLogRecord. An instance of this class is constructed + and then passed to EventLogRecord.GetEventPropertyValues. + + + + + Allows a user to define events of interest. An instance of this + class is passed to an EventReader to actually obtain the EventRecords. + The EventLogQuery can be as simple specifying that all events are of + interest, or it can contain query / xpath expressions that indicate exactly + what characteristics events should have. + + + + + This public class is used for reading event records from event log. + + + + + events buffer holds batched event (handles). + + + + + The current index where the function GetNextEvent is (inside the eventsBuffer). + + + + + The number of events read from the batch into the eventsBuffer + + + + + When the reader finishes (will always return only ERROR_NO_MORE_ITEMS). + For subscription, this means we need to wait for next event. + + + + + Maintains cached display / metadata information returned from + EventRecords that were obtained from this reader. + + + + + Session Login Type + + + + + The type: log / external log file to query + + + + + Defines a session for Event Log operations. The session can + be configured for a remote machine and can use specific + user credentials. + + + + + Describes the status of a particular log with respect to + an instantiated EventLogReader. Since it is possible to + instantiate an EventLogReader with a query containing + multiple logs and the reader can be configured to tolerate + errors in attaching to those logs, this class allows the + user to determine exactly what the status of those logs is. + + + + + Used for subscribing to event record notifications from + event log. + + + + + Maintains cached display / metadata information returned from + EventRecords that were obtained from this reader. + + + + + Event Metadata + + + + + The metadata for a specific Opcode defined by a Provider. + An instance of this class is obtained from a ProviderMetadata object. + + + + + Represents an event obtained from an EventReader. + + + + + The custom event handler args. + + + + + The EventRecord being notified. + NOTE: If non null, then caller is required to call Dispose(). + + + + + If any error occurred during subscription, this will be non-null. + After a notification containing an exception, no more notifications will + be made for this subscription. + + + + + Describes the metadata for a specific Task defined by a Provider. + An instance of this class is obtained from a ProviderMetadata object. + + + + + This internal class contains wrapper methods over the Native + Methods of the Eventlog API. Unlike the raw Native Methods, + these methods throw EventLogExceptions, check platform + availability and perform additional helper functionality + specific to function. Also, all methods of this class expose + the Link Demand for Unmanaged Permission to callers. + + + + + Exposes all the metadata for a specific event Provider. An instance + of this class is obtained from EventLogManagement and is scoped to a + single Locale. + + + + + This class does not expose underlying Provider metadata objects. Instead it + exposes a limited set of Provider metadata information from the cache. The reason + for this is so the cache can easily Dispose the metadata object without worrying + about who is using it. + + + + + WindowsEventLevel + + + + + Log always + + + + + Only critical errors + + + + + All errors, including previous levels + + + + + All warnings, including previous levels + + + + + All informational events, including previous levels + + + + + All events, including previous levels + + + + + WindowsEventTask + + + + + Undefined task + + + + + EventOpcode + + + + + An informational event + + + + + An activity start event + + + + + An activity end event + + + + + A trace collection start event + + + + + A trace collection end event + + + + + An extensional event + + + + + A reply event + + + + + An event representing the activity resuming from the suspension + + + + + An event representing the activity is suspended, pending another activity's completion + + + + + An event representing the activity is transferred to another component, and can continue to work + + + + + An event representing receiving an activity transfer from another component + + + + + EventOpcode + + + + + Wild card value + + + + + Events providing response time information + + + + + WDI context events + + + + + WDI diagnostic events + + + + + SQM events + + + + + FAiled security audits + + + + + Successful security audits + + + + + Incorrect CorrelationHint value mistakenly shipped in .NET 3.5. Don't use: duplicates AuditFailure. + + + + + Transfer events where the related Activity ID is a computed value and not a GUID + + + + + Events raised using classic eventlog API + + + + Event log names must consist of printable characters and cannot contain \\, *, ?, or spaces + + + The event log source '{0}' cannot be deleted, because it's equal to the log name. + + + Cannot monitor EntryWritten events for this EventLog. This might be because the EventLog is on a remote machine which is not a supported scenario. + + + Cannot open log {0} on computer '{1}'. {2} + + + Cannot open log for source '{0}'. You may not have write access. + + + Cannot read log entry number {0}. The event log may be corrupt. + + + Cannot retrieve all entries. + + + Invalid eventID value '{0}'. It must be in the range between '{1}' and '{2}'. + + + Index {0} is out of bounds. + + + Cannot initialize the same object twice. + + + The log name: '{0}' is invalid for customer log creation. + + + Invalid value '{1}' for parameter '{0}'. + + + Invalid format for argument {0}. + + + Log {0} has already been registered as a source on the local computer. + + + Cannot open registry key {0}\\{1}\\{2}. + + + Source {0} already exists on the local computer. + + + Source {0} is not registered on the local computer. + + + The event log '{0}' on computer '{1}' does not exist. + + + Log entry string is too long. A string written to the event log cannot exceed 32766 characters. + + + The source '{0}' is not registered in log '{1}'. (It is registered in log '{2}'.) " The Source and Log properties must be matched, or you may set Log to the empty string, and it will automatically be matched to the Source property.NoAccountInfo=Cannot obta ... + + + MaximumKilobytes must be between 64 KB and 4 GB, and must be in 64K increments. + + + The description for Event ID '{0}' in Source '{1}' cannot be found. The local computer may not have the necessary registry information or message DLL files to display the message, or you may not have permission to access them. The following information i ... + + + Cannot find Log {0} on computer '{1}'. + + + Log property value has not been specified. + + + Must specify value for {0}. + + + Source property was not set before opening the event log in write mode. + + + Source property was not set before writing to the event log. + + + No current EventLog entry available, cursor is located before the first or after the last element of the enumeration. + + + Log to delete was not specified. + + + The size of {0} is too big. It cannot be longer than {1} characters. + + + EventLog access is not supported on this platform. + + + Cannot open registry key {0}\\{1}\\{2} on computer '{3}'. + + + Cannot open registry key {0} on computer {1}. + + + Cannot open registry key {0} on computer {1}. You might not have access. + + + 'retentionDays' must be between 1 and 365 days. + + + The source {0} was not found on computer {1}, but some or all event logs could not be searched. Inaccessible logs: {2}. + + + The source {0} was not found on computer {1}, but some or all event logs could not be searched. To create the source, you need permission to read all event logs to make sure that the new source name is unique. Inaccessible logs: {2}. + + + Source {0} already exists on the computer '{1}'. + + + The source '{0}' is not registered on machine '{1}', or you do not have write access to the {2} registry key. + + + The maximum allowed number of replacement strings is 255. + + + Log {0} has already been registered as a source on the local computer. + + + + Evt Variant types + + + + + The query flags to get information about query + + + + + Publisher Metadata properties + + + + diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.xml b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.xml new file mode 100644 index 000000000..59a943080 --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.xml @@ -0,0 +1,678 @@ + + + + System.Diagnostics.EventLog + + + + + Provides interaction with Windows event logs. + + + + + The contents of the log. + + + + + Gets or sets the name of the log to read from and write to. + + + + + The machine on which this event log resides. + + + + + Indicates if the component monitors the event log for changes. + + + + + The object used to marshal the event handler calls issued as a result of an EventLog change. + + + + + The application name (source name) to use when writing to the event log. + + + + + Raised each time any application writes an entry to the event log. + + + + + The machine on which this event log resides. + + + + + The binary data associated with this entry in the event log. + + + + + The sequence of this entry in the event log. + + + + + The category for this message. + + + + + An application-specific category number assigned to this entry. + + + + + The number identifying the message for this source. + + + + + The type of entry - Information, Warning, etc. + + + + + The text of the message for this entry. + + + + + The name of the application that wrote this entry. + + + + + The application-supplied strings used in the message. + + + + + The full number identifying the message in the event message dll. + + + + + The time at which the application logged this entry. + + + + + The time at which the system logged this entry to the event log. + + + + + The username of the account associated with this entry by the writing application. + + + + + A SafeHandle implementation over a native CoTaskMem allocated via StringToCoTaskMemAuto. + + + + + A SafeHandle implementation over a native CoTaskMem allocated via SecureStringToCoTaskMemUnicode. + + + + + Represents an opaque Event Bookmark obtained from an EventRecord. + The bookmark denotes a unique identifier for the event instance as + well as marks the location in the result set of the EventReader + that the event instance was obtained from. + + + + + Creates a bookmark that identifies an event in a channel. + + An XML string that represents the bookmark. + + + + Gets the XML string that represents the bookmark. + + + + + Describes the metadata for a specific Keyword defined by a Provider. + An instance of this class is obtained from a ProviderMetadata object. + + + + + Describes the metadata for a specific Level defined by a Provider. + An instance of this class is obtained from a ProviderMetadata object. + + + + + Log Type + + + + + Log Isolation + + + + + Log Mode + + + + + Provides access to static log information and configures + log publishing and log file properties. + + + + + describes an exception thrown from Event Log related classes. + + + + + The object requested by the operation is not found. + + + + + The state of the reader cursor has become invalid, most likely due to the fact + that the log has been cleared. User needs to obtain a new reader object if + they wish to continue navigating result set. + + + + + Provider has been uninstalled while ProviderMetadata operations are being performed. + Obtain a new ProviderMetadata object, when provider is reinstalled, to continue navigating + provider's metadata. + + + + + Data obtained from the eventlog service, for the current operation, is invalid . + + + + + A SafeHandle implementation over native EVT_HANDLE + obtained from EventLog Native Methods. + + + + + Describes the run-time properties of logs and external log files. An instance + of this class is obtained from EventLogSession. + + + + + Describes the metadata for a specific Log Reference defined + by a Provider. An instance of this class is obtained from + a ProviderMetadata object. + + + + + Encapsulates the information for fast access to Event Values + of an EventLogRecord. An instance of this class is constructed + and then passed to EventLogRecord.GetEventPropertyValues. + + + + + Allows a user to define events of interest. An instance of this + class is passed to an EventReader to actually obtain the EventRecords. + The EventLogQuery can be as simple specifying that all events are of + interest, or it can contain query / xpath expressions that indicate exactly + what characteristics events should have. + + + + + This public class is used for reading event records from event log. + + + + + events buffer holds batched event (handles). + + + + + The current index where the function GetNextEvent is (inside the eventsBuffer). + + + + + The number of events read from the batch into the eventsBuffer + + + + + When the reader finishes (will always return only ERROR_NO_MORE_ITEMS). + For subscription, this means we need to wait for next event. + + + + + Maintains cached display / metadata information returned from + EventRecords that were obtained from this reader. + + + + + Session Login Type + + + + + The type: log / external log file to query + + + + + Defines a session for Event Log operations. The session can + be configured for a remote machine and can use specific + user credentials. + + + + + Describes the status of a particular log with respect to + an instantiated EventLogReader. Since it is possible to + instantiate an EventLogReader with a query containing + multiple logs and the reader can be configured to tolerate + errors in attaching to those logs, this class allows the + user to determine exactly what the status of those logs is. + + + + + Used for subscribing to event record notifications from + event log. + + + + + Maintains cached display / metadata information returned from + EventRecords that were obtained from this reader. + + + + + Event Metadata + + + + + The metadata for a specific Opcode defined by a Provider. + An instance of this class is obtained from a ProviderMetadata object. + + + + + Represents an event obtained from an EventReader. + + + + + The custom event handler args. + + + + + The EventRecord being notified. + NOTE: If non null, then caller is required to call Dispose(). + + + + + If any error occurred during subscription, this will be non-null. + After a notification containing an exception, no more notifications will + be made for this subscription. + + + + + Describes the metadata for a specific Task defined by a Provider. + An instance of this class is obtained from a ProviderMetadata object. + + + + + This internal class contains wrapper methods over the Native + Methods of the Eventlog API. Unlike the raw Native Methods, + these methods throw EventLogExceptions, check platform + availability and perform additional helper functionality + specific to function. Also, all methods of this class expose + the Link Demand for Unmanaged Permission to callers. + + + + + Exposes all the metadata for a specific event Provider. An instance + of this class is obtained from EventLogManagement and is scoped to a + single Locale. + + + + + This class does not expose underlying Provider metadata objects. Instead it + exposes a limited set of Provider metadata information from the cache. The reason + for this is so the cache can easily Dispose the metadata object without worrying + about who is using it. + + + + + WindowsEventLevel + + + + + Log always + + + + + Only critical errors + + + + + All errors, including previous levels + + + + + All warnings, including previous levels + + + + + All informational events, including previous levels + + + + + All events, including previous levels + + + + + WindowsEventTask + + + + + Undefined task + + + + + EventOpcode + + + + + An informational event + + + + + An activity start event + + + + + An activity end event + + + + + A trace collection start event + + + + + A trace collection end event + + + + + An extensional event + + + + + A reply event + + + + + An event representing the activity resuming from the suspension + + + + + An event representing the activity is suspended, pending another activity's completion + + + + + An event representing the activity is transferred to another component, and can continue to work + + + + + An event representing receiving an activity transfer from another component + + + + + EventOpcode + + + + + Wild card value + + + + + Events providing response time information + + + + + WDI context events + + + + + WDI diagnostic events + + + + + SQM events + + + + + FAiled security audits + + + + + Successful security audits + + + + + Incorrect CorrelationHint value mistakenly shipped in .NET 3.5. Don't use: duplicates AuditFailure. + + + + + Transfer events where the related Activity ID is a computed value and not a GUID + + + + + Events raised using classic eventlog API + + + + Event log names must consist of printable characters and cannot contain \\, *, ?, or spaces + + + The event log source '{0}' cannot be deleted, because it's equal to the log name. + + + Cannot monitor EntryWritten events for this EventLog. This might be because the EventLog is on a remote machine which is not a supported scenario. + + + Cannot open log {0} on computer '{1}'. {2} + + + Cannot open log for source '{0}'. You may not have write access. + + + Cannot read log entry number {0}. The event log may be corrupt. + + + Cannot retrieve all entries. + + + Invalid eventID value '{0}'. It must be in the range between '{1}' and '{2}'. + + + Index {0} is out of bounds. + + + Cannot initialize the same object twice. + + + The log name: '{0}' is invalid for customer log creation. + + + Invalid value '{1}' for parameter '{0}'. + + + Invalid format for argument {0}. + + + Log {0} has already been registered as a source on the local computer. + + + Cannot open registry key {0}\\{1}\\{2}. + + + Source {0} already exists on the local computer. + + + Source {0} is not registered on the local computer. + + + The event log '{0}' on computer '{1}' does not exist. + + + Log entry string is too long. A string written to the event log cannot exceed 32766 characters. + + + The source '{0}' is not registered in log '{1}'. (It is registered in log '{2}'.) " The Source and Log properties must be matched, or you may set Log to the empty string, and it will automatically be matched to the Source property.NoAccountInfo=Cannot obta ... + + + MaximumKilobytes must be between 64 KB and 4 GB, and must be in 64K increments. + + + The description for Event ID '{0}' in Source '{1}' cannot be found. The local computer may not have the necessary registry information or message DLL files to display the message, or you may not have permission to access them. The following information i ... + + + Cannot find Log {0} on computer '{1}'. + + + Log property value has not been specified. + + + Must specify value for {0}. + + + Source property was not set before opening the event log in write mode. + + + Source property was not set before writing to the event log. + + + No current EventLog entry available, cursor is located before the first or after the last element of the enumeration. + + + Log to delete was not specified. + + + The size of {0} is too big. It cannot be longer than {1} characters. + + + EventLog access is not supported on this platform. + + + Cannot open registry key {0}\\{1}\\{2} on computer '{3}'. + + + Cannot open registry key {0} on computer {1}. + + + Cannot open registry key {0} on computer {1}. You might not have access. + + + 'retentionDays' must be between 1 and 365 days. + + + The source {0} was not found on computer {1}, but some or all event logs could not be searched. Inaccessible logs: {2}. + + + The source {0} was not found on computer {1}, but some or all event logs could not be searched. To create the source, you need permission to read all event logs to make sure that the new source name is unique. Inaccessible logs: {2}. + + + Source {0} already exists on the computer '{1}'. + + + The source '{0}' is not registered on machine '{1}', or you do not have write access to the {2} registry key. + + + The maximum allowed number of replacement strings is 255. + + + Log {0} has already been registered as a source on the local computer. + + + + Evt Variant types + + + + + The query flags to get information about query + + + + + Publisher Metadata properties + + + + diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/runtimes/win/lib/net9.0/System.Diagnostics.EventLog.xml b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/runtimes/win/lib/net9.0/System.Diagnostics.EventLog.xml new file mode 100644 index 000000000..59a943080 --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/runtimes/win/lib/net9.0/System.Diagnostics.EventLog.xml @@ -0,0 +1,678 @@ + + + + System.Diagnostics.EventLog + + + + + Provides interaction with Windows event logs. + + + + + The contents of the log. + + + + + Gets or sets the name of the log to read from and write to. + + + + + The machine on which this event log resides. + + + + + Indicates if the component monitors the event log for changes. + + + + + The object used to marshal the event handler calls issued as a result of an EventLog change. + + + + + The application name (source name) to use when writing to the event log. + + + + + Raised each time any application writes an entry to the event log. + + + + + The machine on which this event log resides. + + + + + The binary data associated with this entry in the event log. + + + + + The sequence of this entry in the event log. + + + + + The category for this message. + + + + + An application-specific category number assigned to this entry. + + + + + The number identifying the message for this source. + + + + + The type of entry - Information, Warning, etc. + + + + + The text of the message for this entry. + + + + + The name of the application that wrote this entry. + + + + + The application-supplied strings used in the message. + + + + + The full number identifying the message in the event message dll. + + + + + The time at which the application logged this entry. + + + + + The time at which the system logged this entry to the event log. + + + + + The username of the account associated with this entry by the writing application. + + + + + A SafeHandle implementation over a native CoTaskMem allocated via StringToCoTaskMemAuto. + + + + + A SafeHandle implementation over a native CoTaskMem allocated via SecureStringToCoTaskMemUnicode. + + + + + Represents an opaque Event Bookmark obtained from an EventRecord. + The bookmark denotes a unique identifier for the event instance as + well as marks the location in the result set of the EventReader + that the event instance was obtained from. + + + + + Creates a bookmark that identifies an event in a channel. + + An XML string that represents the bookmark. + + + + Gets the XML string that represents the bookmark. + + + + + Describes the metadata for a specific Keyword defined by a Provider. + An instance of this class is obtained from a ProviderMetadata object. + + + + + Describes the metadata for a specific Level defined by a Provider. + An instance of this class is obtained from a ProviderMetadata object. + + + + + Log Type + + + + + Log Isolation + + + + + Log Mode + + + + + Provides access to static log information and configures + log publishing and log file properties. + + + + + describes an exception thrown from Event Log related classes. + + + + + The object requested by the operation is not found. + + + + + The state of the reader cursor has become invalid, most likely due to the fact + that the log has been cleared. User needs to obtain a new reader object if + they wish to continue navigating result set. + + + + + Provider has been uninstalled while ProviderMetadata operations are being performed. + Obtain a new ProviderMetadata object, when provider is reinstalled, to continue navigating + provider's metadata. + + + + + Data obtained from the eventlog service, for the current operation, is invalid . + + + + + A SafeHandle implementation over native EVT_HANDLE + obtained from EventLog Native Methods. + + + + + Describes the run-time properties of logs and external log files. An instance + of this class is obtained from EventLogSession. + + + + + Describes the metadata for a specific Log Reference defined + by a Provider. An instance of this class is obtained from + a ProviderMetadata object. + + + + + Encapsulates the information for fast access to Event Values + of an EventLogRecord. An instance of this class is constructed + and then passed to EventLogRecord.GetEventPropertyValues. + + + + + Allows a user to define events of interest. An instance of this + class is passed to an EventReader to actually obtain the EventRecords. + The EventLogQuery can be as simple specifying that all events are of + interest, or it can contain query / xpath expressions that indicate exactly + what characteristics events should have. + + + + + This public class is used for reading event records from event log. + + + + + events buffer holds batched event (handles). + + + + + The current index where the function GetNextEvent is (inside the eventsBuffer). + + + + + The number of events read from the batch into the eventsBuffer + + + + + When the reader finishes (will always return only ERROR_NO_MORE_ITEMS). + For subscription, this means we need to wait for next event. + + + + + Maintains cached display / metadata information returned from + EventRecords that were obtained from this reader. + + + + + Session Login Type + + + + + The type: log / external log file to query + + + + + Defines a session for Event Log operations. The session can + be configured for a remote machine and can use specific + user credentials. + + + + + Describes the status of a particular log with respect to + an instantiated EventLogReader. Since it is possible to + instantiate an EventLogReader with a query containing + multiple logs and the reader can be configured to tolerate + errors in attaching to those logs, this class allows the + user to determine exactly what the status of those logs is. + + + + + Used for subscribing to event record notifications from + event log. + + + + + Maintains cached display / metadata information returned from + EventRecords that were obtained from this reader. + + + + + Event Metadata + + + + + The metadata for a specific Opcode defined by a Provider. + An instance of this class is obtained from a ProviderMetadata object. + + + + + Represents an event obtained from an EventReader. + + + + + The custom event handler args. + + + + + The EventRecord being notified. + NOTE: If non null, then caller is required to call Dispose(). + + + + + If any error occurred during subscription, this will be non-null. + After a notification containing an exception, no more notifications will + be made for this subscription. + + + + + Describes the metadata for a specific Task defined by a Provider. + An instance of this class is obtained from a ProviderMetadata object. + + + + + This internal class contains wrapper methods over the Native + Methods of the Eventlog API. Unlike the raw Native Methods, + these methods throw EventLogExceptions, check platform + availability and perform additional helper functionality + specific to function. Also, all methods of this class expose + the Link Demand for Unmanaged Permission to callers. + + + + + Exposes all the metadata for a specific event Provider. An instance + of this class is obtained from EventLogManagement and is scoped to a + single Locale. + + + + + This class does not expose underlying Provider metadata objects. Instead it + exposes a limited set of Provider metadata information from the cache. The reason + for this is so the cache can easily Dispose the metadata object without worrying + about who is using it. + + + + + WindowsEventLevel + + + + + Log always + + + + + Only critical errors + + + + + All errors, including previous levels + + + + + All warnings, including previous levels + + + + + All informational events, including previous levels + + + + + All events, including previous levels + + + + + WindowsEventTask + + + + + Undefined task + + + + + EventOpcode + + + + + An informational event + + + + + An activity start event + + + + + An activity end event + + + + + A trace collection start event + + + + + A trace collection end event + + + + + An extensional event + + + + + A reply event + + + + + An event representing the activity resuming from the suspension + + + + + An event representing the activity is suspended, pending another activity's completion + + + + + An event representing the activity is transferred to another component, and can continue to work + + + + + An event representing receiving an activity transfer from another component + + + + + EventOpcode + + + + + Wild card value + + + + + Events providing response time information + + + + + WDI context events + + + + + WDI diagnostic events + + + + + SQM events + + + + + FAiled security audits + + + + + Successful security audits + + + + + Incorrect CorrelationHint value mistakenly shipped in .NET 3.5. Don't use: duplicates AuditFailure. + + + + + Transfer events where the related Activity ID is a computed value and not a GUID + + + + + Events raised using classic eventlog API + + + + Event log names must consist of printable characters and cannot contain \\, *, ?, or spaces + + + The event log source '{0}' cannot be deleted, because it's equal to the log name. + + + Cannot monitor EntryWritten events for this EventLog. This might be because the EventLog is on a remote machine which is not a supported scenario. + + + Cannot open log {0} on computer '{1}'. {2} + + + Cannot open log for source '{0}'. You may not have write access. + + + Cannot read log entry number {0}. The event log may be corrupt. + + + Cannot retrieve all entries. + + + Invalid eventID value '{0}'. It must be in the range between '{1}' and '{2}'. + + + Index {0} is out of bounds. + + + Cannot initialize the same object twice. + + + The log name: '{0}' is invalid for customer log creation. + + + Invalid value '{1}' for parameter '{0}'. + + + Invalid format for argument {0}. + + + Log {0} has already been registered as a source on the local computer. + + + Cannot open registry key {0}\\{1}\\{2}. + + + Source {0} already exists on the local computer. + + + Source {0} is not registered on the local computer. + + + The event log '{0}' on computer '{1}' does not exist. + + + Log entry string is too long. A string written to the event log cannot exceed 32766 characters. + + + The source '{0}' is not registered in log '{1}'. (It is registered in log '{2}'.) " The Source and Log properties must be matched, or you may set Log to the empty string, and it will automatically be matched to the Source property.NoAccountInfo=Cannot obta ... + + + MaximumKilobytes must be between 64 KB and 4 GB, and must be in 64K increments. + + + The description for Event ID '{0}' in Source '{1}' cannot be found. The local computer may not have the necessary registry information or message DLL files to display the message, or you may not have permission to access them. The following information i ... + + + Cannot find Log {0} on computer '{1}'. + + + Log property value has not been specified. + + + Must specify value for {0}. + + + Source property was not set before opening the event log in write mode. + + + Source property was not set before writing to the event log. + + + No current EventLog entry available, cursor is located before the first or after the last element of the enumeration. + + + Log to delete was not specified. + + + The size of {0} is too big. It cannot be longer than {1} characters. + + + EventLog access is not supported on this platform. + + + Cannot open registry key {0}\\{1}\\{2} on computer '{3}'. + + + Cannot open registry key {0} on computer {1}. + + + Cannot open registry key {0} on computer {1}. You might not have access. + + + 'retentionDays' must be between 1 and 365 days. + + + The source {0} was not found on computer {1}, but some or all event logs could not be searched. Inaccessible logs: {2}. + + + The source {0} was not found on computer {1}, but some or all event logs could not be searched. To create the source, you need permission to read all event logs to make sure that the new source name is unique. Inaccessible logs: {2}. + + + Source {0} already exists on the computer '{1}'. + + + The source '{0}' is not registered on machine '{1}', or you do not have write access to the {2} registry key. + + + The maximum allowed number of replacement strings is 255. + + + Log {0} has already been registered as a source on the local computer. + + + + Evt Variant types + + + + + The query flags to get information about query + + + + + Publisher Metadata properties + + + + diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/system.diagnostics.eventlog.10.0.0-rc.2.25502.107.nupkg b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/system.diagnostics.eventlog.10.0.0-rc.2.25502.107.nupkg new file mode 100644 index 000000000..8802d24aa Binary files /dev/null and b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/system.diagnostics.eventlog.10.0.0-rc.2.25502.107.nupkg differ diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/system.diagnostics.eventlog.10.0.0-rc.2.25502.107.nupkg.sha512 b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/system.diagnostics.eventlog.10.0.0-rc.2.25502.107.nupkg.sha512 new file mode 100644 index 000000000..2cc469756 --- /dev/null +++ b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/system.diagnostics.eventlog.10.0.0-rc.2.25502.107.nupkg.sha512 @@ -0,0 +1 @@ +7R06R/+XG6TOdzWLpnQ0tb6B+ywGtvIZXW9ZWZeP5pkygBo4RA5oVRw7yd9QX/69PQMUIEiD3YZWFLIh35j5fw== \ No newline at end of file diff --git a/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt b/local-nuget/system.diagnostics.eventlog/10.0.0-rc.2.25502.107/useSharedDesignerContext.txt new file mode 100644 index 000000000..e69de29bb diff --git a/local-nuget/system.identitymodel.tokens.jwt/7.2.0/.nupkg.metadata b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/.nupkg.metadata new file mode 100644 index 000000000..b916f74af --- /dev/null +++ b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "Z3Fmkrxkp+o51ANMO/PqASRRlEz8dH4mTWwZXMFMXZt2bUGztBiNcIDnwBCElYLYpzpmz4sIqHb6aW8QVLe6YQ==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/system.identitymodel.tokens.jwt/7.2.0/.signature.p7s b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/.signature.p7s new file mode 100644 index 000000000..a1bda7f6b Binary files /dev/null and b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/.signature.p7s differ diff --git a/local-nuget/system.identitymodel.tokens.jwt/7.2.0/System.IdentityModel.Tokens.Jwt.nuspec b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/System.IdentityModel.Tokens.Jwt.nuspec new file mode 100644 index 000000000..dd975e939 --- /dev/null +++ b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/System.IdentityModel.Tokens.Jwt.nuspec @@ -0,0 +1,42 @@ + + + + System.IdentityModel.Tokens.Jwt + 7.2.0 + Microsoft + MIT + https://licenses.nuget.org/MIT + https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet + Includes types that provide support for creating, serializing and validating JSON Web Tokens. As of IdentityModel 7x, this is a legacy tool that should be replaced with Microsoft.IdentityModel.JsonWebTokens. + © Microsoft Corporation. All rights reserved. + .NET Windows Authentication Identity Json Web Token + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net461/System.IdentityModel.Tokens.Jwt.xml b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net461/System.IdentityModel.Tokens.Jwt.xml new file mode 100644 index 000000000..ad733854d --- /dev/null +++ b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net461/System.IdentityModel.Tokens.Jwt.xml @@ -0,0 +1,1548 @@ + + + + System.IdentityModel.Tokens.Jwt + + + + + Constants that indicate how the should be evaluated. + + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonObject, the will be set to "JSON". + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonArray, the will be set to "JSON_ARRAY". + + + + A value that indicates the is Json null. + + When creating a the cannot be null. If the Json value was null, then the + will be set to and the will be set to "JSON_NULL". + + + + Constants for Json Web tokens. + + + + + Short header type. + + + + + Long header type. + + + + + Short token type. + + + + + Long token type. + + + + + JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required. + + + + + JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'. + + + + + The number of parts in a JWE token. + + + + + The number of parts in a JWS token. + + + + + The maximum number of parts in a JWT. + + + + + JWE header alg indicating a shared symmetric key is directly used as CEK. + + + + + Initializes a new instance of which contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. + The member names within the JWT Header are referred to as Header Parameter Names. + These names MUST be unique and the values must be (s). The corresponding values are referred to as Header Parameter Values. + + + + + Initializes a new instance of the class. Default string comparer . + + + + + Initializes a new instance of the class. Default string comparer . + + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used creating a JWS Compact JSON. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Alg }, { enc, EncryptingCredentials.Enc } } + + used creating a JWE Compact JSON. + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type + Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + provides the token type + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + provides the token type + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + If 'encryptingCredentials' is null. + + + + Gets the signature algorithm that was used to create the signature. + + If the signature algorithm is not found, null is returned. + + + + Gets the content mime type (Cty) of the token. + + If the content mime type is not found, null is returned. + + + + Gets the encryption algorithm (Enc) of the token. + + If the content mime type is not found, null is returned. + + + + Gets the passed in the constructor. + + This value may be null. + + + + Gets the iv of symmetric key wrap. + + + + + Gets the key identifier for the security key used to sign the token + + + + + Gets the passed in the constructor. + + This value may be null. + + + + Gets the mime type (Typ) of the token. + + If the mime type is not found, null is returned. + + + + Gets the thumbprint of the certificate used to sign the token + + + + + Gets the certificate used to sign the token + + If the 'x5c' claim is not found, null is returned. + + + + Gets the 'value' of the 'zip' claim { zip, 'value' }. + + If the 'zip' claim is not found, null is returned. + + + + Deserializes Base64UrlEncoded JSON into a instance. + + Base64url encoded JSON to deserialize. + An instance of . + + + + Encodes this instance as Base64UrlEncoded JSON. + + Base64UrlEncoded JSON. + + + + Gets a standard claim from the header. + A standard claim is either a string or a value of another type serialized in JSON format. + + The key of the claim. + The standard claim string; or null if not found. + + + + Serializes this instance to JSON. + + This instance as JSON. + + + + List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5. + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#page-12 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3 + + + + + Initializes a new instance of which contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }. + + + + + Initializes a new instance of the class with no claims. Default string comparer . + Creates a empty + + + + + Initializes a new instance of the class with . Default string comparer . + The claims to add. + + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' if present. + Comparison is set to + The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims'. The values will be overridden. + If 'expires' <= 'notbefore'. + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' and 'claimCollection' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' or 'claimCollection' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If both and are not null then the values in claims will be combined with the values in claimsCollection. The values found in claimCollection take precedence over those found in claims, so any duplicate + values will be overridden. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' and 'claimcollection' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' and 'claimcollection' if present. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' and 'claimcollection' if present. + Comparison is set to + The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims' and 'claimcollection'. The values will be overridden. + If 'expires' <= 'notbefore'. + + + + Adds Nbf, Exp, Iat, Iss and Aud claims to payload + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in instance. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in instance. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in instance. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in instance. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in instance. + + + + Gets the 'value' of the 'actor' claim { actort, 'value' }. + + If the 'actor' claim is not found, null is returned. + + + + Gets the 'value' of the 'acr' claim { acr, 'value' }. + + If the 'acr' claim is not found, null is returned. + + + + Gets the 'value' of the 'amr' claim { amr, 'value' } as list of strings. + + If the 'amr' claim is not found, an empty enumerable is returned. + + + + Gets the 'value' of the 'auth_time' claim { auth_time, 'value' }. + + If the 'auth_time' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'audience' claim { aud, 'value' } as a list of strings. + + If the 'audience' claim is not found, an empty enumerable is returned. + + + + Gets the 'value' of the 'azp' claim { azp, 'value' }. + + If the 'azp' claim is not found, null is returned. + + + + Gets 'value' of the 'c_hash' claim { c_hash, 'value' }. + + If the 'c_hash' claim is not found, null is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' }. + + If the 'expiration' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' }. + + If the 'expiration' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'JWT ID' claim { jti, 'value' }. + + If the 'JWT ID' claim is not found, null is returned. + + + + Gets the 'value' of the 'Issued At' claim { iat, 'value' }. + + If the 'Issued At' claim is not found OR cannot be converted to null is returned. + + + + Gets the 'value' of the 'issuer' claim { iss, 'value' }. + + If the 'issuer' claim is not found, null is returned. + + + + Gets the 'value' of the 'expiration' claim { nbf, 'value' }. + + If the 'notbefore' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'nonce' claim { nonce, 'value' }. + + If the 'nonce' claim is not found, null is returned. + + + + Gets the 'value' of the 'notebefore' claim { nbf, 'value' }. + + If the 'notbefore' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'subject' claim { sub, 'value' }. + + If the 'subject' claim is not found, null is returned. + + + + Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'notbefore' claim is not found, then is returned. Time is returned as UTC. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'expiration' claim is not found, then is returned. + + + + Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'issued at' claim is not found, then is returned. + + + + Gets a for each JSON { name, value }. + + Each (s) returned will have the translated according to the mapping found in . Adding and removing to will affect the value of the . + and will be set to the value of ( if null). + + + + Adds a JSON object representing the to the + + { 'Claim.Type', 'Claim.Value' } is added. If a JSON object is found with the name == then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + See For details on how is applied. + 'claim' is null. + + + + Adds a number of to the as JSON { name, value } pairs. + + For each a JSON pair { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + + Any in the that is null, will be ignored. + is null. + + + + Adds claims from dictionary. + + A dictionary of claims. + If a key is already present in target dictionary, its claimValue is overridden by the claimValue of the key in claimsCollection. + + + + Serializes this instance to JSON. + + This instance as JSON. + + + + Deserializes Base64UrlEncoded JSON into a . + + Base64url encoded JSON to deserialize. + An instance of . + + + + Encodes this instance as Base64UrlEncoded JSON. + + Base64UrlEncoded JSON. + + + + Deserialzes JSON into a instance. + + The JSON to deserialize. + An instance of . + + + + List of registered claims from different sources + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + + + + + http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-5 + + + + + + + + + + + + + A designed for representing a JSON Web Token (JWT). + + + + + Initializes a new instance of from a string in JWS Compact serialized format. + + A JSON Web Token that has been serialized in JWS Compact serialized format. + 'jwtEncodedString' is null or contains only whitespace. + 'jwtEncodedString' contains only whitespace. + 'jwtEncodedString' is not in JWE format. + 'jwtEncodedString' is not in JWS or JWE format. + + The contents of this have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using + + + + + Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations. + + Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT + Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value } + base64urlencoded JwtHeader + base64urlencoded JwtPayload + base64urlencoded JwtSignature + 'header' is null. + 'payload' is null. + 'rawSignature' is null. + 'rawHeader' or 'rawPayload' is null or whitespace. + + + + Initializes an instance of where the contains the crypto algorithms applied to the innerToken . + + Defines cryptographic operations applied to the 'innerToken'. + + base64urlencoded key + base64urlencoded JwtHeader + base64urlencoded initialization vector. + base64urlencoded encrypted innerToken + base64urlencoded authentication tag. + 'header' is null. + 'innerToken' is null. + 'rawHeader' is null. + 'rawEncryptedKey' is null. + 'rawInitialVector' is null or empty. + 'rawCiphertext' is null or empty. + 'rawAuthenticationTag' is null or empty. + + + + Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations. + + Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT + Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value } + 'header' is null. + 'payload' is null. + + + + Initializes a new instance of the class specifying optional parameters. + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + The that will be used to sign the . See for details pertaining to the Header Parameter(s). + If 'expires' <= 'notbefore'. + + + + Gets the 'value' of the 'actor' claim { actort, 'value' }. + + If the 'actor' claim is not found, null is returned. + + + + Gets the list of 'audience' claim { aud, 'value' }. + + If the 'audience' claim is not found, enumeration will be empty. + + + + Gets the (s) for this token. + If this is a JWE token, this property only returns the encrypted claims; + the unencrypted claims should be read from the header seperately. + + (s) returned will NOT have the translated according to + + + + Gets the Base64UrlEncoded associated with this instance. + + + + + Gets the Base64UrlEncoded associated with this instance. + + + + + Gets the associated with this instance if the token is signed. + + + + + Gets the 'value' of the 'JWT ID' claim { jti, 'value' }. + + If the 'JWT ID' claim is not found, an empty string is returned. + + + + Gets the 'value' of the 'issuer' claim { iss, 'value' }. + + If the 'issuer' claim is not found, an empty string is returned. + + + + Gets the associated with this instance. + Note that if this JWT is nested ( != null, this property represents the payload of the most inner token. + This property can be null if the content type of the most inner token is unrecognized, in that case + the content of the token is the string returned by PlainText property. + + + + + Gets the associated with this instance. + + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the s for this instance. + + + + + Gets the signature algorithm associated with this instance. + + If there is a associated with this instance, a value will be returned. Null otherwise. + + + + Gets the to use when writing this token. + + + + + Gets the to use when writing this token. + + + + + Gets or sets the that signed this instance. + + .ValidateSignature(...) sets this value when a is used to successfully validate a signature. + + + + Gets the "value" of the 'subject' claim { sub, 'value' }. + + If the 'subject' claim is not found, null is returned. + + + + Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'notbefore' claim is not found, then is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'expiration' claim is not found, then is returned. + + + + Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'issued at' claim is not found, then is returned. + + + + Serializes the and + + A string containing the header and payload in JSON format. + + + + + + + Decodes the string into the header, payload and signature. + + the tokenized string. + the original token. + + + + Decodes the base64url encoded payload. + + the encoded payload. + + + + Decodes the payload and signature from the JWE parts. + + Parts of the JWE including the header. + Assumes Header has already been set. + + + + Static class to convert a to a + + + + + Initializes a new instance of a from a + + A JSON Web Token to convert from. + is null + doesn't have set. + + + + A designed for creating and validating Json Web Tokens. See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515 + + + + + Default claim type mapping for inbound claims. + + + + + Default value for the flag that determines whether or not the InboundClaimTypeMap is used. + + + + + Default claim type mapping for outbound claims. + + + + + Default claim type filter list. + + + + + Default JwtHeader algorithm mapping + + + + + Static initializer for a new object. Static initializers run before the first instance of the type is created. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a . + If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs. + The default value is true. + + + + + Gets or sets the which is used when setting the for claims in the extracted when validating a . + The is set to the JSON claim 'name' after translating using this mapping. + The default value is ClaimTypeMapping.InboundClaimTypeMap. + + 'value' is null. + + + + Gets or sets the which is used when creating a from (s). + The JSON claim 'name' value is set to after translating using this mapping. + The default value is ClaimTypeMapping.OutboundClaimTypeMap + + This mapping is applied only when using or . Adding values directly will not result in translation. + 'value' is null. + + + + Gets the outbound algorithm map that is passed to the constructor. + + + + Gets or sets the used to filter claims when populating a claims form a . + When a is validated, claims with types found in this will not be added to the . + The default value is ClaimTypeMapping.InboundClaimFilter. + + 'value' is null. + + + + Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created. + See for more information. + + If .IsNullOrWhiteSpace('value') is true. + + + + Gets or sets the property name of the will contain .Net type that was recognized when serialized the value to JSON. + See for more information. + + If .IsNullOrWhiteSpace('value') is true. + + + + Returns a value that indicates if this handler can validate a . + + 'true', indicating this instance can validate a . + + + + Gets the value that indicates if this instance can write a . + + 'true', indicating this instance can write a . + + + + Gets the type of the . + + The type of + + + + Determines if the string is a well formed Json Web Token (JWT). + See: https://datatracker.ietf.org/doc/html/rfc7519 + + String that should represent a valid JWT. + Uses matching one of: + JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$" + + + 'false' if the token is null or whitespace. + 'false' if token.Length is greater than . + 'true' if the token is in JSON compact serialization format. + + + + + Returns a Json Web Token (JWT). + + A that contains details of contents of the token. + A JWS and JWE can be returned. + If is provided, then a JWE will be created. + If is provided then a JWS will be created. + If both are provided then a JWE with an embedded JWS will be created. + + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + If is not null, then a claim { actort, 'value' } will be added to the payload. See for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + If is provided, then a JWS will be created. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + Translated into 'epoch time' and assigned to 'nbf'. + Translated into 'epoch time' and assigned to 'exp'. + Translated into 'epoch time' and assigned to 'iat'. + Contains cryptographic material for signing. + Contains cryptographic material for encrypting. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + If 'expires' <= 'notBefore'. + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + Translated into 'epoch time' and assigned to 'nbf'. + Translated into 'epoch time' and assigned to 'exp'. + Translated into 'epoch time' and assigned to 'iat'. + Contains cryptographic material for signing. + Contains cryptographic material for encrypting. + A collection of (key,value) pairs representing (s) for this token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + If 'expires' <= 'notBefore'. + + + + Creates a Json Web Token (JWT). + + A that contains details of contents of the token. + is used to sign . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + Contains cryptographic material for encrypting the token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + is used to encrypt or . + + A . + If <= . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + Contains cryptographic material for encrypting the token. + A collection of (key,value) pairs representing (s) for this token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + is used to encrypt or . + + A . + If <= . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + + A . + If <= . + + + + Creates a Json Web Token (JWT). + + A that contains details of contents of the token. + is used to sign . + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use to ensure the token is acceptable. + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use to ensure the token is acceptable. + + + + Deserializes token with the provided . + + . + The current . + The + This method is not current supported. + + + + Reads and validates a 'JSON Web Token' (JWT) encoded as a JWS or JWE in Compact Serialized Format. + + the JWT encoded as JWE or JWS + Contains validation parameters for the . + The that was validated. + is null or whitespace. + is null. + .Length is greater than . + does not have 3 or 5 parts. + returns false. + was a JWE was not able to be decrypted. + 'kid' header claim is not null AND decryption fails. + 'enc' header claim is null or empty. + 'exp' claim is < DateTime.UtcNow. + is null or whitespace and is null. Audience is not validated if is set to false. + 'aud' claim did not match either or one of . + 'nbf' claim is > 'exp' claim. + .signature is not properly formatted. + 'exp' claim is missing and is true. + is not null and expirationTime.HasValue is false. When a TokenReplayCache is set, tokens require an expiration time. + 'nbf' claim is > DateTime.UtcNow. + could not be added to the . + is found in the cache. + A from the JWT. Does not include claims found in the JWT header. + + Many of the exceptions listed above are not thrown directly from this method. See to examine the call graph. + + + + + Private method for token validation, responsible for: + (1) Obtaining a configuration from the . + (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it. + + The JWS string, or the decrypted token if the token is a JWE. + If the token being validated is a JWE, this is the that represents the outer token. + If the token is a JWS, the value of this parameter is . + + The to be used for validation. + The that was validated. + A from the JWT. Does not include claims found in the JWT header. + + + + Validates the JSON payload of a . + + The token to validate. + Contains validation parameters for the . + A from the jwt. Does not include the header claims. + + + + Serializes a into a JWT in Compact Serialization Format. + + to serialize. + + The JWT will be serialized as a JWE or JWS. + will be used to create the JWT. If there is an inner token, the inner token's payload will be used. + If either or .SigningCredentials are set, the JWT will be signed. + If is set, a JWE will be created using the JWT above as the plaintext. + + is null. + 'token' is not a not . + both and are set. + both and .EncryptingCredentials are set. + if is set and is not set. + A JWE or JWS in 'Compact Serialization Format'. + + + + Obtains a and validates the signature. + + Bytes to validate. + Signature to compare against. + to use. + Crypto algorithm to use. + The being validated. + Priority will be given to over . + 'true' if signature is valid. + + + + Validates that the signature, if found or required, is valid. + + A JWS token. + that contains signing keys. + If is null or whitespace. + If is null. + If a signature is not found and is true. + + If the has a key identifier and none of the (s) provided result in a validated signature. + This can indicate that a key refresh is required. + + If after trying all the (s), none result in a validated signature AND the does not have a key identifier. + A that has the signature validated if token was signed. + If the is signed, the signature is validated even if is false. + If the signature is validated, then the will be set to the key that signed the 'token'.It is the responsibility of to set the + + + + Creates a from a . + + The to use as a source. + The value to set + Contains parameters for validating the token. + A containing the . + + + + Creates the 'value' for the actor claim: { actort, 'value' } + + as actor. + representing the actor. + If is not null: +   If 'type' is 'string', return as string. +   if 'type' is 'BootstrapContext' and 'BootstrapContext.SecurityToken' is 'JwtSecurityToken' +     if 'JwtSecurityToken.RawData' != null, return RawData. +     else return . +   if 'BootstrapContext.Token' != null, return 'Token'. + default: new ( ( actor.Claims ). + + 'actor' is null. + + + + Determines if the audiences found in a are valid. + + The audiences found in the . + The being validated. + required for validation. + See for additional details. + + + + Validates the lifetime of a . + + The value of the 'nbf' claim if it exists in the 'jwtToken'. + The value of the 'exp' claim if it exists in the 'jwtToken'. + The being validated. + required for validation. + for additional details. + + + + Determines if the issuer found in a is valid. + + The issuer to validate + The that is being validated. + required for validation. + The issuer to use when creating the (s) in the . + for additional details. + + + + Determines if a is already validated. + + The value of the 'exp' claim if it exists in the '. + The that is being validated. + required for validation. + + + + Returns a to use when validating the signature of a token. + + The representation of the token that is being validated. + The that is being validated. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Returns a to use when decryption a JWE. + + The the token that is being decrypted. + The that is being decrypted. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Decrypts a JWE and returns the clear text + + the JWE that contains the cypher text. + contains crypto material. + the decoded / cleartext contents of the JWE. + if is null. + if is null. + if 'jwtToken.Header.enc' is null or empty. + if 'jwtToken.Header.kid' is not null AND decryption fails. + if the JWE was not able to be decrypted. + + + + Validates the is an expected value. + + The that signed the . + The to validate. + The current . + If the is a then the X509Certificate2 will be validated using the CertificateValidator. + + + + Serializes to XML a token of the type handled by this instance. + + The XML writer. + A token of type . + + + + + + + Log messages and codes + + + + diff --git a/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net462/System.IdentityModel.Tokens.Jwt.xml b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net462/System.IdentityModel.Tokens.Jwt.xml new file mode 100644 index 000000000..ad733854d --- /dev/null +++ b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net462/System.IdentityModel.Tokens.Jwt.xml @@ -0,0 +1,1548 @@ + + + + System.IdentityModel.Tokens.Jwt + + + + + Constants that indicate how the should be evaluated. + + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonObject, the will be set to "JSON". + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonArray, the will be set to "JSON_ARRAY". + + + + A value that indicates the is Json null. + + When creating a the cannot be null. If the Json value was null, then the + will be set to and the will be set to "JSON_NULL". + + + + Constants for Json Web tokens. + + + + + Short header type. + + + + + Long header type. + + + + + Short token type. + + + + + Long token type. + + + + + JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required. + + + + + JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'. + + + + + The number of parts in a JWE token. + + + + + The number of parts in a JWS token. + + + + + The maximum number of parts in a JWT. + + + + + JWE header alg indicating a shared symmetric key is directly used as CEK. + + + + + Initializes a new instance of which contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. + The member names within the JWT Header are referred to as Header Parameter Names. + These names MUST be unique and the values must be (s). The corresponding values are referred to as Header Parameter Values. + + + + + Initializes a new instance of the class. Default string comparer . + + + + + Initializes a new instance of the class. Default string comparer . + + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used creating a JWS Compact JSON. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Alg }, { enc, EncryptingCredentials.Enc } } + + used creating a JWE Compact JSON. + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type + Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + provides the token type + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + provides the token type + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + If 'encryptingCredentials' is null. + + + + Gets the signature algorithm that was used to create the signature. + + If the signature algorithm is not found, null is returned. + + + + Gets the content mime type (Cty) of the token. + + If the content mime type is not found, null is returned. + + + + Gets the encryption algorithm (Enc) of the token. + + If the content mime type is not found, null is returned. + + + + Gets the passed in the constructor. + + This value may be null. + + + + Gets the iv of symmetric key wrap. + + + + + Gets the key identifier for the security key used to sign the token + + + + + Gets the passed in the constructor. + + This value may be null. + + + + Gets the mime type (Typ) of the token. + + If the mime type is not found, null is returned. + + + + Gets the thumbprint of the certificate used to sign the token + + + + + Gets the certificate used to sign the token + + If the 'x5c' claim is not found, null is returned. + + + + Gets the 'value' of the 'zip' claim { zip, 'value' }. + + If the 'zip' claim is not found, null is returned. + + + + Deserializes Base64UrlEncoded JSON into a instance. + + Base64url encoded JSON to deserialize. + An instance of . + + + + Encodes this instance as Base64UrlEncoded JSON. + + Base64UrlEncoded JSON. + + + + Gets a standard claim from the header. + A standard claim is either a string or a value of another type serialized in JSON format. + + The key of the claim. + The standard claim string; or null if not found. + + + + Serializes this instance to JSON. + + This instance as JSON. + + + + List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5. + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#page-12 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3 + + + + + Initializes a new instance of which contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }. + + + + + Initializes a new instance of the class with no claims. Default string comparer . + Creates a empty + + + + + Initializes a new instance of the class with . Default string comparer . + The claims to add. + + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' if present. + Comparison is set to + The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims'. The values will be overridden. + If 'expires' <= 'notbefore'. + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' and 'claimCollection' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' or 'claimCollection' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If both and are not null then the values in claims will be combined with the values in claimsCollection. The values found in claimCollection take precedence over those found in claims, so any duplicate + values will be overridden. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' and 'claimcollection' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' and 'claimcollection' if present. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' and 'claimcollection' if present. + Comparison is set to + The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims' and 'claimcollection'. The values will be overridden. + If 'expires' <= 'notbefore'. + + + + Adds Nbf, Exp, Iat, Iss and Aud claims to payload + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in instance. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in instance. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in instance. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in instance. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in instance. + + + + Gets the 'value' of the 'actor' claim { actort, 'value' }. + + If the 'actor' claim is not found, null is returned. + + + + Gets the 'value' of the 'acr' claim { acr, 'value' }. + + If the 'acr' claim is not found, null is returned. + + + + Gets the 'value' of the 'amr' claim { amr, 'value' } as list of strings. + + If the 'amr' claim is not found, an empty enumerable is returned. + + + + Gets the 'value' of the 'auth_time' claim { auth_time, 'value' }. + + If the 'auth_time' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'audience' claim { aud, 'value' } as a list of strings. + + If the 'audience' claim is not found, an empty enumerable is returned. + + + + Gets the 'value' of the 'azp' claim { azp, 'value' }. + + If the 'azp' claim is not found, null is returned. + + + + Gets 'value' of the 'c_hash' claim { c_hash, 'value' }. + + If the 'c_hash' claim is not found, null is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' }. + + If the 'expiration' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' }. + + If the 'expiration' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'JWT ID' claim { jti, 'value' }. + + If the 'JWT ID' claim is not found, null is returned. + + + + Gets the 'value' of the 'Issued At' claim { iat, 'value' }. + + If the 'Issued At' claim is not found OR cannot be converted to null is returned. + + + + Gets the 'value' of the 'issuer' claim { iss, 'value' }. + + If the 'issuer' claim is not found, null is returned. + + + + Gets the 'value' of the 'expiration' claim { nbf, 'value' }. + + If the 'notbefore' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'nonce' claim { nonce, 'value' }. + + If the 'nonce' claim is not found, null is returned. + + + + Gets the 'value' of the 'notebefore' claim { nbf, 'value' }. + + If the 'notbefore' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'subject' claim { sub, 'value' }. + + If the 'subject' claim is not found, null is returned. + + + + Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'notbefore' claim is not found, then is returned. Time is returned as UTC. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'expiration' claim is not found, then is returned. + + + + Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'issued at' claim is not found, then is returned. + + + + Gets a for each JSON { name, value }. + + Each (s) returned will have the translated according to the mapping found in . Adding and removing to will affect the value of the . + and will be set to the value of ( if null). + + + + Adds a JSON object representing the to the + + { 'Claim.Type', 'Claim.Value' } is added. If a JSON object is found with the name == then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + See For details on how is applied. + 'claim' is null. + + + + Adds a number of to the as JSON { name, value } pairs. + + For each a JSON pair { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + + Any in the that is null, will be ignored. + is null. + + + + Adds claims from dictionary. + + A dictionary of claims. + If a key is already present in target dictionary, its claimValue is overridden by the claimValue of the key in claimsCollection. + + + + Serializes this instance to JSON. + + This instance as JSON. + + + + Deserializes Base64UrlEncoded JSON into a . + + Base64url encoded JSON to deserialize. + An instance of . + + + + Encodes this instance as Base64UrlEncoded JSON. + + Base64UrlEncoded JSON. + + + + Deserialzes JSON into a instance. + + The JSON to deserialize. + An instance of . + + + + List of registered claims from different sources + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + + + + + http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-5 + + + + + + + + + + + + + A designed for representing a JSON Web Token (JWT). + + + + + Initializes a new instance of from a string in JWS Compact serialized format. + + A JSON Web Token that has been serialized in JWS Compact serialized format. + 'jwtEncodedString' is null or contains only whitespace. + 'jwtEncodedString' contains only whitespace. + 'jwtEncodedString' is not in JWE format. + 'jwtEncodedString' is not in JWS or JWE format. + + The contents of this have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using + + + + + Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations. + + Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT + Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value } + base64urlencoded JwtHeader + base64urlencoded JwtPayload + base64urlencoded JwtSignature + 'header' is null. + 'payload' is null. + 'rawSignature' is null. + 'rawHeader' or 'rawPayload' is null or whitespace. + + + + Initializes an instance of where the contains the crypto algorithms applied to the innerToken . + + Defines cryptographic operations applied to the 'innerToken'. + + base64urlencoded key + base64urlencoded JwtHeader + base64urlencoded initialization vector. + base64urlencoded encrypted innerToken + base64urlencoded authentication tag. + 'header' is null. + 'innerToken' is null. + 'rawHeader' is null. + 'rawEncryptedKey' is null. + 'rawInitialVector' is null or empty. + 'rawCiphertext' is null or empty. + 'rawAuthenticationTag' is null or empty. + + + + Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations. + + Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT + Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value } + 'header' is null. + 'payload' is null. + + + + Initializes a new instance of the class specifying optional parameters. + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + The that will be used to sign the . See for details pertaining to the Header Parameter(s). + If 'expires' <= 'notbefore'. + + + + Gets the 'value' of the 'actor' claim { actort, 'value' }. + + If the 'actor' claim is not found, null is returned. + + + + Gets the list of 'audience' claim { aud, 'value' }. + + If the 'audience' claim is not found, enumeration will be empty. + + + + Gets the (s) for this token. + If this is a JWE token, this property only returns the encrypted claims; + the unencrypted claims should be read from the header seperately. + + (s) returned will NOT have the translated according to + + + + Gets the Base64UrlEncoded associated with this instance. + + + + + Gets the Base64UrlEncoded associated with this instance. + + + + + Gets the associated with this instance if the token is signed. + + + + + Gets the 'value' of the 'JWT ID' claim { jti, 'value' }. + + If the 'JWT ID' claim is not found, an empty string is returned. + + + + Gets the 'value' of the 'issuer' claim { iss, 'value' }. + + If the 'issuer' claim is not found, an empty string is returned. + + + + Gets the associated with this instance. + Note that if this JWT is nested ( != null, this property represents the payload of the most inner token. + This property can be null if the content type of the most inner token is unrecognized, in that case + the content of the token is the string returned by PlainText property. + + + + + Gets the associated with this instance. + + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the s for this instance. + + + + + Gets the signature algorithm associated with this instance. + + If there is a associated with this instance, a value will be returned. Null otherwise. + + + + Gets the to use when writing this token. + + + + + Gets the to use when writing this token. + + + + + Gets or sets the that signed this instance. + + .ValidateSignature(...) sets this value when a is used to successfully validate a signature. + + + + Gets the "value" of the 'subject' claim { sub, 'value' }. + + If the 'subject' claim is not found, null is returned. + + + + Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'notbefore' claim is not found, then is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'expiration' claim is not found, then is returned. + + + + Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'issued at' claim is not found, then is returned. + + + + Serializes the and + + A string containing the header and payload in JSON format. + + + + + + + Decodes the string into the header, payload and signature. + + the tokenized string. + the original token. + + + + Decodes the base64url encoded payload. + + the encoded payload. + + + + Decodes the payload and signature from the JWE parts. + + Parts of the JWE including the header. + Assumes Header has already been set. + + + + Static class to convert a to a + + + + + Initializes a new instance of a from a + + A JSON Web Token to convert from. + is null + doesn't have set. + + + + A designed for creating and validating Json Web Tokens. See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515 + + + + + Default claim type mapping for inbound claims. + + + + + Default value for the flag that determines whether or not the InboundClaimTypeMap is used. + + + + + Default claim type mapping for outbound claims. + + + + + Default claim type filter list. + + + + + Default JwtHeader algorithm mapping + + + + + Static initializer for a new object. Static initializers run before the first instance of the type is created. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a . + If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs. + The default value is true. + + + + + Gets or sets the which is used when setting the for claims in the extracted when validating a . + The is set to the JSON claim 'name' after translating using this mapping. + The default value is ClaimTypeMapping.InboundClaimTypeMap. + + 'value' is null. + + + + Gets or sets the which is used when creating a from (s). + The JSON claim 'name' value is set to after translating using this mapping. + The default value is ClaimTypeMapping.OutboundClaimTypeMap + + This mapping is applied only when using or . Adding values directly will not result in translation. + 'value' is null. + + + + Gets the outbound algorithm map that is passed to the constructor. + + + + Gets or sets the used to filter claims when populating a claims form a . + When a is validated, claims with types found in this will not be added to the . + The default value is ClaimTypeMapping.InboundClaimFilter. + + 'value' is null. + + + + Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created. + See for more information. + + If .IsNullOrWhiteSpace('value') is true. + + + + Gets or sets the property name of the will contain .Net type that was recognized when serialized the value to JSON. + See for more information. + + If .IsNullOrWhiteSpace('value') is true. + + + + Returns a value that indicates if this handler can validate a . + + 'true', indicating this instance can validate a . + + + + Gets the value that indicates if this instance can write a . + + 'true', indicating this instance can write a . + + + + Gets the type of the . + + The type of + + + + Determines if the string is a well formed Json Web Token (JWT). + See: https://datatracker.ietf.org/doc/html/rfc7519 + + String that should represent a valid JWT. + Uses matching one of: + JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$" + + + 'false' if the token is null or whitespace. + 'false' if token.Length is greater than . + 'true' if the token is in JSON compact serialization format. + + + + + Returns a Json Web Token (JWT). + + A that contains details of contents of the token. + A JWS and JWE can be returned. + If is provided, then a JWE will be created. + If is provided then a JWS will be created. + If both are provided then a JWE with an embedded JWS will be created. + + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + If is not null, then a claim { actort, 'value' } will be added to the payload. See for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + If is provided, then a JWS will be created. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + Translated into 'epoch time' and assigned to 'nbf'. + Translated into 'epoch time' and assigned to 'exp'. + Translated into 'epoch time' and assigned to 'iat'. + Contains cryptographic material for signing. + Contains cryptographic material for encrypting. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + If 'expires' <= 'notBefore'. + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + Translated into 'epoch time' and assigned to 'nbf'. + Translated into 'epoch time' and assigned to 'exp'. + Translated into 'epoch time' and assigned to 'iat'. + Contains cryptographic material for signing. + Contains cryptographic material for encrypting. + A collection of (key,value) pairs representing (s) for this token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + If 'expires' <= 'notBefore'. + + + + Creates a Json Web Token (JWT). + + A that contains details of contents of the token. + is used to sign . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + Contains cryptographic material for encrypting the token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + is used to encrypt or . + + A . + If <= . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + Contains cryptographic material for encrypting the token. + A collection of (key,value) pairs representing (s) for this token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + is used to encrypt or . + + A . + If <= . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + + A . + If <= . + + + + Creates a Json Web Token (JWT). + + A that contains details of contents of the token. + is used to sign . + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use to ensure the token is acceptable. + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use to ensure the token is acceptable. + + + + Deserializes token with the provided . + + . + The current . + The + This method is not current supported. + + + + Reads and validates a 'JSON Web Token' (JWT) encoded as a JWS or JWE in Compact Serialized Format. + + the JWT encoded as JWE or JWS + Contains validation parameters for the . + The that was validated. + is null or whitespace. + is null. + .Length is greater than . + does not have 3 or 5 parts. + returns false. + was a JWE was not able to be decrypted. + 'kid' header claim is not null AND decryption fails. + 'enc' header claim is null or empty. + 'exp' claim is < DateTime.UtcNow. + is null or whitespace and is null. Audience is not validated if is set to false. + 'aud' claim did not match either or one of . + 'nbf' claim is > 'exp' claim. + .signature is not properly formatted. + 'exp' claim is missing and is true. + is not null and expirationTime.HasValue is false. When a TokenReplayCache is set, tokens require an expiration time. + 'nbf' claim is > DateTime.UtcNow. + could not be added to the . + is found in the cache. + A from the JWT. Does not include claims found in the JWT header. + + Many of the exceptions listed above are not thrown directly from this method. See to examine the call graph. + + + + + Private method for token validation, responsible for: + (1) Obtaining a configuration from the . + (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it. + + The JWS string, or the decrypted token if the token is a JWE. + If the token being validated is a JWE, this is the that represents the outer token. + If the token is a JWS, the value of this parameter is . + + The to be used for validation. + The that was validated. + A from the JWT. Does not include claims found in the JWT header. + + + + Validates the JSON payload of a . + + The token to validate. + Contains validation parameters for the . + A from the jwt. Does not include the header claims. + + + + Serializes a into a JWT in Compact Serialization Format. + + to serialize. + + The JWT will be serialized as a JWE or JWS. + will be used to create the JWT. If there is an inner token, the inner token's payload will be used. + If either or .SigningCredentials are set, the JWT will be signed. + If is set, a JWE will be created using the JWT above as the plaintext. + + is null. + 'token' is not a not . + both and are set. + both and .EncryptingCredentials are set. + if is set and is not set. + A JWE or JWS in 'Compact Serialization Format'. + + + + Obtains a and validates the signature. + + Bytes to validate. + Signature to compare against. + to use. + Crypto algorithm to use. + The being validated. + Priority will be given to over . + 'true' if signature is valid. + + + + Validates that the signature, if found or required, is valid. + + A JWS token. + that contains signing keys. + If is null or whitespace. + If is null. + If a signature is not found and is true. + + If the has a key identifier and none of the (s) provided result in a validated signature. + This can indicate that a key refresh is required. + + If after trying all the (s), none result in a validated signature AND the does not have a key identifier. + A that has the signature validated if token was signed. + If the is signed, the signature is validated even if is false. + If the signature is validated, then the will be set to the key that signed the 'token'.It is the responsibility of to set the + + + + Creates a from a . + + The to use as a source. + The value to set + Contains parameters for validating the token. + A containing the . + + + + Creates the 'value' for the actor claim: { actort, 'value' } + + as actor. + representing the actor. + If is not null: +   If 'type' is 'string', return as string. +   if 'type' is 'BootstrapContext' and 'BootstrapContext.SecurityToken' is 'JwtSecurityToken' +     if 'JwtSecurityToken.RawData' != null, return RawData. +     else return . +   if 'BootstrapContext.Token' != null, return 'Token'. + default: new ( ( actor.Claims ). + + 'actor' is null. + + + + Determines if the audiences found in a are valid. + + The audiences found in the . + The being validated. + required for validation. + See for additional details. + + + + Validates the lifetime of a . + + The value of the 'nbf' claim if it exists in the 'jwtToken'. + The value of the 'exp' claim if it exists in the 'jwtToken'. + The being validated. + required for validation. + for additional details. + + + + Determines if the issuer found in a is valid. + + The issuer to validate + The that is being validated. + required for validation. + The issuer to use when creating the (s) in the . + for additional details. + + + + Determines if a is already validated. + + The value of the 'exp' claim if it exists in the '. + The that is being validated. + required for validation. + + + + Returns a to use when validating the signature of a token. + + The representation of the token that is being validated. + The that is being validated. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Returns a to use when decryption a JWE. + + The the token that is being decrypted. + The that is being decrypted. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Decrypts a JWE and returns the clear text + + the JWE that contains the cypher text. + contains crypto material. + the decoded / cleartext contents of the JWE. + if is null. + if is null. + if 'jwtToken.Header.enc' is null or empty. + if 'jwtToken.Header.kid' is not null AND decryption fails. + if the JWE was not able to be decrypted. + + + + Validates the is an expected value. + + The that signed the . + The to validate. + The current . + If the is a then the X509Certificate2 will be validated using the CertificateValidator. + + + + Serializes to XML a token of the type handled by this instance. + + The XML writer. + A token of type . + + + + + + + Log messages and codes + + + + diff --git a/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net472/System.IdentityModel.Tokens.Jwt.xml b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net472/System.IdentityModel.Tokens.Jwt.xml new file mode 100644 index 000000000..ad733854d --- /dev/null +++ b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net472/System.IdentityModel.Tokens.Jwt.xml @@ -0,0 +1,1548 @@ + + + + System.IdentityModel.Tokens.Jwt + + + + + Constants that indicate how the should be evaluated. + + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonObject, the will be set to "JSON". + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonArray, the will be set to "JSON_ARRAY". + + + + A value that indicates the is Json null. + + When creating a the cannot be null. If the Json value was null, then the + will be set to and the will be set to "JSON_NULL". + + + + Constants for Json Web tokens. + + + + + Short header type. + + + + + Long header type. + + + + + Short token type. + + + + + Long token type. + + + + + JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required. + + + + + JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'. + + + + + The number of parts in a JWE token. + + + + + The number of parts in a JWS token. + + + + + The maximum number of parts in a JWT. + + + + + JWE header alg indicating a shared symmetric key is directly used as CEK. + + + + + Initializes a new instance of which contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. + The member names within the JWT Header are referred to as Header Parameter Names. + These names MUST be unique and the values must be (s). The corresponding values are referred to as Header Parameter Values. + + + + + Initializes a new instance of the class. Default string comparer . + + + + + Initializes a new instance of the class. Default string comparer . + + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used creating a JWS Compact JSON. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Alg }, { enc, EncryptingCredentials.Enc } } + + used creating a JWE Compact JSON. + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type + Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + provides the token type + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + provides the token type + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + If 'encryptingCredentials' is null. + + + + Gets the signature algorithm that was used to create the signature. + + If the signature algorithm is not found, null is returned. + + + + Gets the content mime type (Cty) of the token. + + If the content mime type is not found, null is returned. + + + + Gets the encryption algorithm (Enc) of the token. + + If the content mime type is not found, null is returned. + + + + Gets the passed in the constructor. + + This value may be null. + + + + Gets the iv of symmetric key wrap. + + + + + Gets the key identifier for the security key used to sign the token + + + + + Gets the passed in the constructor. + + This value may be null. + + + + Gets the mime type (Typ) of the token. + + If the mime type is not found, null is returned. + + + + Gets the thumbprint of the certificate used to sign the token + + + + + Gets the certificate used to sign the token + + If the 'x5c' claim is not found, null is returned. + + + + Gets the 'value' of the 'zip' claim { zip, 'value' }. + + If the 'zip' claim is not found, null is returned. + + + + Deserializes Base64UrlEncoded JSON into a instance. + + Base64url encoded JSON to deserialize. + An instance of . + + + + Encodes this instance as Base64UrlEncoded JSON. + + Base64UrlEncoded JSON. + + + + Gets a standard claim from the header. + A standard claim is either a string or a value of another type serialized in JSON format. + + The key of the claim. + The standard claim string; or null if not found. + + + + Serializes this instance to JSON. + + This instance as JSON. + + + + List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5. + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#page-12 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3 + + + + + Initializes a new instance of which contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }. + + + + + Initializes a new instance of the class with no claims. Default string comparer . + Creates a empty + + + + + Initializes a new instance of the class with . Default string comparer . + The claims to add. + + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' if present. + Comparison is set to + The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims'. The values will be overridden. + If 'expires' <= 'notbefore'. + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' and 'claimCollection' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' or 'claimCollection' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If both and are not null then the values in claims will be combined with the values in claimsCollection. The values found in claimCollection take precedence over those found in claims, so any duplicate + values will be overridden. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' and 'claimcollection' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' and 'claimcollection' if present. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' and 'claimcollection' if present. + Comparison is set to + The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims' and 'claimcollection'. The values will be overridden. + If 'expires' <= 'notbefore'. + + + + Adds Nbf, Exp, Iat, Iss and Aud claims to payload + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in instance. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in instance. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in instance. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in instance. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in instance. + + + + Gets the 'value' of the 'actor' claim { actort, 'value' }. + + If the 'actor' claim is not found, null is returned. + + + + Gets the 'value' of the 'acr' claim { acr, 'value' }. + + If the 'acr' claim is not found, null is returned. + + + + Gets the 'value' of the 'amr' claim { amr, 'value' } as list of strings. + + If the 'amr' claim is not found, an empty enumerable is returned. + + + + Gets the 'value' of the 'auth_time' claim { auth_time, 'value' }. + + If the 'auth_time' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'audience' claim { aud, 'value' } as a list of strings. + + If the 'audience' claim is not found, an empty enumerable is returned. + + + + Gets the 'value' of the 'azp' claim { azp, 'value' }. + + If the 'azp' claim is not found, null is returned. + + + + Gets 'value' of the 'c_hash' claim { c_hash, 'value' }. + + If the 'c_hash' claim is not found, null is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' }. + + If the 'expiration' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' }. + + If the 'expiration' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'JWT ID' claim { jti, 'value' }. + + If the 'JWT ID' claim is not found, null is returned. + + + + Gets the 'value' of the 'Issued At' claim { iat, 'value' }. + + If the 'Issued At' claim is not found OR cannot be converted to null is returned. + + + + Gets the 'value' of the 'issuer' claim { iss, 'value' }. + + If the 'issuer' claim is not found, null is returned. + + + + Gets the 'value' of the 'expiration' claim { nbf, 'value' }. + + If the 'notbefore' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'nonce' claim { nonce, 'value' }. + + If the 'nonce' claim is not found, null is returned. + + + + Gets the 'value' of the 'notebefore' claim { nbf, 'value' }. + + If the 'notbefore' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'subject' claim { sub, 'value' }. + + If the 'subject' claim is not found, null is returned. + + + + Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'notbefore' claim is not found, then is returned. Time is returned as UTC. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'expiration' claim is not found, then is returned. + + + + Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'issued at' claim is not found, then is returned. + + + + Gets a for each JSON { name, value }. + + Each (s) returned will have the translated according to the mapping found in . Adding and removing to will affect the value of the . + and will be set to the value of ( if null). + + + + Adds a JSON object representing the to the + + { 'Claim.Type', 'Claim.Value' } is added. If a JSON object is found with the name == then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + See For details on how is applied. + 'claim' is null. + + + + Adds a number of to the as JSON { name, value } pairs. + + For each a JSON pair { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + + Any in the that is null, will be ignored. + is null. + + + + Adds claims from dictionary. + + A dictionary of claims. + If a key is already present in target dictionary, its claimValue is overridden by the claimValue of the key in claimsCollection. + + + + Serializes this instance to JSON. + + This instance as JSON. + + + + Deserializes Base64UrlEncoded JSON into a . + + Base64url encoded JSON to deserialize. + An instance of . + + + + Encodes this instance as Base64UrlEncoded JSON. + + Base64UrlEncoded JSON. + + + + Deserialzes JSON into a instance. + + The JSON to deserialize. + An instance of . + + + + List of registered claims from different sources + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + + + + + http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-5 + + + + + + + + + + + + + A designed for representing a JSON Web Token (JWT). + + + + + Initializes a new instance of from a string in JWS Compact serialized format. + + A JSON Web Token that has been serialized in JWS Compact serialized format. + 'jwtEncodedString' is null or contains only whitespace. + 'jwtEncodedString' contains only whitespace. + 'jwtEncodedString' is not in JWE format. + 'jwtEncodedString' is not in JWS or JWE format. + + The contents of this have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using + + + + + Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations. + + Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT + Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value } + base64urlencoded JwtHeader + base64urlencoded JwtPayload + base64urlencoded JwtSignature + 'header' is null. + 'payload' is null. + 'rawSignature' is null. + 'rawHeader' or 'rawPayload' is null or whitespace. + + + + Initializes an instance of where the contains the crypto algorithms applied to the innerToken . + + Defines cryptographic operations applied to the 'innerToken'. + + base64urlencoded key + base64urlencoded JwtHeader + base64urlencoded initialization vector. + base64urlencoded encrypted innerToken + base64urlencoded authentication tag. + 'header' is null. + 'innerToken' is null. + 'rawHeader' is null. + 'rawEncryptedKey' is null. + 'rawInitialVector' is null or empty. + 'rawCiphertext' is null or empty. + 'rawAuthenticationTag' is null or empty. + + + + Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations. + + Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT + Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value } + 'header' is null. + 'payload' is null. + + + + Initializes a new instance of the class specifying optional parameters. + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + The that will be used to sign the . See for details pertaining to the Header Parameter(s). + If 'expires' <= 'notbefore'. + + + + Gets the 'value' of the 'actor' claim { actort, 'value' }. + + If the 'actor' claim is not found, null is returned. + + + + Gets the list of 'audience' claim { aud, 'value' }. + + If the 'audience' claim is not found, enumeration will be empty. + + + + Gets the (s) for this token. + If this is a JWE token, this property only returns the encrypted claims; + the unencrypted claims should be read from the header seperately. + + (s) returned will NOT have the translated according to + + + + Gets the Base64UrlEncoded associated with this instance. + + + + + Gets the Base64UrlEncoded associated with this instance. + + + + + Gets the associated with this instance if the token is signed. + + + + + Gets the 'value' of the 'JWT ID' claim { jti, 'value' }. + + If the 'JWT ID' claim is not found, an empty string is returned. + + + + Gets the 'value' of the 'issuer' claim { iss, 'value' }. + + If the 'issuer' claim is not found, an empty string is returned. + + + + Gets the associated with this instance. + Note that if this JWT is nested ( != null, this property represents the payload of the most inner token. + This property can be null if the content type of the most inner token is unrecognized, in that case + the content of the token is the string returned by PlainText property. + + + + + Gets the associated with this instance. + + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the s for this instance. + + + + + Gets the signature algorithm associated with this instance. + + If there is a associated with this instance, a value will be returned. Null otherwise. + + + + Gets the to use when writing this token. + + + + + Gets the to use when writing this token. + + + + + Gets or sets the that signed this instance. + + .ValidateSignature(...) sets this value when a is used to successfully validate a signature. + + + + Gets the "value" of the 'subject' claim { sub, 'value' }. + + If the 'subject' claim is not found, null is returned. + + + + Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'notbefore' claim is not found, then is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'expiration' claim is not found, then is returned. + + + + Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'issued at' claim is not found, then is returned. + + + + Serializes the and + + A string containing the header and payload in JSON format. + + + + + + + Decodes the string into the header, payload and signature. + + the tokenized string. + the original token. + + + + Decodes the base64url encoded payload. + + the encoded payload. + + + + Decodes the payload and signature from the JWE parts. + + Parts of the JWE including the header. + Assumes Header has already been set. + + + + Static class to convert a to a + + + + + Initializes a new instance of a from a + + A JSON Web Token to convert from. + is null + doesn't have set. + + + + A designed for creating and validating Json Web Tokens. See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515 + + + + + Default claim type mapping for inbound claims. + + + + + Default value for the flag that determines whether or not the InboundClaimTypeMap is used. + + + + + Default claim type mapping for outbound claims. + + + + + Default claim type filter list. + + + + + Default JwtHeader algorithm mapping + + + + + Static initializer for a new object. Static initializers run before the first instance of the type is created. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a . + If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs. + The default value is true. + + + + + Gets or sets the which is used when setting the for claims in the extracted when validating a . + The is set to the JSON claim 'name' after translating using this mapping. + The default value is ClaimTypeMapping.InboundClaimTypeMap. + + 'value' is null. + + + + Gets or sets the which is used when creating a from (s). + The JSON claim 'name' value is set to after translating using this mapping. + The default value is ClaimTypeMapping.OutboundClaimTypeMap + + This mapping is applied only when using or . Adding values directly will not result in translation. + 'value' is null. + + + + Gets the outbound algorithm map that is passed to the constructor. + + + + Gets or sets the used to filter claims when populating a claims form a . + When a is validated, claims with types found in this will not be added to the . + The default value is ClaimTypeMapping.InboundClaimFilter. + + 'value' is null. + + + + Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created. + See for more information. + + If .IsNullOrWhiteSpace('value') is true. + + + + Gets or sets the property name of the will contain .Net type that was recognized when serialized the value to JSON. + See for more information. + + If .IsNullOrWhiteSpace('value') is true. + + + + Returns a value that indicates if this handler can validate a . + + 'true', indicating this instance can validate a . + + + + Gets the value that indicates if this instance can write a . + + 'true', indicating this instance can write a . + + + + Gets the type of the . + + The type of + + + + Determines if the string is a well formed Json Web Token (JWT). + See: https://datatracker.ietf.org/doc/html/rfc7519 + + String that should represent a valid JWT. + Uses matching one of: + JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$" + + + 'false' if the token is null or whitespace. + 'false' if token.Length is greater than . + 'true' if the token is in JSON compact serialization format. + + + + + Returns a Json Web Token (JWT). + + A that contains details of contents of the token. + A JWS and JWE can be returned. + If is provided, then a JWE will be created. + If is provided then a JWS will be created. + If both are provided then a JWE with an embedded JWS will be created. + + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + If is not null, then a claim { actort, 'value' } will be added to the payload. See for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + If is provided, then a JWS will be created. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + Translated into 'epoch time' and assigned to 'nbf'. + Translated into 'epoch time' and assigned to 'exp'. + Translated into 'epoch time' and assigned to 'iat'. + Contains cryptographic material for signing. + Contains cryptographic material for encrypting. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + If 'expires' <= 'notBefore'. + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + Translated into 'epoch time' and assigned to 'nbf'. + Translated into 'epoch time' and assigned to 'exp'. + Translated into 'epoch time' and assigned to 'iat'. + Contains cryptographic material for signing. + Contains cryptographic material for encrypting. + A collection of (key,value) pairs representing (s) for this token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + If 'expires' <= 'notBefore'. + + + + Creates a Json Web Token (JWT). + + A that contains details of contents of the token. + is used to sign . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + Contains cryptographic material for encrypting the token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + is used to encrypt or . + + A . + If <= . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + Contains cryptographic material for encrypting the token. + A collection of (key,value) pairs representing (s) for this token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + is used to encrypt or . + + A . + If <= . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + + A . + If <= . + + + + Creates a Json Web Token (JWT). + + A that contains details of contents of the token. + is used to sign . + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use to ensure the token is acceptable. + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use to ensure the token is acceptable. + + + + Deserializes token with the provided . + + . + The current . + The + This method is not current supported. + + + + Reads and validates a 'JSON Web Token' (JWT) encoded as a JWS or JWE in Compact Serialized Format. + + the JWT encoded as JWE or JWS + Contains validation parameters for the . + The that was validated. + is null or whitespace. + is null. + .Length is greater than . + does not have 3 or 5 parts. + returns false. + was a JWE was not able to be decrypted. + 'kid' header claim is not null AND decryption fails. + 'enc' header claim is null or empty. + 'exp' claim is < DateTime.UtcNow. + is null or whitespace and is null. Audience is not validated if is set to false. + 'aud' claim did not match either or one of . + 'nbf' claim is > 'exp' claim. + .signature is not properly formatted. + 'exp' claim is missing and is true. + is not null and expirationTime.HasValue is false. When a TokenReplayCache is set, tokens require an expiration time. + 'nbf' claim is > DateTime.UtcNow. + could not be added to the . + is found in the cache. + A from the JWT. Does not include claims found in the JWT header. + + Many of the exceptions listed above are not thrown directly from this method. See to examine the call graph. + + + + + Private method for token validation, responsible for: + (1) Obtaining a configuration from the . + (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it. + + The JWS string, or the decrypted token if the token is a JWE. + If the token being validated is a JWE, this is the that represents the outer token. + If the token is a JWS, the value of this parameter is . + + The to be used for validation. + The that was validated. + A from the JWT. Does not include claims found in the JWT header. + + + + Validates the JSON payload of a . + + The token to validate. + Contains validation parameters for the . + A from the jwt. Does not include the header claims. + + + + Serializes a into a JWT in Compact Serialization Format. + + to serialize. + + The JWT will be serialized as a JWE or JWS. + will be used to create the JWT. If there is an inner token, the inner token's payload will be used. + If either or .SigningCredentials are set, the JWT will be signed. + If is set, a JWE will be created using the JWT above as the plaintext. + + is null. + 'token' is not a not . + both and are set. + both and .EncryptingCredentials are set. + if is set and is not set. + A JWE or JWS in 'Compact Serialization Format'. + + + + Obtains a and validates the signature. + + Bytes to validate. + Signature to compare against. + to use. + Crypto algorithm to use. + The being validated. + Priority will be given to over . + 'true' if signature is valid. + + + + Validates that the signature, if found or required, is valid. + + A JWS token. + that contains signing keys. + If is null or whitespace. + If is null. + If a signature is not found and is true. + + If the has a key identifier and none of the (s) provided result in a validated signature. + This can indicate that a key refresh is required. + + If after trying all the (s), none result in a validated signature AND the does not have a key identifier. + A that has the signature validated if token was signed. + If the is signed, the signature is validated even if is false. + If the signature is validated, then the will be set to the key that signed the 'token'.It is the responsibility of to set the + + + + Creates a from a . + + The to use as a source. + The value to set + Contains parameters for validating the token. + A containing the . + + + + Creates the 'value' for the actor claim: { actort, 'value' } + + as actor. + representing the actor. + If is not null: +   If 'type' is 'string', return as string. +   if 'type' is 'BootstrapContext' and 'BootstrapContext.SecurityToken' is 'JwtSecurityToken' +     if 'JwtSecurityToken.RawData' != null, return RawData. +     else return . +   if 'BootstrapContext.Token' != null, return 'Token'. + default: new ( ( actor.Claims ). + + 'actor' is null. + + + + Determines if the audiences found in a are valid. + + The audiences found in the . + The being validated. + required for validation. + See for additional details. + + + + Validates the lifetime of a . + + The value of the 'nbf' claim if it exists in the 'jwtToken'. + The value of the 'exp' claim if it exists in the 'jwtToken'. + The being validated. + required for validation. + for additional details. + + + + Determines if the issuer found in a is valid. + + The issuer to validate + The that is being validated. + required for validation. + The issuer to use when creating the (s) in the . + for additional details. + + + + Determines if a is already validated. + + The value of the 'exp' claim if it exists in the '. + The that is being validated. + required for validation. + + + + Returns a to use when validating the signature of a token. + + The representation of the token that is being validated. + The that is being validated. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Returns a to use when decryption a JWE. + + The the token that is being decrypted. + The that is being decrypted. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Decrypts a JWE and returns the clear text + + the JWE that contains the cypher text. + contains crypto material. + the decoded / cleartext contents of the JWE. + if is null. + if is null. + if 'jwtToken.Header.enc' is null or empty. + if 'jwtToken.Header.kid' is not null AND decryption fails. + if the JWE was not able to be decrypted. + + + + Validates the is an expected value. + + The that signed the . + The to validate. + The current . + If the is a then the X509Certificate2 will be validated using the CertificateValidator. + + + + Serializes to XML a token of the type handled by this instance. + + The XML writer. + A token of type . + + + + + + + Log messages and codes + + + + diff --git a/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net6.0/System.IdentityModel.Tokens.Jwt.xml b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net6.0/System.IdentityModel.Tokens.Jwt.xml new file mode 100644 index 000000000..ad733854d --- /dev/null +++ b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net6.0/System.IdentityModel.Tokens.Jwt.xml @@ -0,0 +1,1548 @@ + + + + System.IdentityModel.Tokens.Jwt + + + + + Constants that indicate how the should be evaluated. + + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonObject, the will be set to "JSON". + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonArray, the will be set to "JSON_ARRAY". + + + + A value that indicates the is Json null. + + When creating a the cannot be null. If the Json value was null, then the + will be set to and the will be set to "JSON_NULL". + + + + Constants for Json Web tokens. + + + + + Short header type. + + + + + Long header type. + + + + + Short token type. + + + + + Long token type. + + + + + JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required. + + + + + JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'. + + + + + The number of parts in a JWE token. + + + + + The number of parts in a JWS token. + + + + + The maximum number of parts in a JWT. + + + + + JWE header alg indicating a shared symmetric key is directly used as CEK. + + + + + Initializes a new instance of which contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. + The member names within the JWT Header are referred to as Header Parameter Names. + These names MUST be unique and the values must be (s). The corresponding values are referred to as Header Parameter Values. + + + + + Initializes a new instance of the class. Default string comparer . + + + + + Initializes a new instance of the class. Default string comparer . + + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used creating a JWS Compact JSON. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Alg }, { enc, EncryptingCredentials.Enc } } + + used creating a JWE Compact JSON. + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type + Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + provides the token type + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + provides the token type + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + If 'encryptingCredentials' is null. + + + + Gets the signature algorithm that was used to create the signature. + + If the signature algorithm is not found, null is returned. + + + + Gets the content mime type (Cty) of the token. + + If the content mime type is not found, null is returned. + + + + Gets the encryption algorithm (Enc) of the token. + + If the content mime type is not found, null is returned. + + + + Gets the passed in the constructor. + + This value may be null. + + + + Gets the iv of symmetric key wrap. + + + + + Gets the key identifier for the security key used to sign the token + + + + + Gets the passed in the constructor. + + This value may be null. + + + + Gets the mime type (Typ) of the token. + + If the mime type is not found, null is returned. + + + + Gets the thumbprint of the certificate used to sign the token + + + + + Gets the certificate used to sign the token + + If the 'x5c' claim is not found, null is returned. + + + + Gets the 'value' of the 'zip' claim { zip, 'value' }. + + If the 'zip' claim is not found, null is returned. + + + + Deserializes Base64UrlEncoded JSON into a instance. + + Base64url encoded JSON to deserialize. + An instance of . + + + + Encodes this instance as Base64UrlEncoded JSON. + + Base64UrlEncoded JSON. + + + + Gets a standard claim from the header. + A standard claim is either a string or a value of another type serialized in JSON format. + + The key of the claim. + The standard claim string; or null if not found. + + + + Serializes this instance to JSON. + + This instance as JSON. + + + + List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5. + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#page-12 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3 + + + + + Initializes a new instance of which contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }. + + + + + Initializes a new instance of the class with no claims. Default string comparer . + Creates a empty + + + + + Initializes a new instance of the class with . Default string comparer . + The claims to add. + + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' if present. + Comparison is set to + The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims'. The values will be overridden. + If 'expires' <= 'notbefore'. + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' and 'claimCollection' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' or 'claimCollection' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If both and are not null then the values in claims will be combined with the values in claimsCollection. The values found in claimCollection take precedence over those found in claims, so any duplicate + values will be overridden. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' and 'claimcollection' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' and 'claimcollection' if present. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' and 'claimcollection' if present. + Comparison is set to + The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims' and 'claimcollection'. The values will be overridden. + If 'expires' <= 'notbefore'. + + + + Adds Nbf, Exp, Iat, Iss and Aud claims to payload + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in instance. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in instance. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in instance. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in instance. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in instance. + + + + Gets the 'value' of the 'actor' claim { actort, 'value' }. + + If the 'actor' claim is not found, null is returned. + + + + Gets the 'value' of the 'acr' claim { acr, 'value' }. + + If the 'acr' claim is not found, null is returned. + + + + Gets the 'value' of the 'amr' claim { amr, 'value' } as list of strings. + + If the 'amr' claim is not found, an empty enumerable is returned. + + + + Gets the 'value' of the 'auth_time' claim { auth_time, 'value' }. + + If the 'auth_time' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'audience' claim { aud, 'value' } as a list of strings. + + If the 'audience' claim is not found, an empty enumerable is returned. + + + + Gets the 'value' of the 'azp' claim { azp, 'value' }. + + If the 'azp' claim is not found, null is returned. + + + + Gets 'value' of the 'c_hash' claim { c_hash, 'value' }. + + If the 'c_hash' claim is not found, null is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' }. + + If the 'expiration' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' }. + + If the 'expiration' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'JWT ID' claim { jti, 'value' }. + + If the 'JWT ID' claim is not found, null is returned. + + + + Gets the 'value' of the 'Issued At' claim { iat, 'value' }. + + If the 'Issued At' claim is not found OR cannot be converted to null is returned. + + + + Gets the 'value' of the 'issuer' claim { iss, 'value' }. + + If the 'issuer' claim is not found, null is returned. + + + + Gets the 'value' of the 'expiration' claim { nbf, 'value' }. + + If the 'notbefore' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'nonce' claim { nonce, 'value' }. + + If the 'nonce' claim is not found, null is returned. + + + + Gets the 'value' of the 'notebefore' claim { nbf, 'value' }. + + If the 'notbefore' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'subject' claim { sub, 'value' }. + + If the 'subject' claim is not found, null is returned. + + + + Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'notbefore' claim is not found, then is returned. Time is returned as UTC. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'expiration' claim is not found, then is returned. + + + + Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'issued at' claim is not found, then is returned. + + + + Gets a for each JSON { name, value }. + + Each (s) returned will have the translated according to the mapping found in . Adding and removing to will affect the value of the . + and will be set to the value of ( if null). + + + + Adds a JSON object representing the to the + + { 'Claim.Type', 'Claim.Value' } is added. If a JSON object is found with the name == then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + See For details on how is applied. + 'claim' is null. + + + + Adds a number of to the as JSON { name, value } pairs. + + For each a JSON pair { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + + Any in the that is null, will be ignored. + is null. + + + + Adds claims from dictionary. + + A dictionary of claims. + If a key is already present in target dictionary, its claimValue is overridden by the claimValue of the key in claimsCollection. + + + + Serializes this instance to JSON. + + This instance as JSON. + + + + Deserializes Base64UrlEncoded JSON into a . + + Base64url encoded JSON to deserialize. + An instance of . + + + + Encodes this instance as Base64UrlEncoded JSON. + + Base64UrlEncoded JSON. + + + + Deserialzes JSON into a instance. + + The JSON to deserialize. + An instance of . + + + + List of registered claims from different sources + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + + + + + http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-5 + + + + + + + + + + + + + A designed for representing a JSON Web Token (JWT). + + + + + Initializes a new instance of from a string in JWS Compact serialized format. + + A JSON Web Token that has been serialized in JWS Compact serialized format. + 'jwtEncodedString' is null or contains only whitespace. + 'jwtEncodedString' contains only whitespace. + 'jwtEncodedString' is not in JWE format. + 'jwtEncodedString' is not in JWS or JWE format. + + The contents of this have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using + + + + + Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations. + + Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT + Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value } + base64urlencoded JwtHeader + base64urlencoded JwtPayload + base64urlencoded JwtSignature + 'header' is null. + 'payload' is null. + 'rawSignature' is null. + 'rawHeader' or 'rawPayload' is null or whitespace. + + + + Initializes an instance of where the contains the crypto algorithms applied to the innerToken . + + Defines cryptographic operations applied to the 'innerToken'. + + base64urlencoded key + base64urlencoded JwtHeader + base64urlencoded initialization vector. + base64urlencoded encrypted innerToken + base64urlencoded authentication tag. + 'header' is null. + 'innerToken' is null. + 'rawHeader' is null. + 'rawEncryptedKey' is null. + 'rawInitialVector' is null or empty. + 'rawCiphertext' is null or empty. + 'rawAuthenticationTag' is null or empty. + + + + Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations. + + Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT + Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value } + 'header' is null. + 'payload' is null. + + + + Initializes a new instance of the class specifying optional parameters. + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + The that will be used to sign the . See for details pertaining to the Header Parameter(s). + If 'expires' <= 'notbefore'. + + + + Gets the 'value' of the 'actor' claim { actort, 'value' }. + + If the 'actor' claim is not found, null is returned. + + + + Gets the list of 'audience' claim { aud, 'value' }. + + If the 'audience' claim is not found, enumeration will be empty. + + + + Gets the (s) for this token. + If this is a JWE token, this property only returns the encrypted claims; + the unencrypted claims should be read from the header seperately. + + (s) returned will NOT have the translated according to + + + + Gets the Base64UrlEncoded associated with this instance. + + + + + Gets the Base64UrlEncoded associated with this instance. + + + + + Gets the associated with this instance if the token is signed. + + + + + Gets the 'value' of the 'JWT ID' claim { jti, 'value' }. + + If the 'JWT ID' claim is not found, an empty string is returned. + + + + Gets the 'value' of the 'issuer' claim { iss, 'value' }. + + If the 'issuer' claim is not found, an empty string is returned. + + + + Gets the associated with this instance. + Note that if this JWT is nested ( != null, this property represents the payload of the most inner token. + This property can be null if the content type of the most inner token is unrecognized, in that case + the content of the token is the string returned by PlainText property. + + + + + Gets the associated with this instance. + + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the s for this instance. + + + + + Gets the signature algorithm associated with this instance. + + If there is a associated with this instance, a value will be returned. Null otherwise. + + + + Gets the to use when writing this token. + + + + + Gets the to use when writing this token. + + + + + Gets or sets the that signed this instance. + + .ValidateSignature(...) sets this value when a is used to successfully validate a signature. + + + + Gets the "value" of the 'subject' claim { sub, 'value' }. + + If the 'subject' claim is not found, null is returned. + + + + Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'notbefore' claim is not found, then is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'expiration' claim is not found, then is returned. + + + + Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'issued at' claim is not found, then is returned. + + + + Serializes the and + + A string containing the header and payload in JSON format. + + + + + + + Decodes the string into the header, payload and signature. + + the tokenized string. + the original token. + + + + Decodes the base64url encoded payload. + + the encoded payload. + + + + Decodes the payload and signature from the JWE parts. + + Parts of the JWE including the header. + Assumes Header has already been set. + + + + Static class to convert a to a + + + + + Initializes a new instance of a from a + + A JSON Web Token to convert from. + is null + doesn't have set. + + + + A designed for creating and validating Json Web Tokens. See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515 + + + + + Default claim type mapping for inbound claims. + + + + + Default value for the flag that determines whether or not the InboundClaimTypeMap is used. + + + + + Default claim type mapping for outbound claims. + + + + + Default claim type filter list. + + + + + Default JwtHeader algorithm mapping + + + + + Static initializer for a new object. Static initializers run before the first instance of the type is created. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a . + If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs. + The default value is true. + + + + + Gets or sets the which is used when setting the for claims in the extracted when validating a . + The is set to the JSON claim 'name' after translating using this mapping. + The default value is ClaimTypeMapping.InboundClaimTypeMap. + + 'value' is null. + + + + Gets or sets the which is used when creating a from (s). + The JSON claim 'name' value is set to after translating using this mapping. + The default value is ClaimTypeMapping.OutboundClaimTypeMap + + This mapping is applied only when using or . Adding values directly will not result in translation. + 'value' is null. + + + + Gets the outbound algorithm map that is passed to the constructor. + + + + Gets or sets the used to filter claims when populating a claims form a . + When a is validated, claims with types found in this will not be added to the . + The default value is ClaimTypeMapping.InboundClaimFilter. + + 'value' is null. + + + + Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created. + See for more information. + + If .IsNullOrWhiteSpace('value') is true. + + + + Gets or sets the property name of the will contain .Net type that was recognized when serialized the value to JSON. + See for more information. + + If .IsNullOrWhiteSpace('value') is true. + + + + Returns a value that indicates if this handler can validate a . + + 'true', indicating this instance can validate a . + + + + Gets the value that indicates if this instance can write a . + + 'true', indicating this instance can write a . + + + + Gets the type of the . + + The type of + + + + Determines if the string is a well formed Json Web Token (JWT). + See: https://datatracker.ietf.org/doc/html/rfc7519 + + String that should represent a valid JWT. + Uses matching one of: + JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$" + + + 'false' if the token is null or whitespace. + 'false' if token.Length is greater than . + 'true' if the token is in JSON compact serialization format. + + + + + Returns a Json Web Token (JWT). + + A that contains details of contents of the token. + A JWS and JWE can be returned. + If is provided, then a JWE will be created. + If is provided then a JWS will be created. + If both are provided then a JWE with an embedded JWS will be created. + + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + If is not null, then a claim { actort, 'value' } will be added to the payload. See for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + If is provided, then a JWS will be created. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + Translated into 'epoch time' and assigned to 'nbf'. + Translated into 'epoch time' and assigned to 'exp'. + Translated into 'epoch time' and assigned to 'iat'. + Contains cryptographic material for signing. + Contains cryptographic material for encrypting. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + If 'expires' <= 'notBefore'. + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + Translated into 'epoch time' and assigned to 'nbf'. + Translated into 'epoch time' and assigned to 'exp'. + Translated into 'epoch time' and assigned to 'iat'. + Contains cryptographic material for signing. + Contains cryptographic material for encrypting. + A collection of (key,value) pairs representing (s) for this token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + If 'expires' <= 'notBefore'. + + + + Creates a Json Web Token (JWT). + + A that contains details of contents of the token. + is used to sign . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + Contains cryptographic material for encrypting the token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + is used to encrypt or . + + A . + If <= . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + Contains cryptographic material for encrypting the token. + A collection of (key,value) pairs representing (s) for this token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + is used to encrypt or . + + A . + If <= . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + + A . + If <= . + + + + Creates a Json Web Token (JWT). + + A that contains details of contents of the token. + is used to sign . + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use to ensure the token is acceptable. + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use to ensure the token is acceptable. + + + + Deserializes token with the provided . + + . + The current . + The + This method is not current supported. + + + + Reads and validates a 'JSON Web Token' (JWT) encoded as a JWS or JWE in Compact Serialized Format. + + the JWT encoded as JWE or JWS + Contains validation parameters for the . + The that was validated. + is null or whitespace. + is null. + .Length is greater than . + does not have 3 or 5 parts. + returns false. + was a JWE was not able to be decrypted. + 'kid' header claim is not null AND decryption fails. + 'enc' header claim is null or empty. + 'exp' claim is < DateTime.UtcNow. + is null or whitespace and is null. Audience is not validated if is set to false. + 'aud' claim did not match either or one of . + 'nbf' claim is > 'exp' claim. + .signature is not properly formatted. + 'exp' claim is missing and is true. + is not null and expirationTime.HasValue is false. When a TokenReplayCache is set, tokens require an expiration time. + 'nbf' claim is > DateTime.UtcNow. + could not be added to the . + is found in the cache. + A from the JWT. Does not include claims found in the JWT header. + + Many of the exceptions listed above are not thrown directly from this method. See to examine the call graph. + + + + + Private method for token validation, responsible for: + (1) Obtaining a configuration from the . + (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it. + + The JWS string, or the decrypted token if the token is a JWE. + If the token being validated is a JWE, this is the that represents the outer token. + If the token is a JWS, the value of this parameter is . + + The to be used for validation. + The that was validated. + A from the JWT. Does not include claims found in the JWT header. + + + + Validates the JSON payload of a . + + The token to validate. + Contains validation parameters for the . + A from the jwt. Does not include the header claims. + + + + Serializes a into a JWT in Compact Serialization Format. + + to serialize. + + The JWT will be serialized as a JWE or JWS. + will be used to create the JWT. If there is an inner token, the inner token's payload will be used. + If either or .SigningCredentials are set, the JWT will be signed. + If is set, a JWE will be created using the JWT above as the plaintext. + + is null. + 'token' is not a not . + both and are set. + both and .EncryptingCredentials are set. + if is set and is not set. + A JWE or JWS in 'Compact Serialization Format'. + + + + Obtains a and validates the signature. + + Bytes to validate. + Signature to compare against. + to use. + Crypto algorithm to use. + The being validated. + Priority will be given to over . + 'true' if signature is valid. + + + + Validates that the signature, if found or required, is valid. + + A JWS token. + that contains signing keys. + If is null or whitespace. + If is null. + If a signature is not found and is true. + + If the has a key identifier and none of the (s) provided result in a validated signature. + This can indicate that a key refresh is required. + + If after trying all the (s), none result in a validated signature AND the does not have a key identifier. + A that has the signature validated if token was signed. + If the is signed, the signature is validated even if is false. + If the signature is validated, then the will be set to the key that signed the 'token'.It is the responsibility of to set the + + + + Creates a from a . + + The to use as a source. + The value to set + Contains parameters for validating the token. + A containing the . + + + + Creates the 'value' for the actor claim: { actort, 'value' } + + as actor. + representing the actor. + If is not null: +   If 'type' is 'string', return as string. +   if 'type' is 'BootstrapContext' and 'BootstrapContext.SecurityToken' is 'JwtSecurityToken' +     if 'JwtSecurityToken.RawData' != null, return RawData. +     else return . +   if 'BootstrapContext.Token' != null, return 'Token'. + default: new ( ( actor.Claims ). + + 'actor' is null. + + + + Determines if the audiences found in a are valid. + + The audiences found in the . + The being validated. + required for validation. + See for additional details. + + + + Validates the lifetime of a . + + The value of the 'nbf' claim if it exists in the 'jwtToken'. + The value of the 'exp' claim if it exists in the 'jwtToken'. + The being validated. + required for validation. + for additional details. + + + + Determines if the issuer found in a is valid. + + The issuer to validate + The that is being validated. + required for validation. + The issuer to use when creating the (s) in the . + for additional details. + + + + Determines if a is already validated. + + The value of the 'exp' claim if it exists in the '. + The that is being validated. + required for validation. + + + + Returns a to use when validating the signature of a token. + + The representation of the token that is being validated. + The that is being validated. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Returns a to use when decryption a JWE. + + The the token that is being decrypted. + The that is being decrypted. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Decrypts a JWE and returns the clear text + + the JWE that contains the cypher text. + contains crypto material. + the decoded / cleartext contents of the JWE. + if is null. + if is null. + if 'jwtToken.Header.enc' is null or empty. + if 'jwtToken.Header.kid' is not null AND decryption fails. + if the JWE was not able to be decrypted. + + + + Validates the is an expected value. + + The that signed the . + The to validate. + The current . + If the is a then the X509Certificate2 will be validated using the CertificateValidator. + + + + Serializes to XML a token of the type handled by this instance. + + The XML writer. + A token of type . + + + + + + + Log messages and codes + + + + diff --git a/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net8.0/System.IdentityModel.Tokens.Jwt.xml b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net8.0/System.IdentityModel.Tokens.Jwt.xml new file mode 100644 index 000000000..ad733854d --- /dev/null +++ b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/net8.0/System.IdentityModel.Tokens.Jwt.xml @@ -0,0 +1,1548 @@ + + + + System.IdentityModel.Tokens.Jwt + + + + + Constants that indicate how the should be evaluated. + + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonObject, the will be set to "JSON". + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonArray, the will be set to "JSON_ARRAY". + + + + A value that indicates the is Json null. + + When creating a the cannot be null. If the Json value was null, then the + will be set to and the will be set to "JSON_NULL". + + + + Constants for Json Web tokens. + + + + + Short header type. + + + + + Long header type. + + + + + Short token type. + + + + + Long token type. + + + + + JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required. + + + + + JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'. + + + + + The number of parts in a JWE token. + + + + + The number of parts in a JWS token. + + + + + The maximum number of parts in a JWT. + + + + + JWE header alg indicating a shared symmetric key is directly used as CEK. + + + + + Initializes a new instance of which contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. + The member names within the JWT Header are referred to as Header Parameter Names. + These names MUST be unique and the values must be (s). The corresponding values are referred to as Header Parameter Values. + + + + + Initializes a new instance of the class. Default string comparer . + + + + + Initializes a new instance of the class. Default string comparer . + + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used creating a JWS Compact JSON. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Alg }, { enc, EncryptingCredentials.Enc } } + + used creating a JWE Compact JSON. + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type + Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + provides the token type + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + provides the token type + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + If 'encryptingCredentials' is null. + + + + Gets the signature algorithm that was used to create the signature. + + If the signature algorithm is not found, null is returned. + + + + Gets the content mime type (Cty) of the token. + + If the content mime type is not found, null is returned. + + + + Gets the encryption algorithm (Enc) of the token. + + If the content mime type is not found, null is returned. + + + + Gets the passed in the constructor. + + This value may be null. + + + + Gets the iv of symmetric key wrap. + + + + + Gets the key identifier for the security key used to sign the token + + + + + Gets the passed in the constructor. + + This value may be null. + + + + Gets the mime type (Typ) of the token. + + If the mime type is not found, null is returned. + + + + Gets the thumbprint of the certificate used to sign the token + + + + + Gets the certificate used to sign the token + + If the 'x5c' claim is not found, null is returned. + + + + Gets the 'value' of the 'zip' claim { zip, 'value' }. + + If the 'zip' claim is not found, null is returned. + + + + Deserializes Base64UrlEncoded JSON into a instance. + + Base64url encoded JSON to deserialize. + An instance of . + + + + Encodes this instance as Base64UrlEncoded JSON. + + Base64UrlEncoded JSON. + + + + Gets a standard claim from the header. + A standard claim is either a string or a value of another type serialized in JSON format. + + The key of the claim. + The standard claim string; or null if not found. + + + + Serializes this instance to JSON. + + This instance as JSON. + + + + List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5. + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#page-12 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3 + + + + + Initializes a new instance of which contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }. + + + + + Initializes a new instance of the class with no claims. Default string comparer . + Creates a empty + + + + + Initializes a new instance of the class with . Default string comparer . + The claims to add. + + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' if present. + Comparison is set to + The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims'. The values will be overridden. + If 'expires' <= 'notbefore'. + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' and 'claimCollection' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' or 'claimCollection' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If both and are not null then the values in claims will be combined with the values in claimsCollection. The values found in claimCollection take precedence over those found in claims, so any duplicate + values will be overridden. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' and 'claimcollection' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' and 'claimcollection' if present. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' and 'claimcollection' if present. + Comparison is set to + The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims' and 'claimcollection'. The values will be overridden. + If 'expires' <= 'notbefore'. + + + + Adds Nbf, Exp, Iat, Iss and Aud claims to payload + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in instance. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in instance. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in instance. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in instance. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in instance. + + + + Gets the 'value' of the 'actor' claim { actort, 'value' }. + + If the 'actor' claim is not found, null is returned. + + + + Gets the 'value' of the 'acr' claim { acr, 'value' }. + + If the 'acr' claim is not found, null is returned. + + + + Gets the 'value' of the 'amr' claim { amr, 'value' } as list of strings. + + If the 'amr' claim is not found, an empty enumerable is returned. + + + + Gets the 'value' of the 'auth_time' claim { auth_time, 'value' }. + + If the 'auth_time' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'audience' claim { aud, 'value' } as a list of strings. + + If the 'audience' claim is not found, an empty enumerable is returned. + + + + Gets the 'value' of the 'azp' claim { azp, 'value' }. + + If the 'azp' claim is not found, null is returned. + + + + Gets 'value' of the 'c_hash' claim { c_hash, 'value' }. + + If the 'c_hash' claim is not found, null is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' }. + + If the 'expiration' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' }. + + If the 'expiration' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'JWT ID' claim { jti, 'value' }. + + If the 'JWT ID' claim is not found, null is returned. + + + + Gets the 'value' of the 'Issued At' claim { iat, 'value' }. + + If the 'Issued At' claim is not found OR cannot be converted to null is returned. + + + + Gets the 'value' of the 'issuer' claim { iss, 'value' }. + + If the 'issuer' claim is not found, null is returned. + + + + Gets the 'value' of the 'expiration' claim { nbf, 'value' }. + + If the 'notbefore' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'nonce' claim { nonce, 'value' }. + + If the 'nonce' claim is not found, null is returned. + + + + Gets the 'value' of the 'notebefore' claim { nbf, 'value' }. + + If the 'notbefore' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'subject' claim { sub, 'value' }. + + If the 'subject' claim is not found, null is returned. + + + + Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'notbefore' claim is not found, then is returned. Time is returned as UTC. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'expiration' claim is not found, then is returned. + + + + Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'issued at' claim is not found, then is returned. + + + + Gets a for each JSON { name, value }. + + Each (s) returned will have the translated according to the mapping found in . Adding and removing to will affect the value of the . + and will be set to the value of ( if null). + + + + Adds a JSON object representing the to the + + { 'Claim.Type', 'Claim.Value' } is added. If a JSON object is found with the name == then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + See For details on how is applied. + 'claim' is null. + + + + Adds a number of to the as JSON { name, value } pairs. + + For each a JSON pair { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + + Any in the that is null, will be ignored. + is null. + + + + Adds claims from dictionary. + + A dictionary of claims. + If a key is already present in target dictionary, its claimValue is overridden by the claimValue of the key in claimsCollection. + + + + Serializes this instance to JSON. + + This instance as JSON. + + + + Deserializes Base64UrlEncoded JSON into a . + + Base64url encoded JSON to deserialize. + An instance of . + + + + Encodes this instance as Base64UrlEncoded JSON. + + Base64UrlEncoded JSON. + + + + Deserialzes JSON into a instance. + + The JSON to deserialize. + An instance of . + + + + List of registered claims from different sources + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + + + + + http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-5 + + + + + + + + + + + + + A designed for representing a JSON Web Token (JWT). + + + + + Initializes a new instance of from a string in JWS Compact serialized format. + + A JSON Web Token that has been serialized in JWS Compact serialized format. + 'jwtEncodedString' is null or contains only whitespace. + 'jwtEncodedString' contains only whitespace. + 'jwtEncodedString' is not in JWE format. + 'jwtEncodedString' is not in JWS or JWE format. + + The contents of this have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using + + + + + Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations. + + Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT + Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value } + base64urlencoded JwtHeader + base64urlencoded JwtPayload + base64urlencoded JwtSignature + 'header' is null. + 'payload' is null. + 'rawSignature' is null. + 'rawHeader' or 'rawPayload' is null or whitespace. + + + + Initializes an instance of where the contains the crypto algorithms applied to the innerToken . + + Defines cryptographic operations applied to the 'innerToken'. + + base64urlencoded key + base64urlencoded JwtHeader + base64urlencoded initialization vector. + base64urlencoded encrypted innerToken + base64urlencoded authentication tag. + 'header' is null. + 'innerToken' is null. + 'rawHeader' is null. + 'rawEncryptedKey' is null. + 'rawInitialVector' is null or empty. + 'rawCiphertext' is null or empty. + 'rawAuthenticationTag' is null or empty. + + + + Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations. + + Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT + Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value } + 'header' is null. + 'payload' is null. + + + + Initializes a new instance of the class specifying optional parameters. + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + The that will be used to sign the . See for details pertaining to the Header Parameter(s). + If 'expires' <= 'notbefore'. + + + + Gets the 'value' of the 'actor' claim { actort, 'value' }. + + If the 'actor' claim is not found, null is returned. + + + + Gets the list of 'audience' claim { aud, 'value' }. + + If the 'audience' claim is not found, enumeration will be empty. + + + + Gets the (s) for this token. + If this is a JWE token, this property only returns the encrypted claims; + the unencrypted claims should be read from the header seperately. + + (s) returned will NOT have the translated according to + + + + Gets the Base64UrlEncoded associated with this instance. + + + + + Gets the Base64UrlEncoded associated with this instance. + + + + + Gets the associated with this instance if the token is signed. + + + + + Gets the 'value' of the 'JWT ID' claim { jti, 'value' }. + + If the 'JWT ID' claim is not found, an empty string is returned. + + + + Gets the 'value' of the 'issuer' claim { iss, 'value' }. + + If the 'issuer' claim is not found, an empty string is returned. + + + + Gets the associated with this instance. + Note that if this JWT is nested ( != null, this property represents the payload of the most inner token. + This property can be null if the content type of the most inner token is unrecognized, in that case + the content of the token is the string returned by PlainText property. + + + + + Gets the associated with this instance. + + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the s for this instance. + + + + + Gets the signature algorithm associated with this instance. + + If there is a associated with this instance, a value will be returned. Null otherwise. + + + + Gets the to use when writing this token. + + + + + Gets the to use when writing this token. + + + + + Gets or sets the that signed this instance. + + .ValidateSignature(...) sets this value when a is used to successfully validate a signature. + + + + Gets the "value" of the 'subject' claim { sub, 'value' }. + + If the 'subject' claim is not found, null is returned. + + + + Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'notbefore' claim is not found, then is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'expiration' claim is not found, then is returned. + + + + Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'issued at' claim is not found, then is returned. + + + + Serializes the and + + A string containing the header and payload in JSON format. + + + + + + + Decodes the string into the header, payload and signature. + + the tokenized string. + the original token. + + + + Decodes the base64url encoded payload. + + the encoded payload. + + + + Decodes the payload and signature from the JWE parts. + + Parts of the JWE including the header. + Assumes Header has already been set. + + + + Static class to convert a to a + + + + + Initializes a new instance of a from a + + A JSON Web Token to convert from. + is null + doesn't have set. + + + + A designed for creating and validating Json Web Tokens. See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515 + + + + + Default claim type mapping for inbound claims. + + + + + Default value for the flag that determines whether or not the InboundClaimTypeMap is used. + + + + + Default claim type mapping for outbound claims. + + + + + Default claim type filter list. + + + + + Default JwtHeader algorithm mapping + + + + + Static initializer for a new object. Static initializers run before the first instance of the type is created. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a . + If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs. + The default value is true. + + + + + Gets or sets the which is used when setting the for claims in the extracted when validating a . + The is set to the JSON claim 'name' after translating using this mapping. + The default value is ClaimTypeMapping.InboundClaimTypeMap. + + 'value' is null. + + + + Gets or sets the which is used when creating a from (s). + The JSON claim 'name' value is set to after translating using this mapping. + The default value is ClaimTypeMapping.OutboundClaimTypeMap + + This mapping is applied only when using or . Adding values directly will not result in translation. + 'value' is null. + + + + Gets the outbound algorithm map that is passed to the constructor. + + + + Gets or sets the used to filter claims when populating a claims form a . + When a is validated, claims with types found in this will not be added to the . + The default value is ClaimTypeMapping.InboundClaimFilter. + + 'value' is null. + + + + Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created. + See for more information. + + If .IsNullOrWhiteSpace('value') is true. + + + + Gets or sets the property name of the will contain .Net type that was recognized when serialized the value to JSON. + See for more information. + + If .IsNullOrWhiteSpace('value') is true. + + + + Returns a value that indicates if this handler can validate a . + + 'true', indicating this instance can validate a . + + + + Gets the value that indicates if this instance can write a . + + 'true', indicating this instance can write a . + + + + Gets the type of the . + + The type of + + + + Determines if the string is a well formed Json Web Token (JWT). + See: https://datatracker.ietf.org/doc/html/rfc7519 + + String that should represent a valid JWT. + Uses matching one of: + JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$" + + + 'false' if the token is null or whitespace. + 'false' if token.Length is greater than . + 'true' if the token is in JSON compact serialization format. + + + + + Returns a Json Web Token (JWT). + + A that contains details of contents of the token. + A JWS and JWE can be returned. + If is provided, then a JWE will be created. + If is provided then a JWS will be created. + If both are provided then a JWE with an embedded JWS will be created. + + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + If is not null, then a claim { actort, 'value' } will be added to the payload. See for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + If is provided, then a JWS will be created. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + Translated into 'epoch time' and assigned to 'nbf'. + Translated into 'epoch time' and assigned to 'exp'. + Translated into 'epoch time' and assigned to 'iat'. + Contains cryptographic material for signing. + Contains cryptographic material for encrypting. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + If 'expires' <= 'notBefore'. + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + Translated into 'epoch time' and assigned to 'nbf'. + Translated into 'epoch time' and assigned to 'exp'. + Translated into 'epoch time' and assigned to 'iat'. + Contains cryptographic material for signing. + Contains cryptographic material for encrypting. + A collection of (key,value) pairs representing (s) for this token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + If 'expires' <= 'notBefore'. + + + + Creates a Json Web Token (JWT). + + A that contains details of contents of the token. + is used to sign . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + Contains cryptographic material for encrypting the token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + is used to encrypt or . + + A . + If <= . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + Contains cryptographic material for encrypting the token. + A collection of (key,value) pairs representing (s) for this token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + is used to encrypt or . + + A . + If <= . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + + A . + If <= . + + + + Creates a Json Web Token (JWT). + + A that contains details of contents of the token. + is used to sign . + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use to ensure the token is acceptable. + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use to ensure the token is acceptable. + + + + Deserializes token with the provided . + + . + The current . + The + This method is not current supported. + + + + Reads and validates a 'JSON Web Token' (JWT) encoded as a JWS or JWE in Compact Serialized Format. + + the JWT encoded as JWE or JWS + Contains validation parameters for the . + The that was validated. + is null or whitespace. + is null. + .Length is greater than . + does not have 3 or 5 parts. + returns false. + was a JWE was not able to be decrypted. + 'kid' header claim is not null AND decryption fails. + 'enc' header claim is null or empty. + 'exp' claim is < DateTime.UtcNow. + is null or whitespace and is null. Audience is not validated if is set to false. + 'aud' claim did not match either or one of . + 'nbf' claim is > 'exp' claim. + .signature is not properly formatted. + 'exp' claim is missing and is true. + is not null and expirationTime.HasValue is false. When a TokenReplayCache is set, tokens require an expiration time. + 'nbf' claim is > DateTime.UtcNow. + could not be added to the . + is found in the cache. + A from the JWT. Does not include claims found in the JWT header. + + Many of the exceptions listed above are not thrown directly from this method. See to examine the call graph. + + + + + Private method for token validation, responsible for: + (1) Obtaining a configuration from the . + (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it. + + The JWS string, or the decrypted token if the token is a JWE. + If the token being validated is a JWE, this is the that represents the outer token. + If the token is a JWS, the value of this parameter is . + + The to be used for validation. + The that was validated. + A from the JWT. Does not include claims found in the JWT header. + + + + Validates the JSON payload of a . + + The token to validate. + Contains validation parameters for the . + A from the jwt. Does not include the header claims. + + + + Serializes a into a JWT in Compact Serialization Format. + + to serialize. + + The JWT will be serialized as a JWE or JWS. + will be used to create the JWT. If there is an inner token, the inner token's payload will be used. + If either or .SigningCredentials are set, the JWT will be signed. + If is set, a JWE will be created using the JWT above as the plaintext. + + is null. + 'token' is not a not . + both and are set. + both and .EncryptingCredentials are set. + if is set and is not set. + A JWE or JWS in 'Compact Serialization Format'. + + + + Obtains a and validates the signature. + + Bytes to validate. + Signature to compare against. + to use. + Crypto algorithm to use. + The being validated. + Priority will be given to over . + 'true' if signature is valid. + + + + Validates that the signature, if found or required, is valid. + + A JWS token. + that contains signing keys. + If is null or whitespace. + If is null. + If a signature is not found and is true. + + If the has a key identifier and none of the (s) provided result in a validated signature. + This can indicate that a key refresh is required. + + If after trying all the (s), none result in a validated signature AND the does not have a key identifier. + A that has the signature validated if token was signed. + If the is signed, the signature is validated even if is false. + If the signature is validated, then the will be set to the key that signed the 'token'.It is the responsibility of to set the + + + + Creates a from a . + + The to use as a source. + The value to set + Contains parameters for validating the token. + A containing the . + + + + Creates the 'value' for the actor claim: { actort, 'value' } + + as actor. + representing the actor. + If is not null: +   If 'type' is 'string', return as string. +   if 'type' is 'BootstrapContext' and 'BootstrapContext.SecurityToken' is 'JwtSecurityToken' +     if 'JwtSecurityToken.RawData' != null, return RawData. +     else return . +   if 'BootstrapContext.Token' != null, return 'Token'. + default: new ( ( actor.Claims ). + + 'actor' is null. + + + + Determines if the audiences found in a are valid. + + The audiences found in the . + The being validated. + required for validation. + See for additional details. + + + + Validates the lifetime of a . + + The value of the 'nbf' claim if it exists in the 'jwtToken'. + The value of the 'exp' claim if it exists in the 'jwtToken'. + The being validated. + required for validation. + for additional details. + + + + Determines if the issuer found in a is valid. + + The issuer to validate + The that is being validated. + required for validation. + The issuer to use when creating the (s) in the . + for additional details. + + + + Determines if a is already validated. + + The value of the 'exp' claim if it exists in the '. + The that is being validated. + required for validation. + + + + Returns a to use when validating the signature of a token. + + The representation of the token that is being validated. + The that is being validated. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Returns a to use when decryption a JWE. + + The the token that is being decrypted. + The that is being decrypted. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Decrypts a JWE and returns the clear text + + the JWE that contains the cypher text. + contains crypto material. + the decoded / cleartext contents of the JWE. + if is null. + if is null. + if 'jwtToken.Header.enc' is null or empty. + if 'jwtToken.Header.kid' is not null AND decryption fails. + if the JWE was not able to be decrypted. + + + + Validates the is an expected value. + + The that signed the . + The to validate. + The current . + If the is a then the X509Certificate2 will be validated using the CertificateValidator. + + + + Serializes to XML a token of the type handled by this instance. + + The XML writer. + A token of type . + + + + + + + Log messages and codes + + + + diff --git a/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml new file mode 100644 index 000000000..ad733854d --- /dev/null +++ b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/lib/netstandard2.0/System.IdentityModel.Tokens.Jwt.xml @@ -0,0 +1,1548 @@ + + + + System.IdentityModel.Tokens.Jwt + + + + + Constants that indicate how the should be evaluated. + + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonObject, the will be set to "JSON". + + + + A value that indicates the is a Json object. + + When creating a from Json if the value was not a simple type {String, Null, True, False, Number} + then will contain the Json value. If the Json was a JsonArray, the will be set to "JSON_ARRAY". + + + + A value that indicates the is Json null. + + When creating a the cannot be null. If the Json value was null, then the + will be set to and the will be set to "JSON_NULL". + + + + Constants for Json Web tokens. + + + + + Short header type. + + + + + Long header type. + + + + + Short token type. + + + + + Long token type. + + + + + JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required. + + + + + JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'. + + + + + The number of parts in a JWE token. + + + + + The number of parts in a JWS token. + + + + + The maximum number of parts in a JWT. + + + + + JWE header alg indicating a shared symmetric key is directly used as CEK. + + + + + Initializes a new instance of which contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. + The member names within the JWT Header are referred to as Header Parameter Names. + These names MUST be unique and the values must be (s). The corresponding values are referred to as Header Parameter Values. + + + + + Initializes a new instance of the class. Default string comparer . + + + + + Initializes a new instance of the class. Default string comparer . + + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used creating a JWS Compact JSON. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Alg }, { enc, EncryptingCredentials.Enc } } + + used creating a JWE Compact JSON. + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, SigningCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + will be added as the value for the 'typ' claim in the header. If it is null or empty will be used as token type + Defines the dictionary containing any custom header claims that need to be added to the inner JWT token header. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + provides the token type + If 'encryptingCredentials' is null. + + + + Initializes a new instance of . + With the Header Parameters: + { { typ, JWT }, { alg, EncryptingCredentials.Algorithm } } + + used when creating a JWS Compact JSON. + provides a mapping for the 'alg' value so that values are within the JWT namespace. + provides the token type + Defines the dictionary containing any custom header claims that need to be added to the outer JWT token header. + If 'encryptingCredentials' is null. + + + + Gets the signature algorithm that was used to create the signature. + + If the signature algorithm is not found, null is returned. + + + + Gets the content mime type (Cty) of the token. + + If the content mime type is not found, null is returned. + + + + Gets the encryption algorithm (Enc) of the token. + + If the content mime type is not found, null is returned. + + + + Gets the passed in the constructor. + + This value may be null. + + + + Gets the iv of symmetric key wrap. + + + + + Gets the key identifier for the security key used to sign the token + + + + + Gets the passed in the constructor. + + This value may be null. + + + + Gets the mime type (Typ) of the token. + + If the mime type is not found, null is returned. + + + + Gets the thumbprint of the certificate used to sign the token + + + + + Gets the certificate used to sign the token + + If the 'x5c' claim is not found, null is returned. + + + + Gets the 'value' of the 'zip' claim { zip, 'value' }. + + If the 'zip' claim is not found, null is returned. + + + + Deserializes Base64UrlEncoded JSON into a instance. + + Base64url encoded JSON to deserialize. + An instance of . + + + + Encodes this instance as Base64UrlEncoded JSON. + + Base64UrlEncoded JSON. + + + + Gets a standard claim from the header. + A standard claim is either a string or a value of another type serialized in JSON format. + + The key of the claim. + The standard claim string; or null if not found. + + + + Serializes this instance to JSON. + + This instance as JSON. + + + + List of header parameter names see: https://datatracker.ietf.org/doc/html/rfc7519#section-5. + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9 + Also: https://datatracker.ietf.org/doc/html/rfc7519#section-5.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#page-12 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2 + + + + + See: https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3 + + + + + Initializes a new instance of which contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }. + + + + + Initializes a new instance of the class with no claims. Default string comparer . + Creates a empty + + + + + Initializes a new instance of the class with . Default string comparer . + The claims to add. + + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' if present. + Comparison is set to + The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims'. The values will be overridden. + If 'expires' <= 'notbefore'. + + + + Initializes a new instance of the class with claims added for each parameter specified. Default string comparer . + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' and 'claimCollection' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' or 'claimCollection' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If both and are not null then the values in claims will be combined with the values in claimsCollection. The values found in claimCollection take precedence over those found in claims, so any duplicate + values will be overridden. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' and 'claimcollection' if present. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' and 'claimcollection' if present. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in 'claims' and 'claimcollection' if present. + Comparison is set to + The 4 parameters: 'issuer', 'audience', 'notBefore', 'expires' take precedence over (s) in 'claims' and 'claimcollection'. The values will be overridden. + If 'expires' <= 'notbefore'. + + + + Adds Nbf, Exp, Iat, Iss and Aud claims to payload + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in instance. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in instance. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in instance. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in instance. + If issuedAt.HasValue is 'true' a { iat, 'value' } claim is added, overwriting any 'iat' claim in instance. + + + + Gets the 'value' of the 'actor' claim { actort, 'value' }. + + If the 'actor' claim is not found, null is returned. + + + + Gets the 'value' of the 'acr' claim { acr, 'value' }. + + If the 'acr' claim is not found, null is returned. + + + + Gets the 'value' of the 'amr' claim { amr, 'value' } as list of strings. + + If the 'amr' claim is not found, an empty enumerable is returned. + + + + Gets the 'value' of the 'auth_time' claim { auth_time, 'value' }. + + If the 'auth_time' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'audience' claim { aud, 'value' } as a list of strings. + + If the 'audience' claim is not found, an empty enumerable is returned. + + + + Gets the 'value' of the 'azp' claim { azp, 'value' }. + + If the 'azp' claim is not found, null is returned. + + + + Gets 'value' of the 'c_hash' claim { c_hash, 'value' }. + + If the 'c_hash' claim is not found, null is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' }. + + If the 'expiration' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' }. + + If the 'expiration' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'JWT ID' claim { jti, 'value' }. + + If the 'JWT ID' claim is not found, null is returned. + + + + Gets the 'value' of the 'Issued At' claim { iat, 'value' }. + + If the 'Issued At' claim is not found OR cannot be converted to null is returned. + + + + Gets the 'value' of the 'issuer' claim { iss, 'value' }. + + If the 'issuer' claim is not found, null is returned. + + + + Gets the 'value' of the 'expiration' claim { nbf, 'value' }. + + If the 'notbefore' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'nonce' claim { nonce, 'value' }. + + If the 'nonce' claim is not found, null is returned. + + + + Gets the 'value' of the 'notebefore' claim { nbf, 'value' }. + + If the 'notbefore' claim is not found OR could not be converted to , null is returned. + + + + Gets the 'value' of the 'subject' claim { sub, 'value' }. + + If the 'subject' claim is not found, null is returned. + + + + Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'notbefore' claim is not found, then is returned. Time is returned as UTC. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'expiration' claim is not found, then is returned. + + + + Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'issued at' claim is not found, then is returned. + + + + Gets a for each JSON { name, value }. + + Each (s) returned will have the translated according to the mapping found in . Adding and removing to will affect the value of the . + and will be set to the value of ( if null). + + + + Adds a JSON object representing the to the + + { 'Claim.Type', 'Claim.Value' } is added. If a JSON object is found with the name == then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + See For details on how is applied. + 'claim' is null. + + + + Adds a number of to the as JSON { name, value } pairs. + + For each a JSON pair { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + + Any in the that is null, will be ignored. + is null. + + + + Adds claims from dictionary. + + A dictionary of claims. + If a key is already present in target dictionary, its claimValue is overridden by the claimValue of the key in claimsCollection. + + + + Serializes this instance to JSON. + + This instance as JSON. + + + + Deserializes Base64UrlEncoded JSON into a . + + Base64url encoded JSON to deserialize. + An instance of . + + + + Encodes this instance as Base64UrlEncoded JSON. + + Base64UrlEncoded JSON. + + + + Deserialzes JSON into a instance. + + The JSON to deserialize. + An instance of . + + + + List of registered claims from different sources + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#IDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken + + + + + http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims + + + + + + + + + https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + + + + + http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-4 + + + + + https://datatracker.ietf.org/doc/html/rfc7519#section-5 + + + + + + + + + + + + + A designed for representing a JSON Web Token (JWT). + + + + + Initializes a new instance of from a string in JWS Compact serialized format. + + A JSON Web Token that has been serialized in JWS Compact serialized format. + 'jwtEncodedString' is null or contains only whitespace. + 'jwtEncodedString' contains only whitespace. + 'jwtEncodedString' is not in JWE format. + 'jwtEncodedString' is not in JWS or JWE format. + + The contents of this have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using + + + + + Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations. + + Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT + Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value } + base64urlencoded JwtHeader + base64urlencoded JwtPayload + base64urlencoded JwtSignature + 'header' is null. + 'payload' is null. + 'rawSignature' is null. + 'rawHeader' or 'rawPayload' is null or whitespace. + + + + Initializes an instance of where the contains the crypto algorithms applied to the innerToken . + + Defines cryptographic operations applied to the 'innerToken'. + + base64urlencoded key + base64urlencoded JwtHeader + base64urlencoded initialization vector. + base64urlencoded encrypted innerToken + base64urlencoded authentication tag. + 'header' is null. + 'innerToken' is null. + 'rawHeader' is null. + 'rawEncryptedKey' is null. + 'rawInitialVector' is null or empty. + 'rawCiphertext' is null or empty. + 'rawAuthenticationTag' is null or empty. + + + + Initializes a new instance of the class where the contains the crypto algorithms applied to the encoded and . The jwtEncodedString is the result of those operations. + + Contains JSON objects representing the cryptographic operations applied to the JWT and optionally any additional properties of the JWT + Contains JSON objects representing the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value } + 'header' is null. + 'payload' is null. + + + + Initializes a new instance of the class specifying optional parameters. + + If this value is not null, a { iss, 'issuer' } claim will be added, overwriting any 'iss' claim in 'claims' if present. + If this value is not null, a { aud, 'audience' } claim will be added, appending to any 'aud' claims in 'claims' if present. + If this value is not null then for each a { 'Claim.Type', 'Claim.Value' } is added. If duplicate claims are found then a { 'Claim.Type', List<object> } will be created to contain the duplicate values. + If expires.HasValue a { exp, 'value' } claim is added, overwriting any 'exp' claim in 'claims' if present. + If notbefore.HasValue a { nbf, 'value' } claim is added, overwriting any 'nbf' claim in 'claims' if present. + The that will be used to sign the . See for details pertaining to the Header Parameter(s). + If 'expires' <= 'notbefore'. + + + + Gets the 'value' of the 'actor' claim { actort, 'value' }. + + If the 'actor' claim is not found, null is returned. + + + + Gets the list of 'audience' claim { aud, 'value' }. + + If the 'audience' claim is not found, enumeration will be empty. + + + + Gets the (s) for this token. + If this is a JWE token, this property only returns the encrypted claims; + the unencrypted claims should be read from the header seperately. + + (s) returned will NOT have the translated according to + + + + Gets the Base64UrlEncoded associated with this instance. + + + + + Gets the Base64UrlEncoded associated with this instance. + + + + + Gets the associated with this instance if the token is signed. + + + + + Gets the 'value' of the 'JWT ID' claim { jti, 'value' }. + + If the 'JWT ID' claim is not found, an empty string is returned. + + + + Gets the 'value' of the 'issuer' claim { iss, 'value' }. + + If the 'issuer' claim is not found, an empty string is returned. + + + + Gets the associated with this instance. + Note that if this JWT is nested ( != null, this property represents the payload of the most inner token. + This property can be null if the content type of the most inner token is unrecognized, in that case + the content of the token is the string returned by PlainText property. + + + + + Gets the associated with this instance. + + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the original raw data of this instance when it was created. + + The original JSON Compact serialized format passed to one of the two constructors + or + + + + Gets the s for this instance. + + + + + Gets the signature algorithm associated with this instance. + + If there is a associated with this instance, a value will be returned. Null otherwise. + + + + Gets the to use when writing this token. + + + + + Gets the to use when writing this token. + + + + + Gets or sets the that signed this instance. + + .ValidateSignature(...) sets this value when a is used to successfully validate a signature. + + + + Gets the "value" of the 'subject' claim { sub, 'value' }. + + If the 'subject' claim is not found, null is returned. + + + + Gets the 'value' of the 'notbefore' claim { nbf, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'notbefore' claim is not found, then is returned. + + + + Gets the 'value' of the 'expiration' claim { exp, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'expiration' claim is not found, then is returned. + + + + Gets the 'value' of the 'issued at' claim { iat, 'value' } converted to a assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z). + + If the 'issued at' claim is not found, then is returned. + + + + Serializes the and + + A string containing the header and payload in JSON format. + + + + + + + Decodes the string into the header, payload and signature. + + the tokenized string. + the original token. + + + + Decodes the base64url encoded payload. + + the encoded payload. + + + + Decodes the payload and signature from the JWE parts. + + Parts of the JWE including the header. + Assumes Header has already been set. + + + + Static class to convert a to a + + + + + Initializes a new instance of a from a + + A JSON Web Token to convert from. + is null + doesn't have set. + + + + A designed for creating and validating Json Web Tokens. See: https://datatracker.ietf.org/doc/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515 + + + + + Default claim type mapping for inbound claims. + + + + + Default value for the flag that determines whether or not the InboundClaimTypeMap is used. + + + + + Default claim type mapping for outbound claims. + + + + + Default claim type filter list. + + + + + Default JwtHeader algorithm mapping + + + + + Static initializer for a new object. Static initializers run before the first instance of the type is created. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the property which is used when determining whether or not to map claim types that are extracted when validating a . + If this is set to true, the is set to the JSON claim 'name' after translating using this mapping. Otherwise, no mapping occurs. + The default value is true. + + + + + Gets or sets the which is used when setting the for claims in the extracted when validating a . + The is set to the JSON claim 'name' after translating using this mapping. + The default value is ClaimTypeMapping.InboundClaimTypeMap. + + 'value' is null. + + + + Gets or sets the which is used when creating a from (s). + The JSON claim 'name' value is set to after translating using this mapping. + The default value is ClaimTypeMapping.OutboundClaimTypeMap + + This mapping is applied only when using or . Adding values directly will not result in translation. + 'value' is null. + + + + Gets the outbound algorithm map that is passed to the constructor. + + + + Gets or sets the used to filter claims when populating a claims form a . + When a is validated, claims with types found in this will not be added to the . + The default value is ClaimTypeMapping.InboundClaimFilter. + + 'value' is null. + + + + Gets or sets the property name of the will contain the original JSON claim 'name' if a mapping occurred when the (s) were created. + See for more information. + + If .IsNullOrWhiteSpace('value') is true. + + + + Gets or sets the property name of the will contain .Net type that was recognized when serialized the value to JSON. + See for more information. + + If .IsNullOrWhiteSpace('value') is true. + + + + Returns a value that indicates if this handler can validate a . + + 'true', indicating this instance can validate a . + + + + Gets the value that indicates if this instance can write a . + + 'true', indicating this instance can write a . + + + + Gets the type of the . + + The type of + + + + Determines if the string is a well formed Json Web Token (JWT). + See: https://datatracker.ietf.org/doc/html/rfc7519 + + String that should represent a valid JWT. + Uses matching one of: + JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$" + JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$" + + + 'false' if the token is null or whitespace. + 'false' if token.Length is greater than . + 'true' if the token is in JSON compact serialization format. + + + + + Returns a Json Web Token (JWT). + + A that contains details of contents of the token. + A JWS and JWE can be returned. + If is provided, then a JWE will be created. + If is provided then a JWS will be created. + If both are provided then a JWE with an embedded JWS will be created. + + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + If is not null, then a claim { actort, 'value' } will be added to the payload. See for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + If is provided, then a JWS will be created. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + Translated into 'epoch time' and assigned to 'nbf'. + Translated into 'epoch time' and assigned to 'exp'. + Translated into 'epoch time' and assigned to 'iat'. + Contains cryptographic material for signing. + Contains cryptographic material for encrypting. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + If 'expires' <= 'notBefore'. + + + + Creates a JWT in 'Compact Serialization Format'. + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + Translated into 'epoch time' and assigned to 'nbf'. + Translated into 'epoch time' and assigned to 'exp'. + Translated into 'epoch time' and assigned to 'iat'. + Contains cryptographic material for signing. + Contains cryptographic material for encrypting. + A collection of (key,value) pairs representing (s) for this token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each in the will map by applying . Modifying could change the outbound JWT. + + A Base64UrlEncoded string in 'Compact Serialization Format'. + If 'expires' <= 'notBefore'. + + + + Creates a Json Web Token (JWT). + + A that contains details of contents of the token. + is used to sign . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + Contains cryptographic material for encrypting the token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + is used to encrypt or . + + A . + If <= . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + Contains cryptographic material for encrypting the token. + A collection of (key,value) pairs representing (s) for this token. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + is used to encrypt or . + + A . + If <= . + + + + Creates a + + The issuer of the token. + The audience for this token. + The source of the (s) for this token. + The notbefore time for this token. + The expiration time for this token. + The issue time for this token. + Contains cryptographic material for generating a signature. + If is not null, then a claim { actort, 'value' } will be added to the payload. for details on how the value is created. + See for details on how the HeaderParameters are added to the header. + See for details on how the values are added to the payload. + Each on the added will have translated according to the mapping found in + . Adding and removing to will affect the name component of the Json claim. + is used to sign . + + A . + If <= . + + + + Creates a Json Web Token (JWT). + + A that contains details of contents of the token. + is used to sign . + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use to ensure the token is acceptable. + + + + Converts a string into an instance of . + + A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format. + A + is null or empty. + 'token.Length' is greater than . + + If the is in JWE Compact Serialization format, only the protected header will be deserialized. + This method is unable to decrypt the payload. Use to obtain the payload. + The token is NOT validated and no security decisions should be made about the contents. + Use to ensure the token is acceptable. + + + + Deserializes token with the provided . + + . + The current . + The + This method is not current supported. + + + + Reads and validates a 'JSON Web Token' (JWT) encoded as a JWS or JWE in Compact Serialized Format. + + the JWT encoded as JWE or JWS + Contains validation parameters for the . + The that was validated. + is null or whitespace. + is null. + .Length is greater than . + does not have 3 or 5 parts. + returns false. + was a JWE was not able to be decrypted. + 'kid' header claim is not null AND decryption fails. + 'enc' header claim is null or empty. + 'exp' claim is < DateTime.UtcNow. + is null or whitespace and is null. Audience is not validated if is set to false. + 'aud' claim did not match either or one of . + 'nbf' claim is > 'exp' claim. + .signature is not properly formatted. + 'exp' claim is missing and is true. + is not null and expirationTime.HasValue is false. When a TokenReplayCache is set, tokens require an expiration time. + 'nbf' claim is > DateTime.UtcNow. + could not be added to the . + is found in the cache. + A from the JWT. Does not include claims found in the JWT header. + + Many of the exceptions listed above are not thrown directly from this method. See to examine the call graph. + + + + + Private method for token validation, responsible for: + (1) Obtaining a configuration from the . + (2) Revalidating using the Last Known Good Configuration (if present), and obtaining a refreshed configuration (if necessary) and revalidating using it. + + The JWS string, or the decrypted token if the token is a JWE. + If the token being validated is a JWE, this is the that represents the outer token. + If the token is a JWS, the value of this parameter is . + + The to be used for validation. + The that was validated. + A from the JWT. Does not include claims found in the JWT header. + + + + Validates the JSON payload of a . + + The token to validate. + Contains validation parameters for the . + A from the jwt. Does not include the header claims. + + + + Serializes a into a JWT in Compact Serialization Format. + + to serialize. + + The JWT will be serialized as a JWE or JWS. + will be used to create the JWT. If there is an inner token, the inner token's payload will be used. + If either or .SigningCredentials are set, the JWT will be signed. + If is set, a JWE will be created using the JWT above as the plaintext. + + is null. + 'token' is not a not . + both and are set. + both and .EncryptingCredentials are set. + if is set and is not set. + A JWE or JWS in 'Compact Serialization Format'. + + + + Obtains a and validates the signature. + + Bytes to validate. + Signature to compare against. + to use. + Crypto algorithm to use. + The being validated. + Priority will be given to over . + 'true' if signature is valid. + + + + Validates that the signature, if found or required, is valid. + + A JWS token. + that contains signing keys. + If is null or whitespace. + If is null. + If a signature is not found and is true. + + If the has a key identifier and none of the (s) provided result in a validated signature. + This can indicate that a key refresh is required. + + If after trying all the (s), none result in a validated signature AND the does not have a key identifier. + A that has the signature validated if token was signed. + If the is signed, the signature is validated even if is false. + If the signature is validated, then the will be set to the key that signed the 'token'.It is the responsibility of to set the + + + + Creates a from a . + + The to use as a source. + The value to set + Contains parameters for validating the token. + A containing the . + + + + Creates the 'value' for the actor claim: { actort, 'value' } + + as actor. + representing the actor. + If is not null: +   If 'type' is 'string', return as string. +   if 'type' is 'BootstrapContext' and 'BootstrapContext.SecurityToken' is 'JwtSecurityToken' +     if 'JwtSecurityToken.RawData' != null, return RawData. +     else return . +   if 'BootstrapContext.Token' != null, return 'Token'. + default: new ( ( actor.Claims ). + + 'actor' is null. + + + + Determines if the audiences found in a are valid. + + The audiences found in the . + The being validated. + required for validation. + See for additional details. + + + + Validates the lifetime of a . + + The value of the 'nbf' claim if it exists in the 'jwtToken'. + The value of the 'exp' claim if it exists in the 'jwtToken'. + The being validated. + required for validation. + for additional details. + + + + Determines if the issuer found in a is valid. + + The issuer to validate + The that is being validated. + required for validation. + The issuer to use when creating the (s) in the . + for additional details. + + + + Determines if a is already validated. + + The value of the 'exp' claim if it exists in the '. + The that is being validated. + required for validation. + + + + Returns a to use when validating the signature of a token. + + The representation of the token that is being validated. + The that is being validated. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Returns a to use when decryption a JWE. + + The the token that is being decrypted. + The that is being decrypted. + A required for validation. + Returns a to use for signature validation. + If key fails to resolve, then null is returned + + + + Decrypts a JWE and returns the clear text + + the JWE that contains the cypher text. + contains crypto material. + the decoded / cleartext contents of the JWE. + if is null. + if is null. + if 'jwtToken.Header.enc' is null or empty. + if 'jwtToken.Header.kid' is not null AND decryption fails. + if the JWE was not able to be decrypted. + + + + Validates the is an expected value. + + The that signed the . + The to validate. + The current . + If the is a then the X509Certificate2 will be validated using the CertificateValidator. + + + + Serializes to XML a token of the type handled by this instance. + + The XML writer. + A token of type . + + + + + + + Log messages and codes + + + + diff --git a/local-nuget/system.identitymodel.tokens.jwt/7.2.0/system.identitymodel.tokens.jwt.7.2.0.nupkg b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/system.identitymodel.tokens.jwt.7.2.0.nupkg new file mode 100644 index 000000000..7df9239b1 Binary files /dev/null and b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/system.identitymodel.tokens.jwt.7.2.0.nupkg differ diff --git a/local-nuget/system.identitymodel.tokens.jwt/7.2.0/system.identitymodel.tokens.jwt.7.2.0.nupkg.sha512 b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/system.identitymodel.tokens.jwt.7.2.0.nupkg.sha512 new file mode 100644 index 000000000..ce3cc61b4 --- /dev/null +++ b/local-nuget/system.identitymodel.tokens.jwt/7.2.0/system.identitymodel.tokens.jwt.7.2.0.nupkg.sha512 @@ -0,0 +1 @@ +KjW99EXtUrjf7CjOjUek5HzfaiP2QdT2KwEawjnM14usvvhUKC/oKO1XbcUDbKAJqUkl2DlL5Eo4pgk/NjBVSw== \ No newline at end of file diff --git a/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/.nupkg.metadata b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/.nupkg.metadata new file mode 100644 index 000000000..b9571a54d --- /dev/null +++ b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "mddnoBg+XV5YZJg+lp/LlXQ9NY9/oV/MoNjLbbLHw0uTymfyuinVePQB4ff/ELRv3s6n0G7h8q3Ycb3KYg+hgQ==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/.signature.p7s b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/.signature.p7s new file mode 100644 index 000000000..255adb1f3 Binary files /dev/null and b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/.signature.p7s differ diff --git a/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/net461/UglyToad.PdfPig.xml b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/net461/UglyToad.PdfPig.xml new file mode 100644 index 000000000..830ac373c --- /dev/null +++ b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/net461/UglyToad.PdfPig.xml @@ -0,0 +1,13635 @@ + + + + UglyToad.PdfPig + + + + + A collection of interactive fields for gathering data from a user through dropdowns, textboxes, checkboxes, etc. + Each with form functionality contains a single spread across one or more pages. + + + The name AcroForm distinguishes this from the other form type called form XObjects which act as templates for repeated sections of content. + + + + + The raw PDF dictionary which is the root form object. + + + + + Document-level characteristics related to signature fields. + + + + + Whether all widget annotations need appearance dictionaries and streams. + + + + + All root fields in this form. + + + + + Create a new . + + + + + Get the set of fields which appear on the given page number. + + + + + + + + Extensions for AcroForm. + + + + + Get fields containing data in form. + + + + + Get fields containing data which are children of field. + + + + + Get string values of field. + + + + + Extracts the from the document, if available. + + + + + Retrieve the from the document, if applicable. + + The if the document contains one. + + + + Flags specifying various characteristics of a button type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + For radio buttons, one radio button must be set at all times. + + + + + The field is a set of radio buttons. + + + + + The field is a push button. + + + + + For radio buttons a group of radio buttons will toggle on/off at the same time based on their initial value. + + + + + + A set of related checkboxes. + + + + + + Create a new . + + + + + + A checkbox which may be toggled on or off. + + + + + The which define the behaviour of this button type. + + + + + The current value of this checkbox. + + + + + Whether this checkbox is currently checked/on. + + + + + + Create a new . + + + + + Flags specifying various characteristics of a choice type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + The field is a combo box. + + + + + The combo box includes an editable text box. must be set. + + + + + The options should be sorted alphabetically, this should be ignored by viewer applications. + + + + + The field allows multiple options to be selected. + + + + + The text entered in the field is not spell checked. and must be set. + + + + + Any associated field action is fired when the selection is changed rather than on losing focus. + + + + + An option in a choice field, either or . + + + + + The index of this option in the array. + + + + + Whether this option is selected. + + + + + The text of the option. + + + + + The value of the option when the form is exported. + + + + + Whether the field defined an export value for this option. + + + + + Create a new . + + + + + + + + + A combo box consisting of a drop-down list optionally accompanied by an editable text box in which the + user can type a value other than the predefined choices. + + + + + The flags specifying the behaviour of this field. + + + + + The options to be presented to the user. + + + + + The names of any currently selected options. + + + + + For multiple select lists with duplicate names gives the indices of the selected options. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The options in this field. + The indices of the selected options where there are multiple with the same name. + The names of the selected options. + The number of the page this field appears on. + The location of this field on the page. + + + + A field in an interactive . + + + + + The raw PDF dictionary for this field. + + + + + The representing the type of this field in PDF format. + + + + + The actual represented by this field. + + + + + Specifies various characteristics of the field. + + + + + The optional information common to all types of field. + + + + + The page number of the page containing this form field if known. + + + + + The placement rectangle of this form field on the page given by if known. + + + + + Create a new . + + The dictionary for this field. + The PDF string type of this field. + The flags specifying behaviour for this field. + The type of this field. + Additional information for this field. + The number of the page this field appears on. + The location of this field on the page. + + + + + + + Information from the field dictionary which is common across all field types. + All of this information is optional. + + + + + The reference to the field which is the parent of this one, if applicable. + + + + + The partial field name for this field. The fully qualified field name is the + period '.' joined name of all parents' partial names and this field's partial name. + + + + + The alternate field name to be used instead of the fully qualified field name where + the field is being identified on the user interface or by screen readers. + + + + + The mapping name used when exporting form field data from the document. + + + + + Create a new . + + + + + + + + Indicates the type of field for a . + + + + + A button that immediately to user input without retaining state. + + + + + A set of checkboxes. + + + + + A checkbox which toggles between on and off states. + + + + + A set of radio buttons. + + + + + A single radio button, as part of a set or on its own. + + + + + A textbox allowing user input through the keyboard. + + + + + A dropdown list of options with optional user-editable textbox. + + + + + A list of options for the user to select from. + + + + + A field containing a digital signature. + + + + + The field type wasn't specified. + + + + + + A scrollable list box field. + + + + + The flags specifying the behaviour of this field. + + + + + The options to be presented to the user. + + + + + The names of any currently selected options. + + + + + For multiple select lists with duplicate names gives the indices of the selected options. + + + + + For scrollable list boxes gives the index of the first visible option. + + + + + Whether the field allows multiple selections. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The options in this field. + The indices of the selected options where there are multiple with the same name. + The first visible option index. + The names of the selected options. + The number of the page this field appears on. + The location of this field on the page. + + + + + A non-leaf field in the form's structure. + + + + + The child fields of this field. + + + + + + Create a new . + + + + + + A push button responds immediately to user input without storing any state. + + + + + The which define the behaviour of this button type. + + + + + + Create a new . + + + + + + A single radio button. + + + + + The which define the behaviour of this button type. + + + + + The current value of this radio button. + + + + + Whether the radio button is currently on/active. + + + + + + Create a new . + + + + + + A set of radio buttons. + + + + + The which define the behaviour of this button type. + + + + + + Create a new . + + + + + + A digital signature field. + + + + + + Create a new . + + + + + + A text field is a box or space in which the user can enter text from the keyboard. + The text may be restricted to a single line or may be permitted to span multiple lines. + + + + + The flags specifying the behaviour of this field. + + + + + The value of the text in this text field. + This can be if no value has been set. + + + + + The optional maximum length of the text field. + + + + + Whether the field supports rich text content. + + + + + Whether the field allows multiline text. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The text value. + The maximum length. + The number of the page this field appears on. + The location of this field on the page. + + + + + + + Flags specifying various characteristics of a text type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + The field can contain multiple lines of text. + + + + + The field is for a password and should not be displayed as text and should not be stored to file. + + + + + The field represents a file path selection. + + + + + The text entered is not spell checked. + + + + + The field does not scroll if the text exceeds the bounds of the field. + + + + + For a text field which is not a , or + the field text is evenly spaced by splitting into 'combs' based on the MaxLen entry in the field dictionary. + + + + + The value of the field is a rich text string. + + + + + Specifies document level characteristics for any signature fields in the document's . + + + + + The document contains at least one signature field. + + + + + The document contains signatures which may be invalidated if the file is saved + in a way which alters its previous content rather than simply appending new content. + + + + + Abstract class for GoTo-type actions (GoTo, GoToE, GoToR) that have a destination + + + + + Destination for the GoTo-type action + + + + + Constructor + + + + + Get an action (A) from dictionary. If GoTo, GoToR or GoToE, also fetches the action destination. + + + + + Action types (PDF reference 8.5.3) + + + + + Go to a destination in the current document. + + + + + (“Go-to remote”) Go to a destination in another document. + + + + + (“Go-to embedded”; PDF 1.6) Go to a destination in an embedded file. + + + + + Launch an application, usually to open a file. + + + + + Begin reading an article thread. + + + + + Resolve a uniform resource identifier. + + + + + (PDF 1.2) Play a sound. + + + + + (PDF 1.2) Play a movie. + + + + + (PDF 1.2) Set an annotation’s Hidden flag. + + + + + (PDF 1.2) Execute an action predefined by the viewer application. + + + + + (PDF 1.2) Send data to a uniform resource locator. + + + + + (PDF 1.2) Set fields to their default values. + + + + + (PDF 1.2) Import field values from a file. + + + + + (PDF 1.3) Execute a JavaScript script. + + + + + (PDF 1.5) Set the states of optional content groups. + + + + + (PDF 1.5) Controls the playing of multimedia content. + + + + + (PDF 1.5) Updates the display of a document, using a transition dictionary. + + + + + (PDF 1.6) Set the current view of a 3D annotation + + + + + GoTo action (with a destination inside the current document) + + + + + Constructor + + + + + GoToE action (to go to a destination inside a file embedded within the PDF) + + + + + File specification of the embedded file + + + + + Constructor + + Destination within the embedded file + Specification of the embedded file + + + + GoToR action, to go to a destination in a remote PDF + + + + + Filename of the remote PDF + + + + + Constructor + + Destination within the remote PDF + Filename of the remote PDF + + + + Actions (PDF reference 8.5) + + + + + Type of action + + + + + Constructor + + + + + Action to open a URI + + + + + URI to open + + + + + Constructor + + URI to open + + + + + Provides access to rare or advanced features from the PDF specification. + + + + + Get any embedded files contained in this PDF document. + Since PDF 1.3 any external file referenced by the document may have its contents embedded within the referring PDF file, + allowing its contents to be stored or transmitted along with the PDF file. + + The set of embedded files in this document. + if this document contains more than zero embedded files, otherwise . + + + + Replaces the token in an internal cache that will be returned instead of + scanning the source PDF data for future requests. + + The object number for the object to replace. + Func that takes existing token as input and return new token. + + + + Replaces the token in an internal cache that will be returned instead of + scanning the source PDF data for future requests. + + The object number for the object to replace. + Replacement token to use. + + + + + + + An annotation on a page in a PDF document. + + + + + The underlying PDF dictionary which this annotation was created from. + + + + + The type of this annotation. + + + + + The rectangle in user space units specifying the location to place this annotation on the page. + + + + + The annotation text, or if the annotation does not display text, a description of the annotation's contents. Optional. + + + + + The name of this annotation which should be unique per page. Optional. + + + + + The date and time the annotation was last modified, can be in any format. Optional. + + + + + Flags defining the appearance and behaviour of this annotation. + + + + + Defines the annotation's border. + + + + + Rectangles defined using QuadPoints, for these are the regions used to activate the link, + for text markup annotations these are the text regions to apply the markup to. + See for more information regarding the order of the points. + + + + + Action for this annotation, if any (can be null) + + + + + Indicates if a normal appearance is present for this annotation + + + + + Indicates if a roll over appearance is present for this annotation (shown when you hover over this annotation) + + + + + Indicates if a down appearance is present for this annotation (shown when you click on this annotation) + + + + + The this annotation was in reply to. Can be + + + + + Create a new . + + + + + + + + A border for a PDF object. + + + + + The default border style if not specified. + + + + + The horizontal corner radius in user space units. + + + + + The vertical corner radius in user space units. + + + + + The width of the border in user space units. + + + + + The dash pattern for the border lines if provided. Optional. + + + + + Create a new . + + + + + + + + Specifies characteristics of an annotation in a PDF or FDF document. + + + + + Do not display the annotation if it is not one of the standard annotation types. + + + + + Do not display or print the annotation irrespective of type. Do not allow interaction. + + + + + The annotation should be included when the document is physically printed. + + + + + Do not zoom/scale the annotation as the zoom of the document is changed. + + + + + Do not rotate the annotation as the page is rotated. + + + + + Do not display the annotation in viewer applications as with , however allow the annotation to be printed if is set. + + + + + Allow the annotation to be displayed/printed if applicable but do not respond to user interaction, e.g. mouse clicks. + + + + + Do not allow deleting the annotation or changing size/position but allow the contents to be modified. + + + + + Invert the meaning of the flag. + + + + + Allow the annotation to be deleted, resized, moved or restyled but disallow changes to the annotation contents. Opposite to . + + + + + The standard annotation types in PDF documents. + + + + + A 'sticky note' style annotation displaying some text with open/closed pop-up state. + + + + + A link to elsewhere in the document or an external application/web link. + + + + + Displays text on the page. Unlike there is no associated pop-up. + + + + + Display a single straight line on the page with optional line ending styles. + + + + + Display a rectangle on the page. + + + + + Display an ellipse on the page. + + + + + Display a closed polygon on the page. + + + + + Display a set of connected lines on the page which is not a closed polygon. + + + + + A highlight for text or content with associated annotation texyt. + + + + + An underline under text with associated annotation text. + + + + + A jagged squiggly line under text with associated annotation text. + + + + + A strikeout through some text with associated annotation text. + + + + + Text or graphics intended to display as if inserted by a rubber stamp. + + + + + A visual symbol indicating the presence of text edits. + + + + + A freehand 'scribble' formed by one or more paths. + + + + + Displays text in a pop-up window for entry or editing. + + + + + A file. + + + + + A sound to be played through speakers. + + + + + Embeds a movie from a file in a PDF document. + + + + + Used by interactive forms to represent field appearance and manage user interactions. + + + + + Specifies a page region for media clips to be played and actions to be triggered from. + + + + + Represents a symbol used during the physical printing process to maintain output quality, e.g. color bars or cut marks. + + + + + Used during the physical printing process to prevent colors mixing. + + + + + Adds a watermark at a fixed size and position irrespective of page size. + + + + + Represents a 3D model/artwork, for example from CAD, in a PDF document. + + + + + A custom annotation type. + + + + + Appearance stream (PDF Reference 8.4.4) that describes what an annotation looks like. Each stream is a Form XObject. + The appearance stream is either stateless (in which case is true) + or stateful, in which case is false and the states can be retrieved via . + The states can then be used to retrieve the state-specific appearances using . + + + + + Indicates if this appearance stream is stateless, or whether you can get appearances by state. + + + + + Get list of states. If this is a stateless appearance stream, an empty collection is returned. + + + + + Constructor for stateless appearance stream + + + + + + Constructor for stateful appearance stream + + + + + + Get appearance stream for particular state + + + + + + + + + A QuadPoints quadrilateral is four points defining the region for an annotation to use. + An annotation may cover multiple quadrilaterals. + + + + + The 4 points defining this quadrilateral. + The PDF specification defines these as being in anti-clockwise order starting from the lower-left corner, however + Adobe's implementation doesn't obey the specification and points seem to go in the order: top-left, top-right, + bottom-left, bottom-right. See: https://stackoverflow.com/questions/9855814/pdf-spec-vs-acrobat-creation-quadpoints. + + + + + Create a new . + + + + + + + + + Artifacts are graphics objects that are not part of the author's original content but rather are + generated by the conforming writer in the course of pagination, layout, or other strictly mechanical + processes. + Artifacts may also be used to describe areas of the document where the author uses a graphical + background, with the goal of enhancing the visual experience. In such a case, the background is not + required for understanding the content. - PDF 32000-1:2008, Section 14.8.2.2 + + + + + The artifact's type: Pagination, Layout, Page, or (PDF 1.7) Background. + + + + + The artifact's subtype. Standard values are Header, Footer, and Watermark. + Additional values may be specified for this entry, provided they comply with the naming conventions. + + + + + The artifact's attribute owners. + + + + + The artifact's bounding box. + + + + + The names of regions this element is attached to. + + + + + Is the artifact attached to the top edge? + + + + + Is the artifact attached to the bottom edge? + + + + + Is the artifact attached to the left edge? + + + + + Is the artifact attached to the right edge? + + + + + If present, shall be one of the names Pagination, Layout, Page, or (PDF 1.7) Background. + + + + + Unknown artifact type. + + + + + Ancillary page features such as running heads and folios (page numbers). + + + + + Purely cosmetic typographical or design elements such as footnote rules or background screens. + + + + + Production aids extraneous to the document itself, such as cut marks and colour bars. + + + + + (PDF 1.7) Images, patterns or coloured blocks that either run the entire length and/or + width of the page or the entire dimensions of a structural element. Background artifacts + typically serve as a background for content shown either on top of or placed adjacent to + that background. + A background artifact can further be classified as visual content that serves to enhance the user experience, that lies under the actual content, and that is not required except to retain visual fidelity. + + + + + The root of the document's object hierarchy. Contains references to objects defining the contents, + outline, named destinations and more. + + + + + The catalog dictionary containing assorted information. + + + + + Create a new . + + + + + Defines the visible region of a page, contents expanding beyond the crop box should be clipped. + + + + + Defines the clipping of the content when the page is displayed or printed. The page's contents are to be clipped (cropped) to this rectangle + and then imposed on the output medium. + + + + + Create a new . + + + + + + + + Metadata for the PDF document. + + + + + The underlying document information PDF dictionary from the document. + + + + + The title of this document if applicable. + + + + + The name of the person who created this document if applicable. + + + + + The subject of this document if applicable. + + + + + Any keywords associated with this document if applicable. + + + + + The name of the application which created the original document before it was converted to PDF if applicable. + + + + + The name of the application used to convert the original document to PDF if applicable. + + + + + The date and time the document was created. + + + + + The date and time the document was most recently modified. + + + + + Gets the as a if it's possible to convert it, or . + + + + + Gets the as a if it's possible to convert it, or . + + + + + Gets a string representing this document information. entries are not shown. + + + + + A file embedded in a PDF document for document references. + + + + + The name given to this embedded file in the document's name tree. + + + + + The specification of the path to the file. + + + + + The decrypted bytes of the file. + + + + + The underlying embedded file stream. + + + + + + + + The offset in bytes from the start of the file to the start of the version comment. + + + + + Full details for a link annotation which references an external resource. + A link to an external resource in a document. + + + + + The area on the page which when clicked will open the hyperlink. + + + + + The text in the link region (if any). + + + + + The letters in the link region. + + + + + The URI the link directs to. + + + + + The underlying link annotation. + + + + + Create a new . + + + + + + + + + A small image that is completely defined directly inline within a 's content stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new . + + + + + + + + + + + + + + An image in a PDF document, may be an or a PostScript image XObject (). + + + + + The placement rectangle of the image in PDF coordinates. + + + + + The width of the image in samples. + + + + + The height of the image in samples. + + + + + The number of bits used to represent each color component. + + + + + The encoded bytes of the image with all filters still applied. + + + + + The color rendering intent to be used when rendering the image. + + + + + Indicates whether the image is to be treated as an image mask. + If the image is a monochrome image in which each sample + is specified by a single bit ( is 1). + The image represents a stencil where sample values represent places on the page + that should be marked with the current color or masked (not marked). + + + + + Describes how to map image samples into the values appropriate for the + . + The image data is initially composed of values in the range 0 to 2^n - 1 + where n is . + The decode array contains a pair of numbers for each component in the . + The value from the image data is then interpolated into the values relevant to the + using the corresponding values of the decode array. + + + + + Specifies whether interpolation is to be performed. Interpolation smooths images where a single component in the image + as defined may correspond to many pixels on the output device. The interpolation algorithm is implementation + dependent and is not defined by the specification. + + + + + Whether this image is an or a . + + + + + The full dictionary for this image object. + + + + + The used to interpret the image. + + This is not defined where is and is optional where the image is JPXEncoded for . + + + + + + Get the decoded bytes of the image if applicable. For JPEG images and some other types the + should be used directly. + + + + + Try to convert the image to PNG. Doesn't support conversion of JPG to PNG. + + + + + Remove any named resources and associated state for the last resource dictionary loaded. + Does not affect the cached resources, just the labels associated with them. + + + + + A glyph or combination of glyphs (characters) drawn by a PDF content stream. + + + + + The text for this letter or unicode character. + + + + + Text orientation of the letter. + + + + + The placement position of the character in PDF space. See + + + + + The placement position of the character in PDF space (the start point of the baseline). See + + + + + The end point of the baseline. + + + + + The width occupied by the character within the PDF content. + + + + + Position of the bounding box for the glyph, this is the box surrounding the visible glyph as it appears on the page. + For example letters with descenders, p, j, etc., will have a box extending below the they are placed at. + The width of the glyph may also be more or less than the allocated for the character in the PDF content. + + + + + Size as defined in the PDF file. This is not equivalent to font size in points but is relative to other font sizes on the page. + + + + + The name of the font. + + + + + Details about the font for this letter. + + + + + Text rendering mode that indicates whether we should draw this letter's strokes, + fill, both, neither (in case of hidden text), etc. + If it calls for stroking the is used. + If it calls for filling, the is used. + In modes that perform both filling and stroking, the effect is as if each glyph outline were filled and then stroked in separate operations. + + + + + The primary color of the letter, which is either the in case + is , or otherwise + it is the . + + + + + Stroking color + + + + + Non-stroking (fill) color + + + + + The size of the font in points. + + + + + Sequence number of the ShowText operation that printed this letter. + + + + + Create a new letter to represent some text drawn by the Tj operator. + + + + + Produces a string representation of the letter and its position. + + + + + A marked content element can be used to provide application specific data in the + page's content stream. Interpretation of the marked content is outside of the PDF specification. + + + + + Marked-content identifier. + + + + + The index of this marked content element in the set of marked content in the page. + marked content elements will have the same index as the parent. + + + + + A name indicating the role or significance of the point. + + + + + The properties for this element. + + + + + Is the marked content an artifact, see . + + + + + Child contents. + + + + + Letters contained in this marked content. + + + + + Paths contained in this marked content. + + + + + Images contained in this marked content. + + + + + The natural language specification. + + + + + The replacement text. + + + + + The alternate description. + + + + + The abbreviation expansion text. + + + + + Create a new . + + + + + + + + The boundary of the physical medium to display or print on. + + + See table 3.27 from the PDF specification version 1.7. + + + + + User space units per inch. + + + + + User space units per millimeter. + + + + + A the size of U.S. Letter, 8.5" x 11" Paper. + + + + + A the size of U.S. Legal, 8.5" x 14" Paper. + + + + + A the size of A0 Paper. + + + + + A the size of A1 Paper. + + + + + A the size of A2 Paper. + + + + + A the size of A3 Paper. + + + + + A the size of A4 Paper. + + + + + A the size of A5 Paper. + + + + + A the size of A6 Paper. + + + + + A rectangle, expressed in default user space units, that defines the boundaries of the physical medium on which the page shall be displayed or printed. + + + + + Create a new . + + + + + An optional content group is a dictionary representing a collection of graphics + that can be made visible or invisible dynamically by users of viewers applications. + + + + + The type of PDF object that this dictionary describes. + Must be OCG for an optional content group dictionary. + + + + + The name of the optional content group, suitable for presentation in a viewer application's user interface. + + + + + A single name or an array containing any combination of names. + Default value is 'View'. + + + + + A usage dictionary describing the nature of the content controlled by the group. + + + + + Underlying . + + + + + + + + + + Contains the content and provides access to methods of a single page in the . + + + + + The raw PDF dictionary token for this page in the document. + + + + + The page number (starting at 1). + + + + + Defines the visible region of the page, content outside the is clipped/cropped. + + + + + Defines the boundaries of the physical medium on which the page shall be displayed or printed. + + + + + The rotation of the page in degrees (clockwise). Valid values are 0, 90, 180 and 270. + + + + + The set of s drawn by the PDF content. + + + + + The full text of all characters on the page in the order they are presented in the PDF content. + + + + + Gets the width of the page in points. + + + + + Gets the height of the page in points. + + + + + The size of the page according to the standard page sizes or if no matching standard size found. + + + + + The number of images on this page. Use to access the image contents. + + + + + The parsed graphics state operations in the content stream for this page. + + + + + Access to members whose future locations within the API will change without warning. + + + + + Use the default to get the words for this page. + + The words on this page. + + + + Use a custom to get the words for this page. + + The word extractor to use to generate words. + The words on this page. + + + + Get the hyperlinks which link to external resources on the page. + These are based on the annotations on the page with a type of '/Link'. + + + + + Gets any images on the page. + + + + + Gets any marked content on the page. + + + + + Provides access to useful members which will change in future releases. + + + + + The set of s drawn by the PDF content. + + + + + Get the annotation objects from the page. + + The lazily evaluated set of annotations on this page. + + + + Gets any optional content on the page. + Does not handle XObjects and annotations for the time being. + + + + + Wraps content parsed from a page content stream for access. + + + This should contain a replayable stack of drawing instructions for page content + from a content stream in addition to lazily evaluated state such as text on the page or images. + + + + + Represents the rotation of a page in a PDF document defined by the page dictionary in degrees clockwise. + + + + + The rotation of the page in degrees clockwise. + + + + + Whether the rotation flips the x and y axes. + + + + + Get the rotation expressed in radians (anti-clockwise). + + + + + Create a . + + Rotation in degrees clockwise, must be a multiple of 90. + + + + + + + + + + + + + + + + Equal. + + + + + Not equal. + + + + + The page tree for this document containing all pages, page numbers and their dictionaries. + + + + + The corresponding named size of the . + + + + + Unknown page size, did not match a defined page size. + + + + + The ISO 216 A0 page size. + + + + + The ISO 216 A1 page size. + + + + + The ISO 216 A2 page size. + + + + + The ISO 216 A3 page size. + + + + + The ISO 216 A4 page size. + + + + + The ISO 216 A5 page size. + + + + + The ISO 216 A6 page size. + + + + + The ISO 216 A7 page size. + + + + + The ISO 216 A8 page size. + + + + + The ISO 216 A9 page size. + + + + + The ISO 216 A10 page size. + + + + + The North American Letter page size. + + + + + The North American Legal page size. + + + + + The North American Ledger page size. + + + + + The North American Tabloid page size. + + + + + The North American Executive page size. + + + + + Contains the values inherited from the Page Tree for this page. + + + + + A node in the PDF document's page tree. + Nodes may either be of type 'Page' - a single page, or 'Pages' - a container for multiple child Page + or Pages nodes. + + + + + The dictionary for this node in the page tree. + + + + + The indirect reference for this node in the page tree. + + + + + Whether this node is a page or not. If not it must be a /Pages container. + + + + + The number of this page if is . + + + + + The child nodes of this node if is + + + + + The parent node of this node, unless it is the root node. + + + + + Whether this node is the root node. + + + + + Create a new . + + + + + + + + Orientation of the text. + + + + + Other text orientation. + + + + + Usual text orientation (Left to Right). + + + + + Horizontal text, upside down. + + + + + Rotated text going down. + + + + + Rotated text going up. + + + + + A word. + + + + + The text of the word. + + + + + The text orientation of the word. + + + + + The rectangle completely containing the word. + + + + + The name of the font for the word. + + + + + The letters contained in the word. + + + + + Create a new . + + The letters contained in the word, in the correct order. + + + + Bound angle so that -180 ≤ θ ≤ 180. + + The angle to bound. + + + + + + + Wraps an XML based Extensible Metadata Platform (XMP) document. These XML documents are embedded in PDFs to provide metadata + about objects (the entire document, images, etc). They can be present as plain text or encoded/encrypted streams. + + + + + The underlying for this metadata. + + + + + Get the decoded bytes for the metadata stream. This can be interpreted as a sequence of plain-text bytes. + + The bytes for the metadata object with any filters removed. + + + + Gets the metadata stream as an . + + The for the XMP XML. + + + + The cross-reference table contains information that enables random access to PDF objects within the file by object number + so that specific objects can be located directly without having to scan the whole document. + A PDF document may contain multiple cross reference tables, this class provides access to the merged result with the latest + offset for each object. The offsets of the original cross reference tables or streams merged into this result are available + in the list. + + + + + The corresponding byte offset for each keyed object in this document. + + + + + The type of the first cross-reference table located in this document. + + + + + The trailer dictionary. + + + + + The byte offsets of each cross-reference table or stream in this document and the previous + table or stream they link to if applicable. + + + + + The offset of a cross-reference table or stream in the document. + + + + + The offset in bytes from the start of the document where the stream or table starts. + + + + + The offset in bytes from the start of the document where the previous stream or table in a document + containing incremental updates can be found, if applicable. + + + + + Create a new . + + The offset in bytes from the start of the document where the stream or table starts. + The offset in bytes from the start of the document where the previous stream or table in a document starts. + + + + + + + + + + The table contains a one-line entry for each indirect object, specifying the location of that object within the body of the file. + + + + + + + + The format of an in-use entry is + nnnnnnnnnn ggggg n eol + where + nnnnnnnnnn is a 10-digit byte offset + ggggg is a 5-digit generation number + n is a literal keyword identifying this as an in-use entry + eol is a 2-character end-of-line sequence + + + The byte offset is a 10-digit number, padded with leading zeros if necessary, + giving the number of bytes from the beginning of the file to the beginning of the + object. + + + + + For Xref streams indicated by tables they should be used together when constructing the final table. + + + + + The type of a cross-reference section in a PDF document. + + + + + A cross-reference table. + + + + + A cross-reference stream. + + + + + Contains information for interpreting the cross-reference table. + + + + + The total number of object entries across both the original cross-reference table + and in any incremental updates. + + + Any object in a cross-reference section whose number is greater than this value is + ignored and considered missing. + + + + + The offset in bytes to the previous cross-reference table or stream + if the document has more than one cross-reference section. + + + + + The object reference for the document's catalog dictionary. + + + + + The object reference for the document's information dictionary if it contains one. + + + + + A list containing two-byte string tokens which act as file identifiers. + + + + + The document's encryption dictionary. + + + + + Create a new . + + The parsed dictionary from the document. + + + + + + + The method used by the consumer application to decrypt data. + + + + + The application does not decrypt data but directs the input stream + to the security handler for decryption. + + + + + The application asks the security handler for the encryption key + and implicitly decrypts data using the RC4 algorithm. + + + + + (PDF 1.6) The application asks the security handler for the encryption key and implicitly decrypts data using the AES algorithm in Cipher Block Chaining (CBC) mode + with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. + + + + + The application asks the security handler for the encryption key and implicitly decrypts data using the AES-256 algorithm in Cipher Block Chaining (CBC) with padding mode + with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. + The key size shall be 256 bits. + + + + + The event to be used to trigger the authorization that is required + to access encryption keys used by this filter. + + + + + Authorization is required when a document is opened. + + + + + Authorization is required when accessing embedded files. + + + + + A code specifying the algorithm to be used in encrypting and decrypting the document. + + + + + An algorithm that is undocumented and no longer supported. + + + + + RC4 or AES encryption using a key of 40 bits. + + + + + RC4 or AES encryption using a key of more than 40 bits. + + + + + An unpublished algorithm that permits encryption key lengths ranging from 40 to 128 bits. + + + + + The security handler defines the use of encryption and decryption in the document with a key length of 128 bits. + + + + + The security handler defines the use of encryption and decryption in the document with a key length of 256 bits. + + + + + Since ISO isn't fit for purpose they charge £200 to see the PDF 2 spec so it's not possible to know what the specification for this revision is. + + + + + Required if is 5 or above. A 32-byte string, based on the owner and user passwords that is used in computing the encryption key. + + + + + Required if is 5 or above. A 32-byte string, based on the user password that is used in computing the encryption key. + + + + + This is the revision 6 algorithm the specification for which can't be viewed unless you pay the ISO a lot of money (which makes me extremely angry). + This is an attempt to port directly from PDFBox code. + + The truncated user or owner password. + The 8 byte user or owner key validation salt. + Used when hashing owner password in which case it is the 48 byte /U key. + + + + Manages decryption of tokens in a PDF document where encryption is used. + + + + + (Revision 2) Print the document. + (Revision 3 or greater) Print the document (possibly not at the highest quality level, see ). + + + + + Modify the contents of the document by operations other than those + controlled by , and . + + + + + (Revision 2) Copy or otherwise extract text and graphics from the document, including extracting text and graphics + (in support of accessibility to users with disabilities or for other purposes). + (Revision 3 or greater) Copy or otherwise extract text and graphics from the document by operations other + than that controlled by . + + + + + Add or modify text annotations, fill in interactive form fields, and, if is also set, + create or modify interactive form fields (including signature fields). + + + + + (Revision 3 or greater) Fill in existing interactive form fields (including signature fields), + even if is clear. + + + + + (Revision 3 or greater) Extract text and graphics (in support of accessibility to users with disabilities or for other purposes). + + + + + (Revision 3 or greater) Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), + even if is clear. + + + + + (Revision 3 or greater) Print the document to a representation from which a faithful digital copy of the PDF content could be generated. + When this is clear (and is set), printing is limited to a low-level representation of the appearance, + possibly of degraded quality. + + + + + + The document is encrypted and cannot be decrypted. + + + + + + + + + + + + + + + + + + ASCII 85 (Base85) is a binary to text encoding using 5 ASCII characters per 4 bytes of data. + + + + + + + + + + + + Encodes/decodes data using the ASCII hexadecimal encoding where each byte is represented by two ASCII characters. + + + + + + + + + + + Specifies the compression type to use with . + + + + + Modified Huffman (MH) - Group 3 variation (T2) + + + + + Modified Huffman (MH) - Group 3 (T4) + + + + + Modified Read (MR) - Group 3 (T4) + + + + + Modified Modified Read (MMR) - Group 4 (T6) + + + + + Decodes image data that has been encoded using either Group 3 or Group 4. + + Ported from https://github.com/apache/pdfbox/blob/714156a15ea6fcfe44ac09345b01e192cbd74450/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java + + + + + + + + + + + CCITT Modified Huffman RLE, Group 3 (T4) and Group 4 (T6) fax compression. + + Ported from https://github.com/apache/pdfbox/blob/e644c29279e276bde14ce7a33bdeef0cb1001b3e/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecoderStream.java + + + + + Creates a CCITTFaxDecoderStream. + This constructor may be used for CCITT streams embedded in PDF files, + which use EncodedByteAlign. + + + + + + + + + + + + The default implementation of the . + + + + + The single instance of this provider. + + + + + + + + + + + + + + + The Flate filter is based on the public-domain zlib/deflate compression method, a variable-length Lempel-Ziv + adaptive compression method cascaded with adaptive Huffman coding. + It is fully defined in Internet RFCs 1950, ZLIB Compressed Data Format Specification, and + 1951, DEFLATE Compressed Data Format Specification + + + See section 3.3.3 of the spec (version 1.7) for details on the FlateDecode filter. + The flate decode filter may have a predictor function to further compress the stream. + + + + + + + + + + + A filter is used in a PDF to encode/decode data either to compress it or derive an ASCII representation of the data. + + + + + Whether this library can decode information encoded using this filter. + + + + + Decodes data encoded using this filter type. + + The encoded bytes which were encoded using this filter. + The dictionary of the (or other dictionary types, e.g. inline images) containing these bytes. + The position of this filter in the pipeline used to encode data. + The decoded bytes. + + + + Gets filter implementations () for decoding PDF data. + + + + + Get the filters specified in this dictionary. + + + + + Gets the filters specified by the filter names. + + + + + Get all available filters in this library. + + + + + + + + + + + + + + + + + + The LZW (Lempel-Ziv-Welch) filter is a variable-length, adaptive compression method + that has been adopted as one of the standard compression methods in the Tag Image File Format (TIFF) standard. + + + + + + + + + + + GetLongOrDefault value from bit interval from a byte + + + + + Set value input a bit interval and return that value + + + + + + The Run Length filterencodes data in a simple byte-oriented format based on run length. + The encoded data is a sequence of runs, where each run consists of a length byte followed by 1 to 128 bytes of data. + + + + + + + + + + + This class represents a function in a PDF document. + + + + + The function dictionary. + + + + + The function stream. + + + + + This class represents a function in a PDF document. + + + + + This class represents a function in a PDF document. + + + + + Returns the function type. Possible values are: + + 0Sampled function + 2Exponential interpolation function + 3Stitching function + 4PostScript calculator function + + + the function type. + + + + Returns the function's dictionary. If is defined, it will be returned. + If not, the 's StreamDictionary will be returned. + + + + + This will get the number of output parameters that + have a range specified. A range for output parameters + is optional so this may return zero for a function + that does have output parameters, this will simply return the + number that have the range specified. + + The number of output parameters that have a range specified. + + + + This will get the range for a certain output parameters. This is will never + return null. If it is not present then the range 0 to 0 will + be returned. + + The output parameter number to get the range for. + The range for this component. + + + + This will get the number of input parameters that + have a domain specified. + + The number of input parameters that have a domain specified. + + + + This will get the range for a certain input parameter. This is will never + return null. If it is not present then the range 0 to 0 will + be returned. + + The parameter number to get the domain for. + The domain range for this component. + + + + Evaluates the function at the given input. + ReturnValue = f(input) + + The array of input values for the function. + In many cases will be an array of a single value, but not always. + The of outputs the function returns based on those inputs. + In many cases will be an array of a single value, but not always. + + + + Returns all ranges for the output values as . Required for type 0 and type 4 functions. + + the ranges array. + + + + Returns all domains for the input values as . Required for all function types. + + the domains array. + + + + Clip the given input values to the ranges. + + inputValues the input values + the clipped values + + + + Clip the given input value to the given range. + + x the input value + the min value of the range + the max value of the range + the clipped value + + + + For a given value of x, interpolate calculates the y value + on the line defined by the two points (xRangeMin, xRangeMax) + and (yRangeMin, yRangeMax). + + the value to be interpolated value. + the min value of the x range + the max value of the x range + the min value of the y range + the max value of the y range + the interpolated y value + + + + Pdf function types. + + + + + Sampled function. + + + + + Exponential interpolation function. + + + + + Stitching function. + + + + + PostScript calculator function. + + + + + The samples of the function. + + + + + Stitching function + + + + + Stitching function + + + + + The "Size" entry, which is the number of samples in each input dimension of the sample table. + An array of m positive integers specifying the number of samples in each input dimension of the sample table. + + + + + Get the number of bits that the output value will take up. + Valid values are 1,2,4,8,12,16,24,32. + + Number of bits for each output value. + + + + Get the order of interpolation between samples. Valid values are 1 and 3, + specifying linear and cubic spline interpolation, respectively. Default + is 1. See p.170 in PDF spec 1.7. + + order of interpolation. + + + + An array of 2 x m numbers specifying the linear mapping of input values + into the domain of the function's sample table. Default value: [ 0 (Size0 + - 1) 0 (Size1 - 1) ...]. + + + + + An array of 2 x n numbers specifying the linear mapping of sample values + into the range appropriate for the function's output values. Default + value: same as the value of Range. + + + + + Get the encode for the input parameter. + + The function parameter number. + The encode parameter range or null if none is set. + + + + Get the decode for the input parameter. + + The function parameter number. + The decode parameter range or null if none is set. + + + + Inner class do to an interpolation in the Nth dimension by comparing the + content size of N-1 dimensional objects.This is done with the help of + recursive calls. + To understand the algorithm without recursion, see for a bilinear interpolation + and for trilinear interpolation. + + + + + + Constructor. + + the input coordinates + coordinate of the "ceil" point + coordinate of the "floor" point + + + + + + + Calculate the interpolation. + + interpolated result sample + + + + Do a linear interpolation if the two coordinates can be known, or + call itself recursively twice. + + partially set coordinate (not set from step + upwards); gets fully filled in the last call ("leaf"), where it is + used to get the correct sample + between 0 (first call) and dimension - 1 + interpolated result sample + + + + calculate array index (structure described in p.171 PDF spec 1.7) in multiple dimensions. + + with coordinates + index in flat array + + + + Get all sample values of this function. + + an array with all samples. + + + + Exponential interpolation function + + + + + Exponential interpolation function + + + + + The C0 values of the function, 0 if empty. + + + + + The C1 values of the function, 1 if empty. + + + + + The exponent of the function. + + + + + Stitching function + + + + + Stitching function + + + + + Stitching function + + + + + Returns all functions values. + + + + + Returns all bounds values as . + + the bounds array. + + + + Returns all encode values as . + + the encode array. + + + + Get the encode for the input parameter. + + The function parameter number. + The encode parameter range or null if none is set. + + + + PostScript calculator function + + + + + PostScript calculator function + + + + + Provides the arithmetic operators such as "add" and "sub". + + + + + the "Abs" operator. + + + + + the "add" operator. + + + + + the "atan" operator. + + + + + the "ceiling" operator. + + + + + the "cos" operator. + + + + + the "cvi" operator. + + + + + the "cvr" operator. + + + + + the "div" operator. + + + + + the "exp" operator. + + + + + the "floor" operator. + + + + + the "idiv" operator. + + + + + the "ln" operator. + + + + + the "log" operator. + + + + + the "mod" operator. + + + + + the "mul" operator. + + + + + the "neg" operator. + + + + + the "round" operator. + + + + + the "sin" operator. + + + + + the "sqrt" operator. + + + + + the "sub" operator. + + + + + the "truncate" operator. + + + + + Abstract base class for logical operators. + + + + + Implements the "and" operator. + + + + + Implements the "bitshift" operator. + + + + + Implements the "false" operator. + + + + + Implements the "not" operator. + + + + + Implements the "or" operator. + + + + + Implements the "true" operator. + + + + + Implements the "xor" operator. + + + + + Provides the conditional operators such as "if" and "ifelse". + + + + + Implements the "if" operator. + + + + + Implements the "ifelse" operator. + + + + + The stack used by this execution context. + + + + + Creates a new execution context. + + the operator set + + + + Returns the operator set used by this execution context. + + the operator set + + + + Pops a number (int or real) from the stack. If it's neither data type, a is thrown. + + the number + + + + Pops a value of type int from the stack. If the value is not of type int, a is thrown. + + the int value + + + + Pops a number from the stack and returns it as a real value. If the value is not of a numeric type, + a is thrown. + + the real value + + + + Add a name (ex. an operator) + + the name + + + + Adds an int value. + + the value + + + + Adds a real value. + + the value + + + + Adds a bool value. + + the value + + + + Adds a proc (sub-sequence of instructions). + + the child proc + + + + Executes the instruction sequence. + + the execution context + + + + Basic parser for Type 4 functions which is used to build up instruction sequences. + + + + + Returns the instruction sequence that has been build from the syntactic elements. + + the instruction sequence + + + + Parses the given text into an instruction sequence representing a Type 4 function that can be executed. + + the Type 4 function text + the instruction sequence + + + + + + + Interface for PostScript operators.e + + + + + Executes the operator. The method can inspect and manipulate the stack. + + the execution context + + + + This class provides all the supported operators. + + + + + Creates a new Operators object with the default set of operators. + + + + + Returns the operator for the given operator name. + + the operator name + the operator (or null if there's no such operator + + + + Parser for PDF Type 4 functions. This implements a small subset of the PostScript + language but is no full PostScript interpreter. + + + + + Used to indicate the parsers current state. + + + + + Parses a Type 4 function and sends the syntactic elements to the given syntax handler. + + the text source + the syntax handler + + + + This interface defines all possible syntactic elements of a Type 4 function. + It is called by the parser as the function is interpreted. + + + + + Indicates that a new line starts. + + the new line character (CR, LF, CR/LF or FF) + + + + Called when whitespace characters are encountered. + + the whitespace text + + + + Called when a token is encountered. No distinction between operators and values is done here. + + the token text + + + + Called for a comment. + + the comment + + + + Abstract base class for a . + + + + + + + + + + + + + + + + + Tokenizer for Type 4 functions. + + + + + Provides the relational operators such as "eq" and "le". + + + + + Implements the "eq" operator. + + + + + Abstract base class for number comparison operators. + + + + + Implements the "ge" operator. + + + + + Implements the "gt" operator. + + + + + Implements the "le" operator. + + + + + Implements the "lt" operator. + + + + + Implements the "ne" operator. + + + + + Provides the stack operators such as "Pop" and "dup". + + + + + Implements the "copy" operator. + + + + + Implements the "dup" operator. + + + + + Implements the "exch" operator. + + + + + Implements the "index" operator. + + + + + Implements the "Pop" operator. + + + + + Implements the "roll" operator. + + + + + returns 0 if false, +1 if true, -1 if pt ON polygon boundary. + See "The Point in Polygon Problem for Arbitrary Polygons" by Hormann and Agathos + + + + + + + + Convert self-intersecting polygons into simple polygons. + + + + + + + + Convert self-intersecting polygons into simple polygons. + + + + + + + + This function is more accurate when the point that's GEOMETRICALLY between the other + 2 points is the one that's tested for distance. + nb: with 'spikes', either pt1 or pt3 is geometrically between the other pts"> + + + + + + + + + + Clean polygon. + + + proximity in units/pixels below which vertices will be stripped. + Default ~= sqrt(2) so when adjacent vertices or semi-adjacent vertices have both x and y coords within 1 unit, then the second vertex will be stripped. + + + + Clean polygon. + + + proximity in units/pixels below which vertices will be stripped. + Default ~= sqrt(2) so when adjacent vertices or semi-adjacent vertices have both x and y coords within 1 unit, then the second vertex will be stripped. + + + + By far the most widely used winding rules for polygon filling are + EvenOdd and NonZero (GDI, GDI+, XLib, OpenGL, Cairo, AGG, Quartz, SVG, Gr32) + Others rules include Positive, Negative and ABS_GTR_EQ_TWO (only in OpenGL) + see http://glprogramming.com/red/chapter11.html + + + + + OutRec: contains a path in the clipping solution. Edges in the AEL will + carry a pointer to an OutRec when they are part of the clipping solution. + + + + + Applies clipping from a clipping path to another path. + + + + + Number of lines to use when transforming bezier curve to polyline. + + + + + Generates the result of applying a clipping path to another path. + + + + + Converts a path to a set of points for the Clipper algorithm to use. + Allows duplicate points as they will be removed by Clipper. + + + + + Extension class to Geometry. + + + + + Return true if the points are in counter-clockwise order. + + The first point. + The second point. + The third point. + + + + Get the dot product of both points. + + The first point. + The second point. + + + + Get a point with the summed coordinates of both points. + + The first point. + The second point. + + + + Get a point with the substracted coordinates of both points. + + The first point. + The second point. + + + + Algorithm to find a minimal bounding rectangle (MBR) such that the MBR corresponds to a rectangle + with smallest possible area completely enclosing the polygon. + From 'A Fast Algorithm for Generating a Minimal Bounding Rectangle' by Lennert D. Den Boer. + + + Polygon P is assumed to be both simple and convex, and to contain no duplicate (coincident) vertices. + The vertices of P are assumed to be in strict cyclic sequential order, either clockwise or + counter-clockwise relative to the origin P0. + + + + + Algorithm to find the (oriented) minimum area rectangle (MAR) by first finding the convex hull of the points + and then finding its MAR. + + The points. + + + + Algorithm to find the oriented bounding box (OBB) by first fitting a line through the points to get the slope, + then rotating the points to obtain the axis-aligned bounding box (AABB), and then rotating back the AABB. + + The points. + + + + Algorithm to find the convex hull of the set of points with time complexity O(n log n). + + + + + Whether the point is located inside the rectangle. + + The rectangle that should contain the point. + The point that should be contained within the rectangle. + If set to false, will return false if the point belongs to the border. + + + + Whether the other rectangle is located inside the rectangle. + + The rectangle that should contain the other rectangle. + The other rectangle that should be contained within the rectangle. + If set to false, will return false if the rectangles share side(s). + + + + Whether two rectangles overlap. + Returns false if the two rectangles only share a border. + + + + + Gets the that is the intersection of two rectangles. + Only works for axis-aligned rectangles. + + + + + Gets the axis-aligned rectangle that completely containing the original rectangle, with no rotation. + + + + + + Whether the rectangle and the line intersect. + + + + + + + Gets the that is the intersection of the rectangle and the line. + + + + + + + Gets the list of s that are the intersection of the rectangle and the lines. + + + + + + + + Whether the point is located on the line segment. + + + + + Whether two lines intersect. + + + + + Whether two lines intersect. + + + + + Get the that is the intersection of two lines. + + + + + Get the that is the intersection of two lines. + + + + + Checks if both lines are parallel. + + + + + Checks if both lines are parallel. + + + + + Gets the that is the intersection of the rectangle and the line. + + + + + + + Whether the rectangle and the line intersect. + + + + + + + Whether the point is located on the line segment. + + + + + Whether two lines intersect. + + + + + Whether two lines intersect. + + + + + Get the that is the intersection of two lines. + + + + + Get the that is the intersection of two lines. + + + + + Checks if both lines are parallel. + + + + + Checks if both lines are parallel. + + + + + Whether the line formed by and + intersects the line formed by and . + + + + + The intersection of the line formed by and + intersects the rectangle. + + + + + Whether the line formed by and + intersects the rectangle. + + + + + Split a bezier curve into 2 bezier curves, at tau. + + The original bezier curve. + The t value were to split the curve, usually between 0 and 1, but not necessary. + + + + Checks if the curve and the line are intersecting. + Avoid using this method as it is not optimised. Use instead. + + + + + Checks if the curve and the line are intersecting. + Avoid using this method as it is not optimised. Use instead. + + + + + Get the s that are the intersections of the line and the curve. + + + + + Get the s that are the intersections of the line and the curve. + + + + + Get the t values that are the intersections of the line and the curve. + + List of t values where the and the intersect. + + + + Get the t values that are the intersections of the line and the curve. + + List of t values where the and the intersect. + + + + nb: returns MaxInt ((2^32)-1) when pt is on a line + + + + + Whether the point is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the point. + The point that should be contained within the subpath. + If set to false, will return false if the point belongs to the subpath's border. + + + + Whether the rectangle is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the rectangle. + The rectangle that should be contained within the subpath. + If set to false, will return false if the rectangle is on the subpath's border. + + + + Whether the other subpath is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the rectangle. + The other subpath that should be contained within the subpath. + If set to false, will return false if the other subpath is on the subpath's border. + + + + Get the area of the path. + + + + + + Whether the point is located inside the path. + + The path that should contain the point. + The point that should be contained within the path. + If set to false, will return false if the point belongs to the path's border. + + + + Whether the rectangle is located inside the path. + + The path that should contain the rectangle. + The rectangle that should be contained within the path. + If set to false, will return false if the rectangle is on the path's border. + + + + Whether the subpath is located inside the path. + + The path that should contain the subpath. + The subpath that should be contained within the path. + If set to false, will return false if the subpath is on the path's border. + + + + Whether the other path is located inside the path. + + The path that should contain the path. + The other path that should be contained within the path. + If set to false, will return false if the other subpath is on the path's border. + + + + Get the real roots of a Cubic (or Quadratic, a=0) equation. + ax^3 + bx^2 + cx + d = 0 + + ax^3 + bx^2 + cx + d + + + + By default user space units correspond to 1/72nd of an inch (a typographic point). + The UserUnit entry in a page dictionary can define the space units as a different multiple of 1/72 (1 point). + + + + + The number of points (1/72nd of an inch) corresponding to a single unit in user space. + + + + + Create a new unit specification for a page. + + + + + Encapsulates the algorithm for chromatic adaptation described here: + http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html + + + + + Transformer for CIEBased color spaces. + + In addition to the PDF spec itself, the transformation implementation is based on the descriptions in: + https://en.wikipedia.org/wiki/SRGB#The_forward_transformation_(CIE_XYZ_to_sRGB) and + http://www.brucelindbloom.com/index.html?Eqn_XYZ_to_RGB.html + + + + + + Transforms the supplied ABC color to the RGB color of the + that was supplied to this as the destination + workspace. + A, B and C represent red, green and blue calibrated color values in the range 0 to 1. + + + + + A color with cyan, magenta, yellow and black (K) components. + + + + + CMYK Black value (0, 0, 0, 1). + + + + + CMYK White value (all 0). + + + + + + + + The cyan value. + + + + + The magenta value. + + + + + The yellow value. + + + + + The black value. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + Color values in a PDF are interpreted according to the current color space. + Color spaces enable a PDF to specify abstract colors in a device independent way. + + + + + Grayscale. Controls the intensity of achromatic light on a scale from black to white. + + + + + RGB. Controls the intensities of red, green and blue light. + + + + + CMYK. Controls the concentrations of cyan, magenta, yellow and black (K) inks. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalGray - Special case of the CIE colorspace using a single channel (A) and a single transformation. + A represents the gray component of a calibrated gray space in the range 0 to 1. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0 to 1. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + Lab - A CIE ABC color space with two transforms. A, B and C represent the L*, a* and b* + components of a CIE 1976 L*a*b* space. The range of A (L*) is 0 to 100. + The range of B (a*) and C (b*) are defined by the Range of the color space. + + + + + ICC (International Color Consortium) colorspace. + ICC - Colorspace specified by a sequence of bytes which are interpreted according to the + ICC specification. + + + + + An Indexed color space allows a PDF content stream to use small integers as indices into a color map or color table of arbitrary colors in some other space. + A PDF consumer application treats each sample value as an index into the color table and uses the color value it finds there. + + + + + Enables a PDF content stream to paint an area with a pattern rather than a single color. + The pattern may be either a tiling pattern (type 1) or a shading pattern (type 2). + + + + + Provides a means for specifying the use of additional colorants or for isolating the control of individual color components of + a device color space for a subtractive device. + When such a space is the current color space, the current color is a single-component value, called a tint, + that controls the application of the given colorant or color components only. + + + + + Can contain an arbitrary number of color components. They provide greater flexibility than is possible with standard device color + spaces such as or with individual color spaces. + For example, it is possible to create a DeviceN color space consisting of only the cyan, magenta, and yellow color components, + with the black component excluded. + + + + + Contains more document-specific information about the . + + + + + The type of the ColorSpace. + + + + + The number of components for the color space. + + + + + The underlying type of , usually equal to + unless or . + + + + + The number of components for the underlying color space. + + + + + Create a new . + + + + + Get the color. + + + + + Get the color, without check and caching. + + + + + Get the color that initialize the current stroking or nonstroking colour. + + + + + Transform image bytes. + + + + + Convert to byte. + + + + + A grayscale value is represented by a single number in the range 0.0 to 1.0, + where 0.0 corresponds to black, 1.0 to white, and intermediate values to different gray levels. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + Color values are defined by three components representing the intensities of the additive primary colorants red, green and blue. + Each component is specified by a number in the range 0.0 to 1.0, where 0.0 denotes the complete absence of a primary component and 1.0 denotes maximum intensity. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + Color values are defined by four components cyan, magenta, yellow and black. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + An Indexed color space allows a PDF content stream to use small integers as indices into a color map or color table of arbitrary colors in some other space. + A PDF consumer treats each sample value as an index into the color table and uses the color value it finds there. + + + + + Creates a indexed color space useful for extracting stencil masks as black-and-white images, + i.e. with a color palette of two colors (black and white). If the decode parameter array is + [0, 1] it indicates that black is at index 0 in the color palette, whereas [1, 0] indicates + that the black color is at index 1. + + + + + + + + + In the case of , gets the ' BaseNumberOfColorComponents. + + + + + The base color space in which the values in the color table are to be interpreted. + It can be any device or CIE-based color space or (in PDF 1.3) a Separation or DeviceN space, + but not a Pattern space or another Indexed space. + + + + + An integer that specifies the maximum valid index value. Can be no greater than 255. + + + + + Provides the mapping between index values and the corresponding colors in the base color space. + + + + + Create a new . + + + + + + + + + + + + + + + + Unwrap then transform using base color space details. + + + + + + DeviceN colour spaces may contain an arbitrary number of colour components. They provide greater flexibility than + is possible with standard device colour spaces such as DeviceCMYK or with individual Separation colour spaces. + + + + + + The 'N' in DeviceN. + + + + + + + + Specifies name objects specifying the individual colour components. The length of the array shall + determine the number of components in the DeviceN colour space. + + + The component names shall all be different from one another, except for the name None, which may be repeated. + + The special name All, used by Separation colour spaces, shall not be used. + + + + + + If the colorant name associated with a DeviceN color space does not correspond to a colorant available on the device, + the application arranges for subsequent painting operations to be performed in an alternate color space. + The intended colors can be approximated by colors in a device or CIE-based color space + which are then rendered with the usual primary or process colorants. + + + + + The optional attributes parameter shall be a dictionary containing additional information about the components of + colour space that conforming readers may use. Conforming readers need not use the alternateSpace and tintTransform + parameters, and may instead use custom blending algorithms, along with other information provided in the attributes + dictionary if present. + + + + + During subsequent painting operations, an application calls this function to transform a tint value into + color component values in the alternate color space. + The function is called with the tint value and must return the corresponding color component values. + That is, the number of components and the interpretation of their values depend on the . + + + + + Create a new . + + + + + + + + + + + + + + + + + DeviceN Color Space Attributes. + + + + + A name specifying the preferred treatment for the colour space. Values shall be DeviceN or NChannel. Default value: DeviceN. + + + + + Colorants - dictionary - Required if Subtype is NChannel and the colour space includes spot colorants; otherwise optional. + + + + + Process - dictionary - Required if Subtype is NChannel and the colour space includes components of a process colour space, otherwise optional. + + + + + MixingHints - dictionary - Optional + + + + + Create a new . + + + + + Create a new . + + + + + A Separation color space provides a means for specifying the use of additional colorants or + for isolating the control of individual color components of a device color space for a subtractive device. + When such a space is the current color space, the current color is a single-component value, called a tint, + that controls the application of the given colorant or color components only. + + + + + + + + + + + Specifies the name of the colorant that this Separation color space is intended to represent. + + + + The special colorant name All refers collectively to all colorants available on an output device, + including those for the standard process colorants. + + + The special colorant name None never produces any visible output. + Painting operations in a Separation space with this colorant name have no effect on the current page. + + + + + + If the colorant name associated with a Separation color space does not correspond to a colorant available on the device, + the application arranges for subsequent painting operations to be performed in an alternate color space. + The intended colors can be approximated by colors in a device or CIE-based color space + which are then rendered with the usual primary or process colorants. + + + + + During subsequent painting operations, an application calls this function to transform a tint value into + color component values in the alternate color space. + The function is called with the tint value and must return the corresponding color component values. + That is, the number of components and the interpretation of their values depend on the . + + + + + Create a new . + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalGray - A CIE A color space with a single transformation. + A represents the gray component of a calibrated gray space. The component must be in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + A number defining the gamma for the gray (A) component. Gamma must be positive and is generally + greater than or equal to 1. Default value: 1. + + + + + Create a new . + + + + + Transforms the supplied A color to grayscale RGB (sRGB) using the propties of this + in the transformation process. + A represents the gray component of a calibrated gray space. The component must be in the range 0.0 to 1.0. + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + An array of three numbers [GR GG GB] specifying the gamma for the red, green and blue (A, B, C) components + of the color space. Default value: [1.0 1.0 1.0]. + + + + + An array of nine numbers [XA YA ZA XB YB ZB XC YC ZC] specifying the linear interpretation of the + decoded A, B, C components of the color space with respect to the final XYZ representation. Default value: + [1 0 0 0 1 0 0 0 1]. + + + + + Create a new . + + + + + Transforms the supplied ABC color to RGB (sRGB) using the propties of this + in the transformation process. + A, B and C represent red, green and blue calibrated color values in the range 0.0 to 1.0. + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + An array of four numbers [a_min a_max b_min b_max] that shall specify the range of valid values for the a* and b* (B and C) + components of the colour space — that is, a_min ≤ a* ≤ a_max and b_min ≤ b* ≤ b_max + Component values falling outside the specified range shall be adjusted to the nearest valid value without error indication. + Default value: [−100 100 −100 100]. + + + + + Create a new . + + + + + Transforms the supplied ABC color to RGB (sRGB) using the properties of this + in the transformation process. + A, B and C represent the L*, a*, and b* components of a CIE 1976 L*a*b* space. The range of the first (L*) + component shall be 0 to 100; the ranges of the second and third (a* and b*) components shall be defined by + the Range entry in the colour space dictionary + + + + + + + + + + + + + + + + + The ICCBased color space is one of the CIE-based color spaces supported in PDFs. These color spaces + enable a page description to specify color values in a way that is related to human visual perception. + The goal is for the same color specification to produce consistent results on different output devices, + within the limitations of each device. + + Currently support for this color space is limited in PdfPig. Calculations will only be based on + the color space of . + + + + + + The number of color components in the color space described by the ICC profile data. + This numbers shall match the number of components actually in the ICC profile. + Valid values are 1, 3 and 4. + + + + + + + + An alternate color space that can be used in case the one specified in the stream data is not + supported. Non-conforming readers may use this color space. The alternate color space may be any + valid color space (except a Pattern color space). If this property isn't explicitly set during + construction, it will assume one of the color spaces, DeviceGray, DeviceRGB or DeviceCMYK depending + on whether the value of is 1, 3 or respectively. + + Conversion of the source color values should not be performed when using the alternate color space. + Color values within the range of the ICCBased color space might not be within the range of the + alternate color space. In this case, the nearest values within the range of the alternate space + must be substituted. + + + + + + A list of 2 x numbers [min0 max0 min1 max1 ...] that + specifies the minimum and maximum valid values of the corresponding color components. These + values must match the information in the ICC profile. Default value: [0.0 1.0 0.0 1.0 ...]. + + + + + An optional metadata stream that contains metadata for the color space. + + + + + Create a new . + + + + + + + + + + + + + + + + + Pattern color space. + + + + + The pattern dictionary. + + + + + + + Cannot be called for , will throw a . + + + + + + + + Valid for Uncoloured Tiling Patterns. Wwill throw a otherwise. + + + + + + The underlying color space for Uncoloured Tiling Patterns. + + + + + Create a new . + + The patterns. + The underlying colour space for Uncoloured Tiling Patterns. + + + + Get the corresponding . + + + + + + + + Cannot be called for , will throw a . + + + + + + + + Cannot be called for , will throw a . + Use instead. + + + + + + + + Always returns null. + + + + + + Cannot be called for , will throw a . + + + + + + A ColorSpace which the PdfPig library does not currently support. Please raise a PR if you need support for this ColorSpace. + + + + + The single instance of the . + + + + + + + Cannot be called for , will throw a . + + + + + + + + Cannot be called for , will throw a . + + + + + + + + + + + + + + + + + + Provides utility extension methods for dealing with s. + + + + + Gets the corresponding for a given . + + + + + Maps from a to the corresponding if one exists. + Includes extended color spaces. + + + + + Gets the corresponding for a given . + + + + + s can be classified into colorspace families. + s within the same family share general characteristics. + + + + + Device colorspaces directly specify colors or shades of gray that the output device + should produce. + + + + + CIE-based color spaces are based on an international standard for color specification created by + the Commission Internationale de l'Éclairage (International Commission on Illumination) (CIE). + These spaces specify colors in a way that is independent of the characteristics of any particular output device. + + + + + Special color spaces add features or properties to an underlying color space. + They include facilities for patterns, color mapping, separations, and high-fidelity and multitone color. + + + + + A grayscale color with a single gray component. + + + + + Gray Black value (0). + + + + + Gray White value (1). + + + + + + + + The gray value between 0 and 1. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + A color used for text or paths in a PDF. + + + + + The colorspace used for this color. + + + + + The color as RGB values (between 0 and 1). + + + + + A pattern color. + + Base class for and . + + + + + + 1 for tiling, 2 for shading. + + + + + The dictionary defining the pattern. + + + + + Graphics state parameter dictionary containing graphics state parameters to be put into effect temporarily while the shading + pattern is painted. Any parameters that are so specified shall be inherited from the graphics state that was in effect at the + beginning of the content stream in which the pattern is defined as a resource. + + + + + The pattern matrix (see 8.7.2, "General Properties of Patterns"). Default value: the identity matrix [1 0 0 1 0 0]. + + + + + + + + + + + + + Cannot be called for , will throw a . + + + + + + + + + A tiling pattern consists of a small graphical figure called a pattern cell. Painting with the pattern + replicates the cell at fixed horizontal and vertical intervals to fill an area. The effect is as if the + figure were painted on the surface of a clear glass tile, identical copies of which were then laid down + in an array covering the area and trimmed to its boundaries. + + + + + Content stream containing the painting operators needed to paint one instance of the cell. + + + + + A code that determines how the colour of the pattern cell shall be specified. + + + + + A code that controls adjustments to the spacing of tiles relative to the device pixel grid:. + + + + + The pattern cell's bounding box. These boundaries shall be used to clip the pattern cell. + + + + + The desired horizontal spacing between pattern cells, measured in the pattern coordinate system. + + XStep and YStep may differ from the dimensions of the pattern cell implied by the BBox entry. This allows tiling with irregularly shaped figures. + XStep and YStep may be either positive or negative but shall not be zero. + + + + + + The desired vertical spacing between pattern cells, measured in the pattern coordinate system. + + XStep and YStep may differ from the dimensions of the pattern cell implied by the BBox entry. This allows tiling with irregularly shaped figures. + XStep and YStep may be either positive or negative but shall not be zero. + + + + + + A resource dictionary that shall contain all of the named resources required by the pattern's content stream. + + + + + Content containing the painting operators needed to paint one instance of the cell. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + Shading patterns provide a smooth transition between colours across an area to be painted, independent of + the resolution of any particular output device and without specifying the number of steps in the colour transition. + + + + + A shading object defining the shading pattern's gradient fill. + + + + + Create a new . + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + A color space definition from a resource dictionary. + + + + + A color with red, green and blue components. + + + + + RGB Black value (all 0). + + + + + RGB White value (all 1). + + + + + + + + The red value between 0 and 1. + + + + + The green value between 0 and 1. + + + + + The blue value between 0 and 1. + + + + + Create a new . + + The red value between 0 and 1. + The green value between 0 and 1. + The blue value between 0 and 1. + + + + + + + + + + + Whether 2 RGB colors are equal across all channels. + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + A shading specifies details of a particular gradient fill, including the type + of shading to be used, the geometry of the area to be shaded, and the geometry of the + gradient fill. Various shading types are available, depending on the value of the + dictionary's ShadingType entry. + + + + + The dictionary defining the shading. + + + + + The shading type. + + + + + The colour space in which colour values shall beexpressed. + This may be any device, CIE-based, or special colour space except a Pattern space. + + + + + An array of colour components appropriate to the colour space, + specifying a single background colour value. If present, this + colour shall be used, before any painting operation involving + the shading, to fill those portions of the area to be painted + that lie outside the bounds of the shading object. + + + + + The shading's bounding box. The coordinates shall be interpreted + in the shading's target coordinate space. If present, this bounding + box shall be applied as a temporary clipping boundary when the shading + is painted, in addition to the current clipping path and any other + clipping boundaries in effect at that time. + + + + + The shading operators sample shading functions at a rate determined by + the resolution of the output device. Aliasing can occur if the function + is not smooth—that is, if it has a high spatial frequency relative to + the sampling rate. Anti-aliasing can be computationally expensive and + is usually unnecessary, since most shading functions are smooth enough + or are sampled at a high enough frequency to avoid aliasing effects. + Anti-aliasing may not be implemented on some output devices, in which + case this flag is ignored. + + + + + Create a new . + + + + + The shading's function(s), if any. + + + + + Convert the input values using the functions of the shading. + + + + + Function-based shadings (type 1) define the colour of every point in the domain using a + mathematical function (not necessarily smooth or continuous). + + + + + (Optional) An array of four numbers [xmin xmax ymin ymax] specifying the rectangular domain of + coordinates over which the colour function(s) are defined. + + Default value: [0.0 1.0 0.0 1.0]. + + + + + + (Optional) An array of six numbers specifying a transformation matrix mapping the coordinate + space specified by the Domain entry into the shading's target coordinate space. + + Default value: the identity matrix [1 0 0 1 0 0]. + + + + + + (Required) A 2-in, n-out function or an array of n 2-in, 1-out functions (where n is the + number of colour components in the shading dictionary's colour space). + Each function's domain shall be a superset of that of the shading dictionary. + If the value returned by the function for a given colour component is out of + range, it shall be adjusted to the nearest valid value. + + + + + Create a new . + + + + + Axial shadings (type 2) define a colour blend along a line between two points, optionally + extended beyond the boundary points by continuing the boundary colours. + + + + + (Required) An array of four numbers [x0 y0 x1 y1] specifying the starting and ending coordinates + of the axis, expressed in the shading's target coordinate space. + + + + + (Optional) An array of two numbers [t0 t1] specifying the limiting values of a parametric variable t. + The variable is considered to vary linearly between these two values as the colour gradient + varies between the starting and ending points of the axis. The variable t becomes the input + argument to the colour function(s). Default value: [0.0 1.0]. + + + + + (Required) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number of + colour components in the shading dictionary's colour space). The function(s) shall be + called with values of the parametric variable t in the domain defined by the Domain entry. + Each function's domain shall be a superset of that of the shading dictionary. If the value + returned by the function for a given colour component is out of range, it shall be adjusted + to the nearest valid value. + + + + + (Optional) An array of two boolean values specifying whether to extend the shading beyond the starting + and ending points of the axis, respectively. Default value: [false false]. + + + + + Create a new . + + + + + Radial shadings (type 3) define a blend between two circles, optionally extended beyond the + boundary circles by continuing the boundary colours. This type of shading is commonly used + to represent three-dimensional spheres and cones. + + + + + (Required) An array of six numbers [x0 y0 r0 x1 y1 r1] specifying the centres and radii of the starting + and ending circles, expressed in the shading's target coordinate space. The radii r0 and r1 + shall both be greater than or equal to 0. If one radius is 0, the corresponding circle shall + be treated as a point; if both are 0, nothing shall be painted. + + + + + (Optional) An array of two numbers [t0 t1] specifying the limiting values of a parametric variable t. + The variable is considered to vary linearly between these two values as the colour gradient + varies between the starting and ending circles. The variable t becomes the input argument + to the colour function(s). + + Default value: [0.0 1.0]. + + + + + + (Required) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number of + colour components in the shading dictionary's colour space). The function(s) shall be + called with values of the parametric variable t in the domain defined by the shading + dictionary's Domain entry. Each function’s domain shall be a superset of that of the + shading dictionary. If the value returned by the function for a given colour component + is out of range, it shall be adjusted to the nearest valid value. + + + + + (Optional) An array of two boolean values specifying whether to extend the shading beyond the starting + and ending points of the axis, respectively. + + Default value: [false false]. + + + + + + Create a new . + + + + + Free-form Gouraud-shaded triangle meshes (type 4) define a common construct used by many + three-dimensional applications to represent complex coloured and shaded shapes. Vertices + are specified in free-form geometry. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each vertex (see below). + The value of BitsPerFlag shall be 2, 4, or8, but only the least significant 2 bits + in each flag value shall beused. The value for the edge flag shall be 0, 1, or 2. + + + + + (Required) An array of numbers specifying how to map vertex coordinates and colour components + into the appropriate ranges of values. The decoding method is similar to that used + in image dictionaries. The ranges shall bespecified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n + is the number of colour components in the shading dictionary's colour space). If + this entry is present, the colour data for each vertex shall be specified by a + single parametric variable rather than by n separate colour components. + The designated function(s) shall be called with each interpolated value of the + parametric variable to determine the actual colour at each point. Each input + value shall be forced into the range interval specified for the corresponding + colour component in the shading dictionary's Decode array. Each function’s + domain shall be a superset of that interval. If the value returned by the + function for a given colour component is out of range, it shall be adjusted + to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Lattice-form Gouraud-shaded triangle meshes (type 5) are based on the same geometrical + construct as type 4 but with vertices specified as a pseudorectangular lattice. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of vertices in each row of the lattice; the value shall be greater than + or equal to 2. The number of rows need not be specified. + + + + + (Required) An array of numbers specifying how to map vertex coordinates and colour components + into the appropriate ranges of values. The decoding method is similar to that used + in image dictionaries. The ranges shall bespecified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number + of colour components in the shading dictionary's colour space). If this entry is present, + the colour data for each vertex shall be specified by a single parametric variable rather + than by n separate colour components. The designated function(s) shall be called with each + interpolated value of the parametric variable to determine the actual colour at each point. + Each input value shall be forced into the range interval specified for the corresponding + colour component in the shading dictionary's Decode array. Each function's domain shall be + a superset of that interval. If the value returned by the function for a given colour + component is out of range, it shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Coons patch meshes (type 6) construct a shading from one or more colour patches, each + bounded by four cubic Bézier curves. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each patch (see below). + The value shall be 2, 4, or 8, but only the least significant 2 bits in each flag + value shall be used. Valid values for the edge flag shall be 0, 1, 2, and 3. + + + + + (Required) An array of numbers specifying how to map coordinates and colour components into the + appropriate ranges of values. The decoding method is similar to that used in image + dictionaries. The ranges shall be specified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is + the number of colour components in the shading dictionary's colour space). If this + entry is present, the colour data for each vertex shall be specified by a single + parametric variable rather than by n separate colour components. The designated + function(s) shall be called with each interpolated value of the parametric variable + to determine the actual colour at each point. Each input value shall be forced into + the range interval specified for the corresponding colour component in the shading + dictionary's Decode array. Each function’s domain shall be a superset of that interval. + If the value returned by the function for a given colour component is out of range, it + shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Tensor-product patch meshes (type 7) are similar to type 6 but with additional control + points in each patch, affording greater control over colour mapping. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each patch (see below). + The value shall be 2, 4, or 8, but only the least significant 2 bits in each flag + value shall be used. Valid values for the edge flag shall be 0, 1, 2, and 3. + + + + + (Required) An array of numbers specifying how to map coordinates and colour components into the + appropriate ranges of values. The decoding method is similar to that used in image + dictionaries. The ranges shall be specified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is + the number of colour components in the shading dictionary's colour space). If this + entry is present, the colour data for each vertex shall be specified by a single + parametric variable rather than by n separate colour components. The designated + function(s) shall be called with each interpolated value of the parametric variable + to determine the actual colour at each point. Each input value shall be forced into + the range interval specified for the corresponding colour component in the shading + dictionary's Decode array. Each function’s domain shall be a superset of that interval. + If the value returned by the function for a given colour component is out of range, it + shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Shading types. + + + + + Function-based shading. + + + + + Axial shading. + + + + + Radial shading. + + + + + Free-form Gouraud-shaded triangle mesh. + + + + + Lattice-form Gouraud-shaded triangle mesh. + + + + + Coons patch mesh. + + + + + Tensor-product patch mesh + + + + + Stores each letter as it is encountered in the content stream. + + + + + Stores each path as it is encountered in the content stream. + + + + + Stores a link to each image (either inline or XObject) as it is encountered in the content stream. + + + + + Stores each marked content as it is encountered in the content stream. + + + + + A counter to track individual calls to operations used to determine if letters are likely to be + in the same word/group. This exposes internal grouping of letters used by the PDF creator which may correspond to the + intended grouping of letters into words. + + + + + The line cap style specifies the shape to be used at the ends of open subpaths (and dashes, if any) when they are stroked. + + + + + The stroke is squared off at the endpoint of the path. There is no projection beyond the end of the path. + + + + + A semicircular arc with a diameter equal to the line width is drawn around the endpoint and filled in. + + + + + The stroke continues beyond the endpoint of the path for a distance equal to half the line width and is squared off. + + + + + The line dash pattern controls the pattern of dashes and gaps used to stroke paths. + It is specified by a dash array and a dash phase. + + + + + The distance into the dash pattern at which to start the dash. + + + + + The numbers that specify the lengths of alternating dashes and gaps. + + + + + Create a new . + + The phase. . + The array. . + + + + The default solid line. + + + + + + + + The line join style specifies the shape to be used at the corners of paths that are stroked. + + + + + The outer edges of the strokes for the two segments are extended until they meet at an angle, as in a picture frame. + If the segments meet at too sharp an angle (as defined by the miter limit parameter), a bevel join is used instead. + + + + + An arc of a circle with a diameter equal to the line width is drawn around the point where the two segments meet, + connecting the outer edges of the strokes for the two segments + + + + + The two segments are finished with butt caps and the resulting notch beyond the ends of the segments is filled with a triangle. + + + + + Specifying a rendering intent allows a PDF file to set priorities regarding which properties to preserve and which to sacrifice for CIE colors. + + + + + No correction for the output medium's white point. Colors + only represented relative to the light source. + + + + + Combines light source and output medium's white point. + + + + + Emphasises saturation rather than colorimetric accuracy. + + + + + Modifies from colorimetric values to provide a "pleasing perceptual appearance". + + + + + The current state of text related parameters for a content stream. + + + + + Whether the font comes from the extended graphics state via the operator. + + + + + A value in unscaled text space units which is added to the horizontal (or vertical if in vertical writing mode) + glyph displacement. + + + In horizontal writing mode a positive value will expand the distance between letters/glyphs. + Default value 0. + + + + + As for but applies only for the space character (32). + + + Default value 0. + + + + + Adjusts the width of glyphs/letters by stretching (or compressing) them horizontally. + Value is a percentage of the normal width. + + + + + The vertical distance in unscaled text space units between the baselines of lines of text. + + + + + The name of the currently active font. + + + + + The current font size. + + + + + The for glyph outlines. + + + When the rendering mode requires filling the current non-stroking color in the state is used.
+ When the rendering mode requires stroking the current stroking color in the state is used.
+ The rendering mode has no impact on Type 3 fonts. +
+
+ + + The distance in unscaled text space units to move the default baseline either up or down. + + + Always applies to the vertical coordinate irrespective or writing mode. + + + + + Are all glyphs in a text object treated as a single elementary object for the purpose of the transparent imaging model? + + + + + + + + The state of the current graphics control parameters set by operations in the content stream. + + + Initialized per page. + + + + + The current clipping path. + + + + + The for this graphics state. + + + + + Thickness in user space units of path to be stroked. + + + + + Specifies the shape of line ends for open stroked paths. + + + + + Specifies the shape of joins between connected stroked path segments. + + + + + Maximum length of mitered line joins for paths before becoming a bevel. + + + + + The pattern to be used for stroked lines. + + + + + The rendering intent to use when converting CIE-based colors to device colors. + + + + + Should a correction for rasterization effects be applied? + + + + + Opacity value to be used for transparent imaging. + + + + + Opacity value to be used for transparent imaging. + + + + + Should soft mask and alpha constant values be interpreted as shape () or opacity () values? + + + + + Maps positions from user coordinates to device coordinates. + + + + + The active colorspaces for this content stream. + + + + + The current active stroking color for paths. + + + + + The current active non-stroking color for text and fill. + + + + + Should painting in a colorant set erase () + or leave unchanged () areas of other colorant sets? + + + + + As for but with non-stroking operations. + + + + + In DeviceCMYK color space a value of 0 for a component will erase a component (0) + or leave it unchanged (1) for overprinting. + + + + + The precision for rendering curves, smaller numbers give smoother curves. + + + + + The precision for rendering color gradients on the output device. + + + + + + + + Methods for manipulating and retrieving the current color state for a PDF content stream. + + + + + The used for stroking operations. + + + + + The used for non-stroking operations. + + + + + Set the current color space to use for stroking operations and initialize the stroking color. + + The color space name. + The color space dictionary. Default value is null. + + + + Set the current color space to use for nonstroking operations and initialize the nonstroking color. + + The color space name. + The color space dictionary. Default value is null. + + + + Set the color to use for stroking operations using the current color space. + + + + + Set the stroking color space to DeviceGray and set the gray level to use for stroking operations. + + A number between 0.0 (black) and 1.0 (white). + + + + Set the stroking color space to DeviceRGB and set the color to use for stroking operations. + + Red - A number between 0 (minimum intensity) and 1 (maximum intensity). + Green - A number between 0 (minimum intensity) and 1 (maximum intensity). + Blue - A number between 0 (minimum intensity) and 1 (maximum intensity). + + + + Set the stroking color space to DeviceCMYK and set the color to use for stroking operations. + + Cyan - A number between 0 (minimum concentration) and 1 (maximum concentration). + Magenta - A number between 0 (minimum concentration) and 1 (maximum concentration). + Yellow - A number between 0 (minimum concentration) and 1 (maximum concentration). + Black - A number between 0 (minimum concentration) and 1 (maximum concentration). + + + + Set the color to use for nonstroking operations using the current color space. + + + + + Set the nonstroking color space to DeviceGray and set the gray level to use for nonstroking operations. + + A number between 0.0 (black) and 1.0 (white). + + + + Set the nonstroking color space to DeviceRGB and set the color to use for nonstroking operations. + + Red - A number between 0 (minimum intensity) and 1 (maximum intensity). + Green - A number between 0 (minimum intensity) and 1 (maximum intensity). + Blue - A number between 0 (minimum intensity) and 1 (maximum intensity). + + + + Set the nonstroking color space to DeviceCMYK and set the color to use for nonstroking operations. + + Cyan - A number between 0 (minimum concentration) and 1 (maximum concentration). + Magenta - A number between 0 (minimum concentration) and 1 (maximum concentration). + Yellow - A number between 0 (minimum concentration) and 1 (maximum concentration). + Black - A number between 0 (minimum concentration) and 1 (maximum concentration). + + + + The current graphics state context when running a PDF content stream. + + + + + The current position. + + + + + The matrices for the current text state. + + + + + The number of graphics states on the stack. + + + + + Gets the current graphic state. + + + + + Sets the current graphics state to the state from the top of the stack. + + + + + Saves a copy of the current graphics state on the stack. + + + + + Shows the text represented by the provided bytes using the current graphics state. + + The bytes of the text. + + + + Interprets the tokens to draw text at positions. + + The tokens to show. + + + + Retrieves the named XObject and applies it to the current state. + + The name of the XObject. + + + + Start a new sub-path. + + + + + Close the current subpath. + + + + + Stroke the current path. + + Whether to also close the path. + + + + Fill the current path. + + The filling rule to use. + Whether to also close the path. + + + + Fill and stroke the current path. + + The filling rule to use. + Whether to also close the path. + + + + Add a move command to the path. + Should implement matrix transformations. + + + + + Add a bezier curve to the current subpath. + Should implement matrix transformations. + + + + + Add a bezier curve to the current subpath. + Should implement matrix transformations. + + + + + Add a line command to the subpath. + Should implement matrix transformations. + + + + + Add a rectangle following the pdf specification (m, l, l, l, c) path. A new subpath will be created. + Should implement matrix transformations. + + + + + End the path object without filling or stroking it. This operator shall be a path-painting no-op, + used primarily for the side effect of changing the current clipping path (see 8.5.4, "Clipping Path Operators"). + + + + + Close the current path. + + + + + Indicate that a marked content region is started. + + + + + Indicates that the current marked content region is complete. + + + + + Update the graphics state to apply the state from the named ExtGState dictionary. + + The name of the state to apply. + + + + Indicate that an inline image is being defined. + + + + + Define the properties of the inline image currently being drawn. + + + + + Indicates that the current inline image is complete. + + + + + Modify the clipping rule of the current path. + + + + + Set the flatness tolerance in the graphics state. + Flatness is a number in the range 0 to 100; a value of 0 specifies the output device’s default flatness tolerance. + + + + + + Set the line cap style in the graphics state. + + + + + Set the line dash pattern in the graphics state. + + + + + Set the line join style in the graphics state. + + + + + Set the line width in the graphics state. + + + + + Set the miter limit in the graphics state. + + + + + Move to the start of the next line. + + + This performs this operation: 0 -Tl Td + The offset is negative leading text (Tl) value, this is incorrect in the specification. + + + + + Set the font and the font size. + Font is the name of a font resource in the Font subdictionary of the current resource dictionary. + Size is a number representing a scale factor. + + + + + Set the horizontal scaling. + + + + + + Set the text leading. + + + + + Set the text rendering mode. + + + + + Set text rise. + + + + + Sets the word spacing. + + + + + Modify the current transformation matrix by concatenating the specified matrix. + + + + + Set the character spacing to a number expressed in unscaled text space units. + Initial value: 0. + + + + + Paint the shape and colour shading described by a shading dictionary, subject to the current clipping path. The current colour in the graphics state is neither used nor altered. The effect is different from that of painting a path using a shading pattern as the current colour. + + The name of a shading dictionary resource in the Shading subdictionary of the current resource dictionary. + + + + Handles building s. + + + + + + Modify the current clipping path by intersecting it with the current path, using the + even-odd rule to determine which regions lie inside the clipping path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Modify the current clipping path by intersecting it with the current path, using the + nonzero winding number rule to determine which regions lie inside the clipping path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Begin a compatibility section. Unrecognized operators (along with their operands) are ignored without error. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End a compatibility section. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the color rendering intent in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The rendering intent for CIE-based colors. + + + + + Create new . + + The rendering intent. + + + + + + + + + + + + + + Set the flatness tolerance in the graphics state. + Flatness is a number in the range 0 to 100; a value of 0 specifies the output device’s default flatness tolerance. + + + + + The symbol for this operation in a stream. + + + + + + + + The flatness tolerance controls the maximum permitted distance in device pixels + between the mathematically correct path and an approximation constructed from straight line segments. + + + + + Create new . + + The flatness tolerance. + + + + + + + + + + + + + + Set the line cap style in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The cap style. + + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set the line dash pattern in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The line dash pattern. + + + + + Create a new . + + + + + + + + + + + + + + + + + The symbol for this operation in a stream. + + + + + + + + The line join style. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set the line width in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The line width. + + + + + Create a new . + + The line width. + + + + + + + + + + + + + + Set the miter limit in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The miter limit. The miter limit imposes a maximum on the ratio of the miter length to the line width. + When the limit is exceeded, the join is converted from a miter to a bevel. + + + + + Create a new . + + + + + + + + + + + + + + An operation with associated data from a content stream. + + + + + The symbol representing the operator in the content stream. + + + + + Writes the operator and any operands as valid PDF content to the stream. + + The stream to write to. + + + + Applies the operation to the current context with the provided resources. + Matrix transformations should be implemented in . + + + + + + + Begin an inline image object. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Begin the image data for an inline image object. + + + + + The symbol for this operation in a stream. + + + + + + + + The key-value pairs which specify attributes of the following image. + + + + + Create a new . + + + + + + + + + + + + + + + End an inline image object. + + + + + The symbol for this operation in a stream. + + + + + The raw data for the inline image which should be interpreted according to the corresponding . + + + + + + + + Create a new operation. + + The raw byte data of this image. + + + + + + + + + + + + + + Paint the specified XObject. + The operand name must appear as a key in the XObject subdictionary of the current resource dictionary. + The associated value must be a stream whose Type entry, if present, is XObject. + The effect of depends on the value of the XObject's Subtype entry, which may be Image, Form or PS. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the XObject which appears in the XObject subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the XObject. + + + + + + + + + + + + + + Begin a marked-content sequence terminated by a balancing operator. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the sequence. + + + + + Create a new . + + The name of the marked-content sequence. + + + + + + + + + + + + + + Begin a marked-content sequence with an associated property list terminated by a balancing operator. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + The name of the property dictionary in the Properties subdictionary of the current resource dictionary. + Can be if the property dictionary is provided inline. + + + + + The marked-content sequence properties. + Can be if a name of the property dictionary is provided instead. + + + + + Create a new . + + The name of the marked-content point. + The name of the property dictionary. + + + + Create a new . + + The name of the marked-content point. + The properties of the marked-content point. + + + + + + + + + + + Designate a single marked-content point in the content stream. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + Create a new . + + The name of the marked-content point. + + + + + + + + + + + + + + Designate a single marked-content point in the content stream with an associated property list. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + The name of the property dictionary in the Properties subdictionary of the current resource dictionary. + Can be if the property dictionary is provided inline. + + + + + The marked-content point properties. + Can be if a name of the property dictionary is provided instead. + + + + + Create a new . + + The name of the marked-content point. + The name of the property dictionary. + + + + Create a new . + + The name of the marked-content point. + The properties of the marked-content point. + + + + + + + + + + + End a marked-content sequence. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + Paint the shape and color shading described by a shading dictionary, subject to the current clipping path. + The current color in the graphics state is neither used nor altered. + The effect is different from that of painting a path using a shading pattern as the current color. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of a shading dictionary resource in the Shading subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the shading dictionary. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + First control point x. + + + + + First control point y. + + + + + Second control point x. + + + + + Second control point y. + + + + + End point x. + + + + + End point y. + + + + + Create a new . + + Control point 1 x coordinate. + Control point 1 y coordinate. + Control point 2 x coordinate. + Control point 2 y coordinate. + End point x coordinate. + End point y coordinate. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the first control point. + + + + + The y coordinate of the first control point. + + + + + The x coordinate of the end point. + + + + + The y coordinate of the end point. + + + + + Create a new . + + Control point 1 x coordinate. + Control point 1 y coordinate. + Control point 2/End x coordinate. + Control point 2/End y coordinate. + + + + + + + + + + + + + + Append a rectangle to the current path as a complete subpath. + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the lower left corner. + + + + + The y coordinate of the lower left corner. + + + + + The width of the rectangle. + + + + + The height of the rectangle. + + + + + Create a new . + + The x coordinate of the lower left corner. + The y coordinate of the lower left corner. + The width of the rectangle. + The height of the rectangle. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using the current point and (x2, y2) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the second control point. + + + + + The y coordinate of the second control point. + + + + + The x coordinate of the end point of the curve. + + + + + The y coordinate of the end point of the curve. + + + + + Create a new . + + The x coordinate of the second control point. + The y coordinate of the second control point. + The x coordinate of the end point. + The y coordinate of the end point. + + + + + + + + + + + + + + Append a straight line segment from the current point to the point (x, y). + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the end point of the line. + + + + + The y coordinate of the end point of the line. + + + + + Create a new . + + The x coordinate of the line's end point. + The y coordinate of the line's end point. + + + + + + + + + + + + + + Begin a new subpath by moving the current point to coordinates (x, y), omitting any connecting line segment. + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate for the subpath to begin at. + + + + + The y coordinate for the subpath to begin at. + + + + + Create a new . + + The x coordinate. + The y coordinate. + + + + + + + + + + + + + + Close the current subpath by appending a straight line segment from the current point to the starting point of the subpath. + If the current subpath is already closed, this does nothing. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close and stroke the path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close, fill, and then stroke the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close, fill, and then stroke the path, using the nonzero winding number rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End path without filling or stroking. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill and then stroke the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill the path, using the nonzero winding number rule to determine the region to fill. + Any subpaths that are open are implicitly closed before being filled. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill and then stroke the path, using the nonzero winding number rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Equivalent to included only for compatibility. + Although PDF consumer applications must be able to accept this operator, PDF producer applications should use instead. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Stroke the path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the nonstroking color based on the current color space. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color, 1 for grayscale, 3 for RGB, 4 for CMYK. + + + + + Create a new . + + The color operands. + + + + + + + + + + + + + + Set the stroking color based on the current color space with support for Pattern, Separation, DeviceN, and ICCBased color spaces. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color. + + + + + The name of an entry in the Pattern subdictionary of the current resource dictionary. + + + + + Create a new . + + The color operands. + + + + Create a new . + + The color operands. + The pattern name. + + + + + + + + + + + + + + Set the non-stroking color space to DeviceCMYK and set the color to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The cyan level between 0 and 1. + + + + + The magenta level between 0 and 1. + + + + + The yellow level between 0 and 1. + + + + + The key level between 0 and 1. + + + + + Create a new . + + The cyan level. + The magenta level. + The yellow level. + The key level. + + + + + + + + + + + + + + Set the gray level for non-stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The gray level between 0 (black) and 1 (white). + + + + + Create a new . + + The gray level. + + + + + + + + + + + + + + Set RGB color for non-stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The red level between 0 and 1. + + + + + The green level between 0 and 1. + + + + + The blue level between 0 and 1. + + + + + Create a new . + + The red level. + The green level. + The blue level. + + + + + + + + + + + + + + Set the current color space to use for nonstroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the color space. + + + + + Create a new . + + The name of the color space. + + + + + + + + + + + + + + Set the stroking color based on the current color space. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color, 1 for grayscale, 3 for RGB, 4 for CMYK. + + + + + Create a new . + + The color operands. + + + + + + + + + + + + + + Set the stroking color based on the current color space with support for Pattern, Separation, DeviceN, and ICCBased color spaces. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color. + + + + + The name of an entry in the Pattern subdictionary of the current resource dictionary. + + + + + Create a new . + + The color operands. + + + + Create a new . + + The color operands. + The pattern name. + + + + + + + + + + + + + + Set the stroking color space to DeviceCMYK and set the color to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The cyan level between 0 and 1. + + + + + The magenta level between 0 and 1. + + + + + The yellow level between 0 and 1. + + + + + The key level between 0 and 1. + + + + + Create a new . + + The cyan level. + The magenta level. + The yellow level. + The key level. + + + + + + + + + + + + + + Set the gray level for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The gray level between 0 (black) and 1 (white). + + + + + Create a new . + + The gray level. + + + + + + + + + + + + + + Set RGB color for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The red level between 0 and 1. + + + + + The green level between 0 and 1. + + + + + The blue level between 0 and 1. + + + + + Create a new . + + The red level. + The green level. + The blue level. + + + + + + + + + + + + + + Set the current color space to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the color space. + + + + + Create a new . + + The name of the color space. + + + + + + + + + + + + + + Modify the current transformation matrix by concatenating the specified matrix. + + + + + The symbol for this operation in a stream. + + + + + + + + The 6 values for the transformation matrix. + + + + + Create a new . + + The 6 transformation matrix values. + + + + + + + + + + + + + + Restore the graphics state by removing the most recently saved state from the stack and making it the current state. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Save the current graphics state on the graphics state stack. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the specified parameters in the graphics state using the ExtGState subdictionary with the given name. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of a graphics state parameter dictionary in the ExtGState subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the ExtGState dictionary. + + + + + + + + + + + + + + Begin a text object, initializing the text matrix and the text line matrix to the identity matrix. Text objects cannot be nested. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End a text object, discarding the text matrix. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Move to the start of the next line. + + + This performs this operation: 0 -Tl Td + The offset is negative leading text (Tl) value, this is incorrect in the specification. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Move to the start of the next line offset by Tx Ty. + + + Performs the following operation: + 1 0 0
+ Tm = Tlm = 0 1 0 * Tlm
+ tx ty 1 +
+
+ + + The symbol for this operation in a stream. + + + + + + + + The x value of the offset. + + + + + The y value of the offset. + + + + + Create a new . + + The x offset. + The y offset. + + + + + + + + + + + + + + Move to the start of the next line, offset from the start of the current line by (tx, ty). + This operator also sets the leading parameter in the text state. + + + + + The symbol for this operation in a stream. + + + + + + + + The x value of the offset. + + + + + The y value of the offset and the inverse of the leading parameter. + + + + + Create a new . + + The x value of the offset. + The y value of the offset and the inverse of the leading parameter. + + + + + + + + + + + + + + Set the text matrix and the text line matrix. + + + + + The symbol for this operation in a stream. + + + + + + + + The values of the text matrix. + + + + + Create a new . + + The values of the text matrix. + + + + + + + + + + + + + + Move to the next line and show a text string. + + + + + The symbol for this operation in a stream. + + + + + + + + The text to show as a . + + + + + The text to show as hex bytes. + + + + + Create a new . + + The text to show. + + + + Create a new . + + The bytes of the text to show. + + + + + + + + + + + + + + Move to the next line and show a text string, using the first number as the word spacing and the second as the character spacing. + + + + + The symbol for this operation in a stream. + + + + + + + + The word spacing. + + + + + The character spacing. + + + + + The bytes of the text. + + + + + The text to show. + + + + + Create a new . + + The word spacing. + The character spacing. + The text to show. + + + + Create a new . + + The word spacing. + The character spacing. + The bytes of the text to show. + + + + + + + + + + + + + + Show a text string + + + The input is a sequence of character codes to be shown as glyphs. + + Generally each byte represents a single character code, however starting in version 1.2+ + a composite font might use multi-byte character codes to map to glyphs. + For these composite fonts, the of the font defines the mapping from code to glyph. + + + The grouping of character codes in arguments to this operator does not have any impact on the meaning; for example:
+ (Abc) Tj is equivalent to (A) Tj (b) Tj (c) Tj
+ However grouping character codes makes the document easier to search and extract text from. +
+
+
+ + + The symbol for this operation in a stream. + + + + + + + + The text string to show. + + + + + The bytes of the string to show. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Show one or more text strings, allowing individual glyph positioning. + Each element of array can be a string or a number. + If the element is a string, this operator shows the string. + If it is a number, the operator adjusts the text position by that amount + + + + + The symbol for this operation in a stream. + + + + + + + + The array elements. + + + + + Create a new . + + The array elements. + + + + + + + + + + + Set the character spacing to a number expressed in unscaled text space units. + Initial value: 0. + + + + + The symbol for this operation in a stream. + + + + + + + + The character spacing. + + + + + Create a new . + + The character spacing. + + + + + + + + + + + + + + Set the font and the font size. + Font is the name of a font resource in the Font subdictionary of the current resource dictionary. + Size is a number representing a scale factor. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the font as defined in the resource dictionary. + + + + + The font program defines glyphs for a standard size. This standard size is set so that each line of text will occupy 1 unit in user space. + The size is the scale factor used to scale glyphs from the standard size to the display size rather than the font size in points. + + + + + Create a new . + + The font name. + The font size. + + + + + + + + + + + + + + + + The symbol for this operation in a stream. + + + + + + + + A number specifying the percentage of the normal width. + + + + + Create a new . + + The horizontal scaling percentage. + + + + + + + + + + + + + + Set the text leading. + + + + + The symbol for this operation in a stream. + + + + + + + + The text leading in unscaled text space units. + + + + + Create a new . + + The text leading. + + + + + + + + + + + + + + Set the text rendering mode. + + + + + The symbol for this operation in a stream. + + + + + + + + The text rendering mode to set. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set text rise. + + + + + The symbol for this operation in a stream. + + + + + + + + The amount of text rise - how far to move the baseline up or down from its default location. + + + + + Create a new . + + The text rise. + + + + + + + + + + + + + Sets the word spacing. + + + + + The symbol for this operation in a stream. + + + + + + + + Sets the width of the space ' ' character. For horizontal + writing positive values increase the gap between words separated by space, for vertical writing + positive values decrease the gap. + + + + + Create a new . + + The word spacing. + + + + + + + + + + + + + + Set width information for the glyph and declare that the glyph description specifies both its shape and its color for a Type 3 font. + wx specifies the horizontal displacement in the glyph coordinate system; + it must be consistent with the corresponding width in the font's Widths array. + wy must be 0. + + + + + The symbol for this operation in a stream. + + + + + + + + The horizontal displacement in the glyph coordinate system. + + + + + The vertical displacement in the glyph coordinate system. Must be 0. + + + + + Create a new . + + The horizontal displacement in the glyph coordinate system. + The vertical displacement in the glyph coordinate system. + + + + + + + + + + + + + + Set width information for the glyph and declare that the glyph description specifies both its shape and its color for a Type 3 font. + Also sets the glyph bounding box. + + + + + The symbol for this operation in a stream. + + + + + + + + The horizontal displacement in the glyph coordinate system. + + + + + The vertical displacement in the glyph coordinate system. Must be 0. + + + + + The lower left x coordinate of the glyph bounding box. + + + + + The lower left y coordinate of the glyph bounding box. + + + + + The upper right x coordinate of the glyph bounding box. + + + + + The upper right y coordinate of the glyph bounding box. + + + + + Create a new . + + The horizontal displacement in the glyph coordinate system. + The vertical displacement in the glyph coordinate system. + The lower left x coordinate of the glyph bounding box. + The lower left y coordinate of the glyph bounding box. + The upper right x coordinate of the glyph bounding box. + The upper right y coordinate of the glyph bounding box. + + + + + + + + + + + + + A path is made up of one or more disconnected subpaths, each comprising a sequence of connected segments. The topology of the path is unrestricted: it may be concave or convex, may contain multiple subpaths representing disjoint areas, and may intersect itself in arbitrary ways. + A path shall be composed of straight and curved line segments, which may connect to one another or may be disconnected. + + + + + Rules for determining which points lie inside/outside the path. + + + + + Returns true if this is a clipping path. + + + + + Returns true if the path is filled. + + + + + The fill color. + + + + + Returns true if the path is stroked. + + + + + The stroke color. + + + + + Thickness in user space units of path to be stroked. + + + + + The pattern to be used for stroked lines. + + + + + The cap style to be used for stroked lines. + + + + + The join style to be used for stroked lines. + + + + + Set the clipping mode for this path and IsClipping to true. + IsFilled and IsStroked flags will be set to false. + + + + + Set the filling rule for this path and IsFilled to true. + + + + + Set IsStroked to true. + + + + + Create a clone with no Subpaths. + + + + + Gets a which entirely contains the geometry of the defined path. + + For paths which don't define any geometry this returns . + + + + Manages the Text Matrix (Tm), Text line matrix (Tlm) and used to generate the Text Rendering Matrix (Trm). + + + + + The current text matrix (Tm). + + + + + Captures the value of the at the beginning of a line of text. + This is convenient for aligning evenly spaced lines of text. + + + + + An XObject content record. + + + + + The XObject type. + + + + + The XObject stream. + + + + + The applied transformation. + + + + + The default rendering intent. + + + + + The default color space. + + + + + Utility for working with the bytes in s and converting according to their .s + + + + + Converts the output bytes (if available) of + to actual pixel values using the . For most images this doesn't + change the data but for it will convert the bytes which are indexes into the + real pixel data into the real pixel data. + + + + + Information read from a JPEG image. + + + + + Width of the image in pixels. + + + + + Height of the image in pixels. + + + + + Bits per component. + + + + + Create a new . + + + + + Indicates that this is a baseline DCT-based JPEG, and specifies the width, height, number of components, and component subsampling. + + + + + Indicates that this is a progressive DCT-based JPEG, and specifies the width, height, number of components, and component subsampling. + + + + + Specifies one or more Huffman tables. + + + + + Begins a top-to-bottom scan of the image. In baseline images, there is generally a single scan. + Progressive images usually contain multiple scans. + + + + + Specifies one or more quantization tables. + + + + + Specifies the interval between RSTn markers, in Minimum Coded Units (MCUs). + This marker is followed by two bytes indicating the fixed size so it can be treated like any other variable size segment. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Marks the start of a JPEG image file. + + + + + Marks the end of a JPEG image file. + + + + + Marks a text comment. + + + + + For a given pass number (1 indexed) the scanline indexes of the lines included in that pass in the 8x8 grid. + + + + + Used to calculate the Adler-32 checksum used for ZLIB data in accordance with + RFC 1950: ZLIB Compressed Data Format Specification. + + + + + Calculate the Adler-32 checksum for some data. + + + + + The header for a data chunk in a PNG file. + + + + + The position/start of the chunk header within the stream. + + + + + The length of the chunk in bytes. + + + + + The name of the chunk, uppercase first letter means the chunk is critical (vs. ancillary). + + + + + Whether the chunk is critical (must be read by all readers) or ancillary (may be ignored). + + + + + A public chunk is one that is defined in the International Standard or is registered in the list of public chunk types maintained by the Registration Authority. + Applications can also define private (unregistered) chunk types for their own purposes. + + + + + Whether the (if unrecognized) chunk is safe to copy. + + + + + Create a new . + + + + + + + + Describes the interpretation of the image data. + + + + + Grayscale. + + + + + Colors are stored in a palette rather than directly in the data. + + + + + The image uses color. + + + + + The image has an alpha channel. + + + + + The method used to compress the image data. + + + + + Deflate/inflate compression with a sliding window of at most 32768 bytes. + + + + + 32-bit Cyclic Redundancy Code used by the PNG for checking the data is intact. + + + + + Calculate the CRC32 for data. + + + + + Calculate the CRC32 for data. + + + + + Calculate the combined CRC32 for data. + + + + + Computes a simple linear function of the three neighboring pixels (left, above, upper left), + then chooses as predictor the neighboring pixel closest to the computed value. + + + + + Indicates the pre-processing method applied to the image data before compression. + + + + + Adaptive filtering with five basic filter types. + + + + + The raw byte is unaltered. + + + + + The byte to the left. + + + + + The byte above. + + + + + The mean of bytes left and above, rounded down. + + + + + Byte to the left, above or top-left based on Paeth's algorithm. + + + + + Enables execution of custom logic whenever a chunk is read. + + + + + Called by the PNG reader after a chunk is read. + + + + + The high level information about the image. + + + + + The width of the image in pixels. + + + + + The height of the image in pixels. + + + + + The bit depth of the image. + + + + + The color type of the image. + + + + + The compression method used for the image. + + + + + The filter method used for the image. + + + + + The interlace method used by the image.. + + + + + Create a new . + + + + + + + + Indicates the transmission order of the image data. + + + + + No interlace. + + + + + Adam7 interlace. + + + + + Creates a palette object. Input palette data length from PLTE chunk must be a multiple of 3. + + + + + Adds transparency values from tRNS chunk. + + + + + A pixel in a image. + + + + + The red value for the pixel. + + + + + The green value for the pixel. + + + + + The blue value for the pixel. + + + + + The alpha transparency value for the pixel. + + + + + Whether the pixel is grayscale (if , and will all have the same value). + + + + + Create a new . + + The red value for the pixel. + The green value for the pixel. + The blue value for the pixel. + The alpha transparency value for the pixel. + Whether the pixel is grayscale. + + + + Create a new which has false and is fully opaque. + + The red value for the pixel. + The green value for the pixel. + The blue value for the pixel. + + + + Create a new grayscale . + + The grayscale value. + + + + + + + Whether the pixel values are equal. + + The other pixel. + if all pixel values are equal otherwise . + + + + + + + + + + A PNG image. Call to open from file or bytes. + + + + + The header data from the PNG image. + + + + + The width of the image in pixels. + + + + + The height of the image in pixels. + + + + + Whether the image has an alpha (transparency) layer. + + + + + Get the pixel at the given column and row (x, y). + + + Pixel values are generated on demand from the underlying data to prevent holding many items in memory at once, so consumers + should cache values if they're going to be looped over many time. + + The x coordinate (column). + The y coordinate (row). + The pixel at the coordinate. + + + + Read the PNG image from the stream. + + The stream containing PNG data to be read. + Optional: A visitor which is called whenever a chunk is read by the library. + The data from the stream. + + + + Read the PNG image from the bytes. + + The bytes of the PNG data to be read. + Optional: A visitor which is called whenever a chunk is read by the library. + The data from the bytes. + + + + Read the PNG from the file path. + + The path to the PNG file to open. + Optional: A visitor which is called whenever a chunk is read by the library. + This will open the file to obtain a so will lock the file during reading. + The data from the file. + + + + Used to construct PNG images. Call to make a new builder. + + + + + Create a builder for a PNG with the given width and size. + + + + + Sets the RGB pixel value for the given column (x) and row (y). + + + + + Set the pixel value for the given column (x) and row (y). + + + + + Get the bytes of the PNG file for this builder. + + + + + Write the PNG file bytes to the provided stream. + + + + + The code to execute whenever a chunk is read. Can be . + + + + + Whether to throw if the image contains data after the image end marker. + by default. + + + + + Provides convenience methods for indexing into a raw byte array to extract pixel values. + + + + + Create a new . + + The decoded pixel data as bytes. + The number of bytes in each pixel. + The palette for the image. + The image header. + + + + but without being a public API/ + + + + Default constructor. + + + Default constructor. + + + Create a random access buffer using the given byte array. + + @param input the byte array to be read + + + Create a random access buffer of the given input stream by copying the data. + + @param input the input stream to be read + @throws IOException if something went wrong while copying the data + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + create a new buffer chunk and adjust all pointers and indices. + + + switch to the next buffer chunk and reset the buffer pointer. + + + Ensure that the RandomAccessBuffer is not closed + @throws IOException + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + + Logs internal messages from the PDF parsing process. Consumers can provide their own implementation + in the to intercept log messages. + + + + + Record an informational debug message. + + + + + Record an informational debug message with exception. + + + + + Record an warning message due to a non-error issue encountered in parsing. + + + + + Record an error message due to an issue encountered in parsing. + + + + + Record an error message due to an issue encountered in parsing with exception. + + + + + A node in the (also known as outlines) of a PDF document. + + + + + The text displayed for this node. + + + + + The bookmark's sub-bookmarks. + + + + + Whether this node is a leaf node (has no children). + + + + + The node's level in the hierarchy. + + + + + Create a new . + + + + + The bookmarks in a PDF document. + + + + + The roots of the bookmarks' node tree. + + + + + Create a new . + + + + + Get all nodes. + + + + + Extract bookmarks, if any. + + + + + Extract bookmarks recursively. + + + + + Get explicit destination or a named destination (Ref 12.3.2.3) from dictionary + + + Token name, can be D or Dest + + + + in case we are looking up a destination for a GoToR (Go To Remote) action: pass in true + to enforce a check for indirect page references (which is not allowed for GoToR) + + + + + + A destination location in the same file. + + + + + The page number (1-based) of the destination. + + + + + The display type of the destination. + + + + + The display coordinates of the destination. + + + + + Create a new . + + + + + The coordinates of the region to display for a . + + + + + An empty set of coordinates where no values have been set. + + + + + The left side of the region to display. + + + + + The top edge of the region to display. + + + + + The right side of the region to display + + + + + The bottom edge of the region to display. + + + + + Create a new . + + + + + Create a new . + + + + + Create a new . + + + + + The display type for opening an . + + + + + Display the page with the given top left coordinates and + zoom level. + + + + + Fit the entire page within the window. + + + + + Fit the entire page width within the window. + + + + + Fit the entire page height within the window. + + + + + Fit the rectangle specified by the + within the window. + + + + + Fit the page's bounding box within the window. + + + + + Fit the page's bounding box width within the window. + + + + + Fit the page's bounding box height within the window. + + + + + Named destinations in a PDF document + + + + + Dictionary containing explicit destinations, keyed by name + + + + + Pages are required for getting explicit destinations + + + + + Constructor + + + + + + + + A node in the of a PDF document which corresponds + to a location in the current document. + + + + + The page number where the bookmark is located. + + + + + The destination of the bookmark in the current document. + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a location in an embedded file. + + + + + The file specification for the embedded file + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a location in an external file. + + + + + The name of the file containing this bookmark. + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a uniform resource identifier on the Internet. + + + + + The uniform resource identifier to resolve. + + + + + + Create a new . + + + + + + + + Parse the dictionary from a PDF file trailer. + + + + + Convert the file trailer dictionary into a instance. + + + + + Check that the offsets in the cross reference are correct. + + + + + Used to retrieve the version header from the PDF file. + + + The first line of a PDF file should be a header consisting of the 5 characters %PDF– followed by a version number of the form 1.N, where N is a digit between 0 and 7. + A conforming reader should accept files with any of the following headers: + %PDF–1.0 + %PDF–1.1 + %PDF–1.2 + %PDF–1.3 + %PDF–1.4 + %PDF–1.5 + %PDF–1.6 + %PDF–1.7 + This parser allows versions up to 1.9. + For versions equal or greater to PDF 1.4, the optional Version entry in the document's catalog dictionary should be used instead of the header version. + + + + + The %%EOF may be further back in the file. + + + + + For objects which provide document scoped caching. + + + + + Brute force search for all objects in the document. + + + + + Find the offset of every object contained in the document by searching the entire document contents. + + The bytes of the document. + The object keys and offsets for the objects in this document. + + + + The array representing the size of the fields in a cross reference stream. + + + + + The type of the entry. + + + + + Type 0 and 2 is the object number, Type 1 this is the byte offset from beginning of file. + + + + + For types 0 and 1 this is the generation number. For type 2 it is the stream index. + + + + + How many bytes are in a line. + + + + + Parses through the unfiltered stream and populates the xrefTable HashMap. + + + + + Each subsection of the cross-reference table starts with a line defining the starting object number + and the count of objects in the subsection. + + + xref + 12 16 + ... + + Defines a table subsection that starts with object 12 and has 16 entries (12-27). + + + + + The first object number in the table. + + + + + The number of consecutive objects declared in the table. + + + + + Create a new to define a range of consecutive objects in the cross-reference table. + + + + + Attempts to read the from the current line of the source. + + + + + Configures options used by the parser when reading PDF documents. + + + + + A default with set to false. + + + + + Should the parser apply clipping to paths? + Defaults to . + Bezier curves will be transformed into polylines if clipping is set to . + + + + + Should the parser ignore issues where the document does not conform to the PDF specification? + + + + + The used to record messages raised by the parsing process. + + + + + The password to use to open the document if it is encrypted. If you need to supply multiple passwords to test against + you can use . The value of will be included in the list to test against. + + + + + All passwords to try when opening this document, will include any values set for . + + + + + Skip extracting content where the font could not be found, will result in some letters being skipped/missed + but will prevent the library throwing where the source PDF has some corrupted text. Also skips XObjects like + forms and images when missing. + + + + + + Provides access to document level information for this PDF document as well as access to the s contained in the document. + + + + + The metadata associated with this document. + + + + + Access to the underlying raw structure of the document. + + + + + Access to rare or advanced features of the PDF specification. + + + + + The version number of the PDF specification which this file conforms to, for example 1.4. + + + + + Get the number of pages in this document. + + + + + Whether the document content is encrypted. + + + + + Creates a for reading from the provided file bytes. + + The bytes of the PDF file. + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Opens a file and creates a for reading from the provided file path. + + The full path to the file location of the PDF file. + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Creates a for reading from the provided stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + + + A stream of the file contents, this must support reading and seeking. + The PdfDocument will not dispose of the provided stream. + + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Get the page with the specified page number (1 indexed). + + The number of the page to return, this starts from 1. + The page. + + + + Gets all pages in this document in order. + + + + + Get the document level metadata if present. + The metadata is XML in the (Extensible Metadata Platform) XMP format. + + This will throw a if called on a disposed . + The metadata stream if it exists. + if the metadata is present, otherwise. + + + + Gets the bookmarks if this document contains some. + + This will throw a if called on a disposed . + + + + Gets the form if this document contains one. + + This will throw a if called on a disposed . + An from the document or if not present. + + + + + Dispose the and close any unmanaged resources. + + + + + Extensions for PDF types. + + + + + Try and get the entry with a given name and type or look-up the object if it's an indirect reference. + + + + + Get the decoded data from this stream. + + + + + Character bounding box. + + + + + The glyph bounds. + + + + + THe width. + + + + + Specifies the character collection associated with the (CIDFont). + + + + + Identifies the issuer of the character collection. + + + + + Uniquely identifies the character collection within the parent registry. + + + + + The supplement number of the character collection. + + + + + The stack of numeric operands currently active in a CharString. + + + + + The current size of the stack. + + + + + Whether it's possible to pop a value from either end of the stack. + + + + + Remove and return the value from the top of the stack. + + The value from the top of the stack. + + + + Remove and return the value from the bottom of the stack. + + The value from the bottom of the stack. + + + + Adds the value to the top of the stack. + + The value to add. + + + + Removes all values from the stack. + + + + + Specifies mapping from character identifiers to glyph indices. + Can either be defined as a name in which case it must be Identity or a stream which defines the mapping. + + + + + Glyph descriptions based on Adobe Type 1 format. + + + + + Glyph descriptions based on TrueType format. + + + + + A CID font contains glyph descriptions accessed by + CID (character identifier) as character selectors. + + + A CID font contains information about a CIDFont program but is + not itself a font. It can only be a descendant of a Type 0 font. + + + + + + + + + + Either Type0 (Adobe Type 1 font) or Type2 (TrueType font). + + + + + The PostScript name of the CIDFont. + + + + + The definition of the character collection for the font. + + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + The glyph path for the given character code. + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + + The glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + The normalized glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + + The normalized glyph path for the given character code. + + + + Represents either an Adobe Type 1 or TrueType font program for a CIDFont. + + + + + + Type 0 CID fonts contain glyph descriptions based on the + Adobe Type 1 font format. + + + + + + Type 2 CID fonts contains glyph descriptions based on + the TrueType font format. + + + + + Defines the default position and displacement vector vertical components + for fonts which have vertical writing modes. + + + + + The default value of if not defined by a font. + + + + + The vertical component of the position vector. + + + The full position vector unless overridden by the W2 array is: + (w0/2, Position) + Where w0 is the width of the given glyph. + + + + + The vertical component of the displacement vector. + + + The full displacement vector is: + (0, Displacement) + + + + + Create a new . + + + + + Get the full position vector for a given glyph. + + + + + Get the full displacement vector. + + + + + + + + Glyphs from fonts which support vertical writing mode define displacement and position vectors. + The position vector specifies how the horizontal writing origin is transformed into the vertical writing origin. + The displacement vector specifies how far to move vertically before drawing the next glyph. + + + + + The default position and displacement vectors where not overridden. + + + + + Overrides displacement vector y components for glyphs specified by CID code. + + + + + Overrides position vector (x and y) components for glyphs specified by CID code. + + + + + Create new . + + + + + Get the position vector used to convert horizontal glyph origin to vertical origin. + + + + + Get the displacement vector used to move the origin to the next glyph location after drawing. + + + + + A mutable class used when parsing and generating a . + + + + + Defines the character collection associated CIDFont/s for this CMap. + + + + + An that determines the writing mode for any CIDFont combined with this CMap. + 0: Horizontal + 1: Vertical + + + Defined as optional. + + + + + The PostScript name of the CMap. + + + Defined as required. + + + + + Defines the version of this CIDFont file. + + + Defined as optional. + + + + + Defines changes to the internal structure of Character Map files + or operator semantics. + + + Defined as required. + + + + + Maps from a single character code to its CID. + + + + + The character code. + + + + + The CID to map to. + + + + + Creates a new single mapping from a character code to a CID. + + + + + Associates the beginning and end of a range of character codes with the starting CID for the range. + + + + + The beginning of the range of character codes. + + + + + The end of the range of character codes. + + + + + The CID associated with the beginning character code. + + + + + Creates a new to associate a range of character codes to a range of CIDs. + + The first character code in the range. + The last character code in the range. + The first CID for the range. + + + + Determines if this contains a mapping for the character code. + + + + + Attempts to map the given character code to the corresponding CID in this range. + + Character code + The CID if found. + if the character code maps to a CID in this range or if the character is out of range. + + + + The CMap (character code map) maps character codes to character identifiers (CIDs). + The set of characters which a CMap refers to is the "character set" (charset). + + + + + Defines the type of the internal organization of the CMap file. + + + + + Defines the name of the CMap file. + + + + + The version number of the CIDFont file. + + + + + Describes the set of valid input character codes. + + + + + Associates ranges of character codes with their corresponding CID values. + + + + + Overrides CID mappings for single character codes. + + + + + Controls whether the font associated with the CMap writes horizontally or vertically. + + + + + Issue #202 seems to indicate empty codespace ranges are possible. + + + + + Returns the sequence of Unicode characters for the given character code. + + Character code + Unicode characters(may be more than one, e.g "fi" ligature) + if this character map contains an entry for this code, otherwise. + + + + Converts a character code to a CID. + + The character code. + The corresponding CID for the character code. + + + + A codespace range is specified by a pair of codes of some particular length giving the lower and upper bounds of that range. + + + + + The lower-bound of this range. + + + + + The upper-bound of this range. + + + + + The lower-bound of this range as an integer. + + + + + The upper-bound of this range as an integer. + + + + + The number of bytes for numbers in this range. + + + + + Creates a new instance of . + + + + + Returns if the given code bytes match this codespace range. + + + + + Returns true if the given code bytes match this codespace range. + + + + + Defines the information content (actual text) of the font + as opposed to the display format. + + + + + Does the font provide a CMap to map CIDs to Unicode values? + + + + + Is this document (unexpectedly) using a predefined Identity-H/V CMap as its ToUnicode CMap? + + + + + Defines glyphs using a CIDFont + + + + + + + + + + + Holds the location and type of the stream containing the corresponding font program. + + + This can either be a Type 1 font program (FontFile - ), + a TrueType font program (FontFile2 - ) or a font program + whose format is given by the Subtype of the stream dictionary (FontFile3 - ). + At most only 1 of these entries is present. + + + + + The object containing the stream for this font program. + + + + + The type of the font program represented by this descriptor. + + + + + Create a new . + + + + + The type of font program represented by the stream used by this font descriptor. + + + + + A Type 1 font program. + + + + + A TrueType font program. + + + + + A type defined by the stream dictionary's Subtype entry. + + + + + Specifies metrics and attributes of a simple font or CID Font for the whole font rather than per-glyph. + + + + Provides information to enable consumer applications to find a substitute font when the font is unavailable. + + + Font descriptors are not used with Type 0 fonts. + + + A font descriptor is a dictionary used to specify various attributes. + + + + + + The PostScript name for the font. + + Required + + + + The preferred font family. + + Optional + + + + The font stretch value. + + Optional + + + + The weight/thickness of the font. + + + Possible values: + 100
+ 200
+ 300
+ 500 (normal)
+ 600
+ 700
+ 800
+ 900
+ Optional +
+
+ + + Defines various font characteristics. See . + + Required + + + + A rectangle in glyph coordinates which represents the smallest + rectangle containing all glyphs of the font. + + Required (Except Type 3) + + + + The angle in degrees counter-clockwise from vertical of the vertical + lines of the font. + The value is negative for fonts sloping right (italic fonts). + + 9 o'clock is represented by 90 degrees. 3 o'clock is -90 degrees. + Required + + + + The maximum height above the baseline for any glyph from this font (except for accents). + + Required (Except Type 3) + + + + The maximum depth below the baseline for any glyph in the font. This is negative. + + Required (Except Type 3) + + + + The spacing between consecutive lines of text. Default 0. + + Optional + + + + The vertical distance of the top of flat capital letters from the baseline. + + Required (Where Latin Characters, Except Type 3) + + + + The x height of the font. The vertical distance of the top of flat non-ascending + lowercase letters (e.g. x) from the baseline. Default 0. + + Optional + + + + The horizontal thickness of vertical stems of glyphs. + + Required (Except Type 3) + + + + The vertical thickness of horizontal stems of glyphs. Default 0. + + Optional + + + + The average glyph width in the font. Default 0. + + Optional + + + + The maximum glyph width in the font. Default 0. + + Optional + + + + The width for character codes whose widths are not present in the Widths + array of the font dictionary. Default 0. + + Optional + + + + The bytes of the font program. + + Optional + + + + The character names defined in a font subset. + + Optional + + + + Create a new . + + + + + Provides a mutable way to construct a . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Create a new . + + + + + Create the with values from this builder. + + + + + Specifies various characteristics of a font. + + + + + No flags are set. + + + + + All glyphs have the same width. + + + + + Glyphs have serifs. + + + + + There are glyphs outside the Adobe standard Latin set. + + + + + The glyphs resemble cursive handwriting. + + + + + Font uses a (sub)set of the Adobe standard Latin set. + + Cannot be set at the same time as . + + + + Font is italic. + + + + + Font contains only uppercase letters. + + + + + Lowercase letters are smaller versions of the uppercase equivalent. + + + + + Forces small bold text to be rendered bold. + + + + + Summary details of the font used to draw a glyph. + + + + + The normal weight for a font. + + + + + The bold weight for a font. + + + + + The font name. + + + + + Whether the font is bold. + + + + + The font weight, values above 500 represent bold. + + + + + Whether the font is italic. + + + + + Create a new . + + + + + + + + The font stretch. + + + + + Not specified or not a recognised value. + + + + + Ultra Condensed. + + + + + Extra Condensed. + + + + + Condensed. + + + + + Semi Condensed. + + + + + Normal + + + + + Semi Expanded + + + + + Expanded + + + + + Extra Expanded + + + + + Ultra Expanded + + + + + Font base interface. + + + + + The font name. + + + + + Is the font vertical. + + + + + The font details. + + + + + Read the character code. + + + + + Try get the unicode value. + + + + + Get the font bounding box. + + + + + Get the font transformation matrix. + + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + The glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + The normalized glyph path for the given character code. + + + + A font which supports a vertical writing mode in addition to the default horizontal writing mode. + + + + + In vertical fonts the glyph position is described by a position vector from the origin used for horizontal writing. + The position vector is applied to the horizontal writing origin to give a new vertical writing origin. + + + + + The beginbfrange and endbfrange operators map i ranges of input codes to the corresponding output code range. + + + + + Provides parsing for a certain operator type in a CID font definition. + + The type of the token preceding the operation we wish to parse. + + + + Parse the definition for this part of the CID font and write the results to the . + + + + + + + + + + + Some TrueType fonts use both the Standard 14 descriptor and the TrueType font from disk. + + + + + + + + + + + A font based on the Adobe Type 1 font format. + + + + + + + + + + + A font using one of the Adobe Standard 14 fonts. Can use a custom encoding. + + + + + + Not implemeted. + + + + + + Not implemeted. + + + + + Type 3 fonts are usually unnamed. + + + + + + Type 3 fonts do not use vector paths. Always returns false. + + + + + + Type 3 fonts do not use vector paths. Always returns false. + + + + + Render page as an image. + + + + + Render page as an image. + + The pdf page. + The scale to apply to the page (i.e. zoom level). + The output image format, if supported. + The image as a memory stream. + + + + The output image format of the . + + + + + Bitmap image format. + + + + + Jpeg/Jpg image format. + + + + + Png image format. + + + + + Tiff image format. + + + + + Gif image format. + + + + + Provides access to explore and retrieve the underlying PDF objects from the document. + + + + + The root of the document's hierarchy providing access to the page tree as well as other information. + + + + + The cross-reference table enables direct access to objects by number. + + + + + Provides access to tokenization capabilities for objects by object number. + + + + + Retrieve the tokenized object with the specified object reference number. + + The object reference number. + The tokenized PDF object from the file. + + + + Tokenizes objects from bytes in a PDF file. + + + + + Tokenize the object with a given object number. + May return null when the reference is undefined + + The object number for the object to tokenize. + The tokenized object. + + + + Adds the token to an internal cache that will be returned instead of + scanning the source PDF data. + + The object number for the object to replace. + The token to replace the existing data. + + + + Since we want to scan objects while reading the cross reference table we lazily load it when it's ready. + + + + + Indicates whether we now have a cross reference table. + + + + + Stores tokens encountered between obj - endobj markers for each call. + Cleared after each operation. + + + + + Used internally by the when reading streams to store any occurrences of 'endobj' or 'endstream' observed. + + + + + The offset at which the token started in the file. + + + + + The type, one of either or . + + + + + Create a new + + + + + Used to calculate the Adler-32 checksum used for ZLIB data in accordance with + RFC 1950: ZLIB Compressed Data Format Specification. + + + + + Calculate the Adler-32 checksum for some data. + + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage. + + + [CanBeNull] object Test() => null; + + void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null. + + + [NotNull] object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can never be null. + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can be null. + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form. + + + [StringFormatMethod("message")] + void ShowError(string message, params object[] args) { /* do something */ } + + void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + For a parameter that is expected to be one of the limited set of values. + Specify fields of which type should be used as values for this parameter. + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of . + + + void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + System.ComponentModel.INotifyPropertyChanged interface and this method + is used to notify that some property value changed. + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + public class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + string _name; + + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output. + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) for method output + means that the methos doesn't return normally (throws or terminates the process).
+ Value canbenull is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, or use single attribute + with rows separated by semicolon. There is no notion of order rows, all rows are checked + for applicability and applied per each program state tracked by R# analysis.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, + // and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("=> true, result: notnull; => false, result: null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not. + + + [LocalizationRequiredAttribute(true)] + class Foo { + string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + + class UsesNoEquality { + void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + class ComponentAttribute : Attribute { } + + [Component] // ComponentAttribute requires implementing IComponent interface + class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library), + so this symbol will not be marked as unused (as well as by other usage inspections). + + + + + Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes + as unused (as well as by other usage inspections) + + + + Only entity marked with attribute considered used. + + + Indicates implicit assignment to a member. + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type. + + + + Specify what is considered used implicitly when marked + with or . + + + + Members of entity marked with attribute are considered used. + + + Entity marked with attribute and all its members considered used. + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used. + + + + + Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. + If the parameter is a delegate, indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated while the method is executed. + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute. + + + [Pure] int Multiply(int x, int y) => x * y; + + void M() { + Multiply(123, 42); // Waring: Return value of pure method is not used + } + + + + + Indicates that the return value of method invocation must be used. + + + + + Indicates the type member or parameter of some type, that should be used instead of all other ways + to get the value that type. This annotation is useful when you have some "context" value evaluated + and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. + + + class Foo { + [ProvidesContext] IBarService _barService = ...; + + void ProcessNode(INode node) { + DoSomething(node, node.GetGlobalServices().Bar); + // ^ Warning: use value of '_barService' field + } + } + + + + + Indicates that a parameter is a path to a file or a folder within a web project. + Path can be relative or absolute, starting from web root (~). + + + + + An extension method marked with this attribute is processed by ReSharper code completion + as a 'Source Template'. When extension method is completed over some expression, it's source code + is automatically expanded like a template at call site. + + + Template method body can contain valid source code and/or special comments starting with '$'. + Text inside these comments is added as source code when the template is applied. Template parameters + can be used either as additional method parameters or as identifiers wrapped in two '$' signs. + Use the attribute to specify macros for parameters. + + + In this example, the 'forEach' method is a source template available over all values + of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: + + [SourceTemplate] + public static void forEach<T>(this IEnumerable<T> xs) { + foreach (var x in xs) { + //$ $END$ + } + } + + + + + + Allows specifying a macro for a parameter of a source template. + + + You can apply the attribute on the whole method or on any of its additional parameters. The macro expression + is defined in the property. When applied on a method, the target + template parameter is defined in the property. To apply the macro silently + for the parameter, set the property value = -1. + + + Applying the attribute on a source template method: + + [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] + public static void forEach<T>(this IEnumerable<T> collection) { + foreach (var item in collection) { + //$ $END$ + } + } + + Applying the attribute on a template method parameter: + + [SourceTemplate] + public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { + /*$ var $x$Id = "$newguid$" + x.ToString(); + x.DoSomething($x$Id); */ + } + + + + + + Allows specifying a macro that will be executed for a source template + parameter when the template is expanded. + + + + + Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. + + + If the target parameter is used several times in the template, only one occurrence becomes editable; + other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, + use values >= 0. To make the parameter non-editable when the template is expanded, use -1. + > + + + + Identifies the target parameter of a source template if the + is applied on a template method. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is + an MVC controller. If applied to a method, the MVC controller name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC + partial view. If applied to a method, the MVC partial view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component name. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component view. If applied to a method, the MVC view component view name is default. + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name. + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String). + + + + + Indicates how method, constructor invocation or property access + over collection type affects content of the collection. + + + + Method does not use or modify content of the collection. + + + Method only reads content of the collection but does not modify it. + + + Method can change content of the collection but does not add new elements. + + + Method can add new elements to the collection. + + + + Indicates that the marked method is assertion method, i.e. it halts control flow if + one of the conditions is satisfied. To set the condition, mark one of the parameters with + attribute. + + + + + Indicates the condition parameter of the assertion method. The method itself should be + marked by attribute. The mandatory argument of + the attribute is the assertion type. + + + + + Specifies assertion type. If the assertion method argument satisfies the condition, + then the execution continues. Otherwise, execution is assumed to be halted. + + + + Marked parameter should be evaluated to true. + + + Marked parameter should be evaluated to false. + + + Marked parameter should be evaluated to null value. + + + Marked parameter should be evaluated to not null value. + + + + Indicates that the marked method unconditionally terminates control flow execution. + For example, it could unconditionally throw exception. + + + + + Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, + .Where). This annotation allows inference of [InstantHandle] annotation for parameters + of delegate type by analyzing LINQ method chains. + + + + + Indicates that IEnumerable, passed as parameter, is not enumerated. + + + + + Indicates that parameter is regular expression pattern. + + + + + Prevents the Member Reordering feature from tossing members of the marked class. + + + The attribute must be mentioned in your member reordering patterns + + + + + XAML attribute. Indicates the type that has ItemsSource property and should be treated + as ItemsControl-derived type, to enable inner items DataContext type resolve. + + + + + XAML attribute. Indicates the property of some BindingBase-derived type, that + is used to bind some item of ItemsControl-derived type. This annotation will + enable the DataContext type resolve for XAML bindings for such properties. + + + Property should have the tree ancestor of the ItemsControl type or + marked with the attribute. + + + + + Helper class for dates. + + + + + Try parsing a pdf formatted date string into a . + Date values used in a PDF shall conform to a standard date format, which closely + follows that of the international standard ASN.1, defined in ISO/IEC 8824. A date shall be a text string + of the form (D:YYYYMMDDHHmmSSOHH'mm). + + The pdf formated date string, e.g. D:199812231952-08'00. + The parsed date. + True if parsed. + + + + Default Word Extractor. + + + + + Gets the words. + + The letters in the page. + + + + Create an instance of Default Word Extractor, . + + + + Utility functions for hex encoding. + + @author John Hewson + + + for hex conversion. + + https://stackoverflow.com/questions/2817752/java-code-to-convert-byte-to-hexadecimal + + + + + Returns a hex string for the given byte array. + + + + + An approach used to generate words from a set of letters. + + + + + Generate words from the input set of letters. + + The letters to generate words for. + An enumerable of words from this approach. + + + + The identity matrix. The result of multiplying a matrix with + the identity matrix is the matrix itself. + + + + + Creates a 3x3 matrix with the following layout: + + | m11 m12 m13 | + | m21 m22 m23 | + | m31 m32 m33 | + + + + + + Returns a new matrix that is the inverse of this matrix (i.e. multiplying a matrix with + its inverse matrix yields the identity matrix). + + If an inverse matrix does not exist, null is returned. + + + + + Returns a new matrix with each element being a mulitple of the supplied factor. + + + + + Multiplies this matrix with the supplied 3-element vector + and returns a new 3-element vector as the result. + + + + + Returns a new matrix that is the 'dot product' of this matrix + and the supplied matrix. + + + + + Returns a new matrix that is the transpose of this matrix + (i.e. the tranpose of a matrix, is a matrix with its rows + and column interchanged) + + + + + Measures of whitespace size based on point size. + + + + + Get the average whitespace sized expected for a given letter. + + + + + Check if the measured gap is probably big enough to be a whitespace character based on the letter. + + + + + Sets if the stream writer should attempt to deduplicate objects. + May not have any affect if does not + support deduplication. + + + + + The underlying stream used by the writer. + + + + + Writes a single token to the stream. + + Token to write. + Indirect reference to the token. + + + + Writes a token to a reserved object number. + + Token to write. + Reserved indirect reference. + Reserved indirect reference. + + + + Reserves an object number for an object to be written. + Useful with cyclic references where object number must be known before + writing. + + A reserved indirect reference. + + + + Initializes the PDF stream with pdf header. + + Version of PDF. + + + + Completes the PDF writing trailing PDF information. + + Indirect reference of catalog. + Reference to document information (optional) + + + + Writes any type of to the corresponding PDF document format output. + + + + + Writes the given input token to the output stream with the correct PDF format and encoding including whitespace and line breaks as applicable. + + The token to write to the stream. + The stream to write the token to. + + + + Writes pre-serialized token as an object token to the output stream. + + Object number of the indirect object. + Generation of the indirect object. + Pre-serialized object contents. + The stream to write the token to. + + + + Writes a valid single section cross-reference (xref) table plus trailer dictionary to the output for the set of object offsets. + + The byte offset from the start of the document for each object in the document. + The object representing the catalog dictionary which is referenced from the trailer dictionary. + The output stream to write to. + The object reference for the document information dictionary if present. + + + + Derived class of that does not write or operations in streams + + + + + Write stream without or operations + + + + + + + Try get a stream without or operations. + + + + true if any text operation found (and we have a valid without the text operations), + false if no text operation found (in which case is null) + + + + The standard of PDF/A compliance for generated documents. + + + + + No PDF/A compliance. + + + + + Compliance with PDF/A1-B. Level B (basic) conformance are standards necessary for the reliable reproduction of a document's visual appearance. + + + + + Compliance with PDF/A1-A. Level A (accessible) conformance are PDF/A1-B standards in addition to features intended to improve a document's accessibility. + + + + + Compliance with PDF/A2-B. Level B (basic) conformance are standards necessary for the reliable reproduction of a document's visual appearance. + + + + + Compliance with PDF/A2-A. Level A (accessible) conformance are PDF/A2-B standards in addition to features intended to improve a document's accessibility. + + + + + Compliance with PDF/A3-B. Level B (basic) conformance are PDF/A2-B standards in addition to support for embedded files + + + + + Compliance with PDF/A3-A. Level A (accessible) conformance are PDF/A3-B standards in addition to features intended to improve a document's accessibility. + + + + + A hash combiner that is implemented with the Fowler/Noll/Vo algorithm (FNV-1a). This is a mutable struct for performance reasons. + + + + + The starting point of the FNV hash. + + + + + The prime number used to compute the FNV hash. + + + + + Gets the current result of the hash function. + + + + + Creates a new FNV hash initialized to . + + + + + Adds the specified byte to the hash. + + The byte to hash. + + + + Adds the specified integer to this hash, in little-endian order. + + The integer to hash. + + + + Provides methods to construct new PDF documents. + + + + + The standard of PDF/A compliance of the generated document. Defaults to . + + + + + Whether to include the document information dictionary in the produced document. + + + + + The values of the fields to include in the document information dictionary. + + + + + The bookmark nodes to include in the document outline dictionary. + + + + + The current page builders in the document and the corresponding 1 indexed page numbers. Use + or to add a new page. + + + + + The fonts currently available in the document builder added via or . Keyed by id for internal purposes. + + + + + Creates a document builder keeping resources in memory. + + + + + Creates a document builder keeping resources in memory. + + Pdf version to use in header. + + + + Creates a document builder using the supplied stream. + + Steam to write pdf to. + If stream should be disposed when builder is. + Type of pdf stream writer to use + Pdf version to use in header. + Token writer to use + + + + Determines whether the bytes of the TrueType font file provided can be used in a PDF document. + + The bytes of a TrueType font file. + Any reason messages explaining why the file can't be used, if applicable. + if the file can be used, otherwise. + + + + Adds a TrueType font to the builder so that pages in this document can use it. + + The bytes of a TrueType font. + An identifier which can be passed to . + + + + Adds one of the Standard 14 fonts which are included by default in PDF programs so that pages in this document can use it. These Standard 14 fonts are old and possibly obsolete. + + The type of the Standard 14 font to use. + An identifier which can be passed to . + + + + Add a new page with the specified size, this page will be included in the output when is called. + + The width of the page in points. + The height of the page in points. + A builder for editing the new page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + The size of the page to add. + Whether the page is in portait or landscape orientation. + A builder for editing the new page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + Source document. + Page to copy. + A builder for editing the page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + Source document. + Page to copy. + If set, links are copied based on the result of the delegate. + A builder for editing the page. + + + + Builds a PDF document from the current content of this builder and its pages. + + The bytes of the resulting PDF document. + + + + A key representing a font available to use on the current document builder. Create by adding a font to a document using either + or . + + + + + The Id uniquely identifying this font on the builder. + + + + + Reference to the added font. + + + + + Create a new . + + + + + Sets the values of the dictionary for the document being created. + Control inclusion of the document information dictionary on the output with . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + Disposes underlying stream if set to do so. + + + + + Merges PDF documents into each other. + + + + + Merge two PDF documents together with the pages from followed by . + + + + + Merge two PDF documents together with the pages from followed by into the output stream. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided into the output stream + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided into the output stream + + + + + Merge the set of PDF documents. + + + + + Merge the set of PDF documents into the output stream + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + + A list of streams for the files contents, this must support reading and seeking. + + Must be writable + + + + + + + + A builder used to add construct a page in a PDF document. + + + + + The number of this page, 1-indexed. + + + + + The current size of the page. + + + + + Access to the underlying data structures for advanced use cases. + + + + + Access to + + + + + Allow to append a new content stream before the current one and select it + + + + + Allow to append a new content stream after the current one and select it + + + + + Select a content stream from the list, by his index + + index of the content stream to be selected + + + + Draws a line on the current page between two points with the specified line width. + + The first point on the line. + The last point on the line. + The width of the line in user space units. + + + + Draws a rectangle on the current page starting at the specified point with the given width, height and line width. + + The position of the rectangle, for positive width and height this is the bottom-left corner. + The width of the rectangle. + The height of the rectangle. + The width of the line border of the rectangle. + Whether to fill with the color set by . + + + + Set the number of degrees by which the page is rotated clockwise when displayed or printed. + + + + + Draws a triangle on the current page with the specified points and line width. + + Position of the first corner of the triangle. + Position of the second corner of the triangle. + Position of the third corner of the triangle. + The width of the line border of the triangle. + Whether to fill with the color set by . + + + + Draws a circle on the current page centering at the specified point with the given diameter and line width. + + The center position of the circle. + The diameter of the circle. + The width of the line border of the circle. + Whether to fill with the color set by . + + + + Draws an ellipsis on the current page centering at the specified point with the given width, height and line width. + + The center position of the ellipsis. + The width of the ellipsis. + The height of the ellipsis. + The width of the line border of the ellipsis. + Whether to fill with the color set by . + + + + Sets the stroke color for any following operations to the RGB value. Use to reset. + + Red - 0 to 255 + Green - 0 to 255 + Blue - 0 to 255 + + + + Sets the stroke color with the exact decimal value between 0 and 1 for any following operations to the RGB value. Use to reset. + + Red - 0 to 1 + Green - 0 to 1 + Blue - 0 to 1 + + + + Sets the fill and text color for any following operations to the RGB value. Use to reset. + + Red - 0 to 255 + Green - 0 to 255 + Blue - 0 to 255 + + + + Restores the stroke, text and fill color to default (black). + + + + + Calculates the size and position of each letter in a given string in the provided font without changing the state of the page. + + The text to measure each letter of. + The size of the font in user space units. + The position of the baseline (lower-left corner) to start drawing the text from. + + A font added to the document using + or methods. + + The letters from the input text with their corresponding size and position. + + + + Draws the text in the provided font at the specified position and returns the letters which will be drawn. + + The text to draw to the page. + The size of the font in user space units. + The position of the baseline (lower-left corner) to start drawing the text from. + + A font added to the document using + or methods. + + The letters from the input text with their corresponding size and position. + + + + Set the text rendering mode. This will apply to all future calls to AddText until called again. + + To insert invisible text, for example output of OCR, use TextRenderingMode.Neither. + + Text rendering mode to set. + + + + Adds the JPEG image represented by the input bytes at the specified location. + + + + + Adds the JPEG image represented by the input stream at the specified location. + + + + + Adds the JPEG image previously added using , + this will share the same image data to prevent duplication. + + An image previously added to this page or another page. + The size and location to draw the image on this page. + + + + Adds the image previously added using + or sharing the same image to prevent duplication. + + + + + Adds the PNG image represented by the input bytes at the specified location. + + + + + Adds the PNG image represented by the input stream at the specified location. + + + + + Copy a page from unknown source to this page + + Page to be copied + + + + Provides access to the raw page data structures for advanced editing use cases. + + + + + The operations making up the page content stream. + + + + + A key representing an image available to use for the current document builder. + Create it by adding an image to a page using . + + + + + The Id uniquely identifying this image on the builder. + + + + + The reference to the stored image XObject. + + + + + The width of the raw image in pixels. + + + + + The height of the raw image in pixels. + + + + + Create a new . + + + + + This class would lazily flush all token. Allowing us to make changes to references without need to rewrite the whole stream + + + + + Class to remove text from PDFs, useful as a preprocessing step for Optical Character Recognition (OCR). + Note that this should not be used to redact content from PDFs, this is not a secure or reliable way to redact text. + + + + + Return PDF without text as bytes + Path to PDF + List of pages to emit; if null all pages are emitted + + + + + Write PDF without text to the output stream. The caller must manage disposing the output stream. + Must be writable + Path to PDF + List of pages to emit; if null all pages are emitted + + + + + Remove text from the PDF (passed in as a byte array) and return it as a new byte array + PDF document (as byte array) + List of pages to emit; if null all pages are emitted + PDF without text (as a byte array) + + + + + Remove text from the PDF in the input stream and write it to the output stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + Streams for the file contents, this must support reading and seeking. + Must be writable + List of pages to emit; if null all pages are emitted + + + + + Remove text from the PDF and write it to the output stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + PDF document + Must be writable + List of pages to emit; if null all pages are emitted + + + + + Type of pdf writer to use. + + + + + Default output writer + + + + + De-duplicates objects while writing but requires keeping in memory reference. + + + + + Writes any type of to the corresponding PDF document format output. + + + + + Bytes that indicate start of stream + + + + + Bytes that indicate end start of stream + + + + + Single global instance + + + + + Writes the given input token to the output stream with the correct PDF format and encoding including whitespace and line breaks as applicable. + + The token to write to the stream. + The stream to write the token to. + + + + + + + + + + Write a hex value to the output stream + + + + + + + Write an array to the output stream, with whitespace at the end. + + + + + + + Write a boolean "true" or "false" to the output stream, with whitespace at the end. + + + + + + + Write a "%comment" in the output stream, with a line break at the end. + + + + + + + Writes dictionary key/value pairs to output stream as Name/Token pairs. + + + + + + + Write an indirect reference to the stream, with whitespace at the end. + + + + + + + Write a name to the stream, with whitespace at the end. + + + + + + + Write a number to the stream, with whitespace at the end. + + + + + + + Write an object to the stream, with a line break at the end. It writes the following contents: + - "[ObjectNumber] [Generation] obj" + - Object data + - "endobj" + + + + + + + Write a stream token to the output stream, with the following contents: + - Dictionary specifying the length of the stream, any applied compression filters and additional information. + - Stream start indicator + - Bytes in the StreamToken data + - Stream end indicator + + + + + + + Write string to the stream, with whitespace at the end + + + + + + + Write an integer to the stream + + + + + + + Write a line break to the output stream + + + + + + Write a long to the stream + + + + + + + Write a space to the output stream + + + + + + The purpose of this method is to resolve indirect reference. That mean copy the reference's content to the new document's stream + and replace the indirect reference with the correct/new one + + PDF stream writer + Token to inspect for reference + scanner get the content from the original document + Map of previously copied tokens for original document. + Call stack of indirect references + A reference of the token that was copied. With all the reference updated + + + + + A PostScript image XObject. + + + + + + + + + + + + + + + + + The JPX filter encodes data using the JPEG2000 compression method. + A JPEG2000 data stream allows different versions of the image to be decoded + allowing for thumbnails to be extracted. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new . + + + + + + + + + + + + + + XObject type. + + + + + Image. + + + + + Form. + + + + + PostScript. + + +
+
diff --git a/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/net462/UglyToad.PdfPig.xml b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/net462/UglyToad.PdfPig.xml new file mode 100644 index 000000000..830ac373c --- /dev/null +++ b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/net462/UglyToad.PdfPig.xml @@ -0,0 +1,13635 @@ + + + + UglyToad.PdfPig + + + + + A collection of interactive fields for gathering data from a user through dropdowns, textboxes, checkboxes, etc. + Each with form functionality contains a single spread across one or more pages. + + + The name AcroForm distinguishes this from the other form type called form XObjects which act as templates for repeated sections of content. + + + + + The raw PDF dictionary which is the root form object. + + + + + Document-level characteristics related to signature fields. + + + + + Whether all widget annotations need appearance dictionaries and streams. + + + + + All root fields in this form. + + + + + Create a new . + + + + + Get the set of fields which appear on the given page number. + + + + + + + + Extensions for AcroForm. + + + + + Get fields containing data in form. + + + + + Get fields containing data which are children of field. + + + + + Get string values of field. + + + + + Extracts the from the document, if available. + + + + + Retrieve the from the document, if applicable. + + The if the document contains one. + + + + Flags specifying various characteristics of a button type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + For radio buttons, one radio button must be set at all times. + + + + + The field is a set of radio buttons. + + + + + The field is a push button. + + + + + For radio buttons a group of radio buttons will toggle on/off at the same time based on their initial value. + + + + + + A set of related checkboxes. + + + + + + Create a new . + + + + + + A checkbox which may be toggled on or off. + + + + + The which define the behaviour of this button type. + + + + + The current value of this checkbox. + + + + + Whether this checkbox is currently checked/on. + + + + + + Create a new . + + + + + Flags specifying various characteristics of a choice type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + The field is a combo box. + + + + + The combo box includes an editable text box. must be set. + + + + + The options should be sorted alphabetically, this should be ignored by viewer applications. + + + + + The field allows multiple options to be selected. + + + + + The text entered in the field is not spell checked. and must be set. + + + + + Any associated field action is fired when the selection is changed rather than on losing focus. + + + + + An option in a choice field, either or . + + + + + The index of this option in the array. + + + + + Whether this option is selected. + + + + + The text of the option. + + + + + The value of the option when the form is exported. + + + + + Whether the field defined an export value for this option. + + + + + Create a new . + + + + + + + + + A combo box consisting of a drop-down list optionally accompanied by an editable text box in which the + user can type a value other than the predefined choices. + + + + + The flags specifying the behaviour of this field. + + + + + The options to be presented to the user. + + + + + The names of any currently selected options. + + + + + For multiple select lists with duplicate names gives the indices of the selected options. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The options in this field. + The indices of the selected options where there are multiple with the same name. + The names of the selected options. + The number of the page this field appears on. + The location of this field on the page. + + + + A field in an interactive . + + + + + The raw PDF dictionary for this field. + + + + + The representing the type of this field in PDF format. + + + + + The actual represented by this field. + + + + + Specifies various characteristics of the field. + + + + + The optional information common to all types of field. + + + + + The page number of the page containing this form field if known. + + + + + The placement rectangle of this form field on the page given by if known. + + + + + Create a new . + + The dictionary for this field. + The PDF string type of this field. + The flags specifying behaviour for this field. + The type of this field. + Additional information for this field. + The number of the page this field appears on. + The location of this field on the page. + + + + + + + Information from the field dictionary which is common across all field types. + All of this information is optional. + + + + + The reference to the field which is the parent of this one, if applicable. + + + + + The partial field name for this field. The fully qualified field name is the + period '.' joined name of all parents' partial names and this field's partial name. + + + + + The alternate field name to be used instead of the fully qualified field name where + the field is being identified on the user interface or by screen readers. + + + + + The mapping name used when exporting form field data from the document. + + + + + Create a new . + + + + + + + + Indicates the type of field for a . + + + + + A button that immediately to user input without retaining state. + + + + + A set of checkboxes. + + + + + A checkbox which toggles between on and off states. + + + + + A set of radio buttons. + + + + + A single radio button, as part of a set or on its own. + + + + + A textbox allowing user input through the keyboard. + + + + + A dropdown list of options with optional user-editable textbox. + + + + + A list of options for the user to select from. + + + + + A field containing a digital signature. + + + + + The field type wasn't specified. + + + + + + A scrollable list box field. + + + + + The flags specifying the behaviour of this field. + + + + + The options to be presented to the user. + + + + + The names of any currently selected options. + + + + + For multiple select lists with duplicate names gives the indices of the selected options. + + + + + For scrollable list boxes gives the index of the first visible option. + + + + + Whether the field allows multiple selections. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The options in this field. + The indices of the selected options where there are multiple with the same name. + The first visible option index. + The names of the selected options. + The number of the page this field appears on. + The location of this field on the page. + + + + + A non-leaf field in the form's structure. + + + + + The child fields of this field. + + + + + + Create a new . + + + + + + A push button responds immediately to user input without storing any state. + + + + + The which define the behaviour of this button type. + + + + + + Create a new . + + + + + + A single radio button. + + + + + The which define the behaviour of this button type. + + + + + The current value of this radio button. + + + + + Whether the radio button is currently on/active. + + + + + + Create a new . + + + + + + A set of radio buttons. + + + + + The which define the behaviour of this button type. + + + + + + Create a new . + + + + + + A digital signature field. + + + + + + Create a new . + + + + + + A text field is a box or space in which the user can enter text from the keyboard. + The text may be restricted to a single line or may be permitted to span multiple lines. + + + + + The flags specifying the behaviour of this field. + + + + + The value of the text in this text field. + This can be if no value has been set. + + + + + The optional maximum length of the text field. + + + + + Whether the field supports rich text content. + + + + + Whether the field allows multiline text. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The text value. + The maximum length. + The number of the page this field appears on. + The location of this field on the page. + + + + + + + Flags specifying various characteristics of a text type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + The field can contain multiple lines of text. + + + + + The field is for a password and should not be displayed as text and should not be stored to file. + + + + + The field represents a file path selection. + + + + + The text entered is not spell checked. + + + + + The field does not scroll if the text exceeds the bounds of the field. + + + + + For a text field which is not a , or + the field text is evenly spaced by splitting into 'combs' based on the MaxLen entry in the field dictionary. + + + + + The value of the field is a rich text string. + + + + + Specifies document level characteristics for any signature fields in the document's . + + + + + The document contains at least one signature field. + + + + + The document contains signatures which may be invalidated if the file is saved + in a way which alters its previous content rather than simply appending new content. + + + + + Abstract class for GoTo-type actions (GoTo, GoToE, GoToR) that have a destination + + + + + Destination for the GoTo-type action + + + + + Constructor + + + + + Get an action (A) from dictionary. If GoTo, GoToR or GoToE, also fetches the action destination. + + + + + Action types (PDF reference 8.5.3) + + + + + Go to a destination in the current document. + + + + + (“Go-to remote”) Go to a destination in another document. + + + + + (“Go-to embedded”; PDF 1.6) Go to a destination in an embedded file. + + + + + Launch an application, usually to open a file. + + + + + Begin reading an article thread. + + + + + Resolve a uniform resource identifier. + + + + + (PDF 1.2) Play a sound. + + + + + (PDF 1.2) Play a movie. + + + + + (PDF 1.2) Set an annotation’s Hidden flag. + + + + + (PDF 1.2) Execute an action predefined by the viewer application. + + + + + (PDF 1.2) Send data to a uniform resource locator. + + + + + (PDF 1.2) Set fields to their default values. + + + + + (PDF 1.2) Import field values from a file. + + + + + (PDF 1.3) Execute a JavaScript script. + + + + + (PDF 1.5) Set the states of optional content groups. + + + + + (PDF 1.5) Controls the playing of multimedia content. + + + + + (PDF 1.5) Updates the display of a document, using a transition dictionary. + + + + + (PDF 1.6) Set the current view of a 3D annotation + + + + + GoTo action (with a destination inside the current document) + + + + + Constructor + + + + + GoToE action (to go to a destination inside a file embedded within the PDF) + + + + + File specification of the embedded file + + + + + Constructor + + Destination within the embedded file + Specification of the embedded file + + + + GoToR action, to go to a destination in a remote PDF + + + + + Filename of the remote PDF + + + + + Constructor + + Destination within the remote PDF + Filename of the remote PDF + + + + Actions (PDF reference 8.5) + + + + + Type of action + + + + + Constructor + + + + + Action to open a URI + + + + + URI to open + + + + + Constructor + + URI to open + + + + + Provides access to rare or advanced features from the PDF specification. + + + + + Get any embedded files contained in this PDF document. + Since PDF 1.3 any external file referenced by the document may have its contents embedded within the referring PDF file, + allowing its contents to be stored or transmitted along with the PDF file. + + The set of embedded files in this document. + if this document contains more than zero embedded files, otherwise . + + + + Replaces the token in an internal cache that will be returned instead of + scanning the source PDF data for future requests. + + The object number for the object to replace. + Func that takes existing token as input and return new token. + + + + Replaces the token in an internal cache that will be returned instead of + scanning the source PDF data for future requests. + + The object number for the object to replace. + Replacement token to use. + + + + + + + An annotation on a page in a PDF document. + + + + + The underlying PDF dictionary which this annotation was created from. + + + + + The type of this annotation. + + + + + The rectangle in user space units specifying the location to place this annotation on the page. + + + + + The annotation text, or if the annotation does not display text, a description of the annotation's contents. Optional. + + + + + The name of this annotation which should be unique per page. Optional. + + + + + The date and time the annotation was last modified, can be in any format. Optional. + + + + + Flags defining the appearance and behaviour of this annotation. + + + + + Defines the annotation's border. + + + + + Rectangles defined using QuadPoints, for these are the regions used to activate the link, + for text markup annotations these are the text regions to apply the markup to. + See for more information regarding the order of the points. + + + + + Action for this annotation, if any (can be null) + + + + + Indicates if a normal appearance is present for this annotation + + + + + Indicates if a roll over appearance is present for this annotation (shown when you hover over this annotation) + + + + + Indicates if a down appearance is present for this annotation (shown when you click on this annotation) + + + + + The this annotation was in reply to. Can be + + + + + Create a new . + + + + + + + + A border for a PDF object. + + + + + The default border style if not specified. + + + + + The horizontal corner radius in user space units. + + + + + The vertical corner radius in user space units. + + + + + The width of the border in user space units. + + + + + The dash pattern for the border lines if provided. Optional. + + + + + Create a new . + + + + + + + + Specifies characteristics of an annotation in a PDF or FDF document. + + + + + Do not display the annotation if it is not one of the standard annotation types. + + + + + Do not display or print the annotation irrespective of type. Do not allow interaction. + + + + + The annotation should be included when the document is physically printed. + + + + + Do not zoom/scale the annotation as the zoom of the document is changed. + + + + + Do not rotate the annotation as the page is rotated. + + + + + Do not display the annotation in viewer applications as with , however allow the annotation to be printed if is set. + + + + + Allow the annotation to be displayed/printed if applicable but do not respond to user interaction, e.g. mouse clicks. + + + + + Do not allow deleting the annotation or changing size/position but allow the contents to be modified. + + + + + Invert the meaning of the flag. + + + + + Allow the annotation to be deleted, resized, moved or restyled but disallow changes to the annotation contents. Opposite to . + + + + + The standard annotation types in PDF documents. + + + + + A 'sticky note' style annotation displaying some text with open/closed pop-up state. + + + + + A link to elsewhere in the document or an external application/web link. + + + + + Displays text on the page. Unlike there is no associated pop-up. + + + + + Display a single straight line on the page with optional line ending styles. + + + + + Display a rectangle on the page. + + + + + Display an ellipse on the page. + + + + + Display a closed polygon on the page. + + + + + Display a set of connected lines on the page which is not a closed polygon. + + + + + A highlight for text or content with associated annotation texyt. + + + + + An underline under text with associated annotation text. + + + + + A jagged squiggly line under text with associated annotation text. + + + + + A strikeout through some text with associated annotation text. + + + + + Text or graphics intended to display as if inserted by a rubber stamp. + + + + + A visual symbol indicating the presence of text edits. + + + + + A freehand 'scribble' formed by one or more paths. + + + + + Displays text in a pop-up window for entry or editing. + + + + + A file. + + + + + A sound to be played through speakers. + + + + + Embeds a movie from a file in a PDF document. + + + + + Used by interactive forms to represent field appearance and manage user interactions. + + + + + Specifies a page region for media clips to be played and actions to be triggered from. + + + + + Represents a symbol used during the physical printing process to maintain output quality, e.g. color bars or cut marks. + + + + + Used during the physical printing process to prevent colors mixing. + + + + + Adds a watermark at a fixed size and position irrespective of page size. + + + + + Represents a 3D model/artwork, for example from CAD, in a PDF document. + + + + + A custom annotation type. + + + + + Appearance stream (PDF Reference 8.4.4) that describes what an annotation looks like. Each stream is a Form XObject. + The appearance stream is either stateless (in which case is true) + or stateful, in which case is false and the states can be retrieved via . + The states can then be used to retrieve the state-specific appearances using . + + + + + Indicates if this appearance stream is stateless, or whether you can get appearances by state. + + + + + Get list of states. If this is a stateless appearance stream, an empty collection is returned. + + + + + Constructor for stateless appearance stream + + + + + + Constructor for stateful appearance stream + + + + + + Get appearance stream for particular state + + + + + + + + + A QuadPoints quadrilateral is four points defining the region for an annotation to use. + An annotation may cover multiple quadrilaterals. + + + + + The 4 points defining this quadrilateral. + The PDF specification defines these as being in anti-clockwise order starting from the lower-left corner, however + Adobe's implementation doesn't obey the specification and points seem to go in the order: top-left, top-right, + bottom-left, bottom-right. See: https://stackoverflow.com/questions/9855814/pdf-spec-vs-acrobat-creation-quadpoints. + + + + + Create a new . + + + + + + + + + Artifacts are graphics objects that are not part of the author's original content but rather are + generated by the conforming writer in the course of pagination, layout, or other strictly mechanical + processes. + Artifacts may also be used to describe areas of the document where the author uses a graphical + background, with the goal of enhancing the visual experience. In such a case, the background is not + required for understanding the content. - PDF 32000-1:2008, Section 14.8.2.2 + + + + + The artifact's type: Pagination, Layout, Page, or (PDF 1.7) Background. + + + + + The artifact's subtype. Standard values are Header, Footer, and Watermark. + Additional values may be specified for this entry, provided they comply with the naming conventions. + + + + + The artifact's attribute owners. + + + + + The artifact's bounding box. + + + + + The names of regions this element is attached to. + + + + + Is the artifact attached to the top edge? + + + + + Is the artifact attached to the bottom edge? + + + + + Is the artifact attached to the left edge? + + + + + Is the artifact attached to the right edge? + + + + + If present, shall be one of the names Pagination, Layout, Page, or (PDF 1.7) Background. + + + + + Unknown artifact type. + + + + + Ancillary page features such as running heads and folios (page numbers). + + + + + Purely cosmetic typographical or design elements such as footnote rules or background screens. + + + + + Production aids extraneous to the document itself, such as cut marks and colour bars. + + + + + (PDF 1.7) Images, patterns or coloured blocks that either run the entire length and/or + width of the page or the entire dimensions of a structural element. Background artifacts + typically serve as a background for content shown either on top of or placed adjacent to + that background. + A background artifact can further be classified as visual content that serves to enhance the user experience, that lies under the actual content, and that is not required except to retain visual fidelity. + + + + + The root of the document's object hierarchy. Contains references to objects defining the contents, + outline, named destinations and more. + + + + + The catalog dictionary containing assorted information. + + + + + Create a new . + + + + + Defines the visible region of a page, contents expanding beyond the crop box should be clipped. + + + + + Defines the clipping of the content when the page is displayed or printed. The page's contents are to be clipped (cropped) to this rectangle + and then imposed on the output medium. + + + + + Create a new . + + + + + + + + Metadata for the PDF document. + + + + + The underlying document information PDF dictionary from the document. + + + + + The title of this document if applicable. + + + + + The name of the person who created this document if applicable. + + + + + The subject of this document if applicable. + + + + + Any keywords associated with this document if applicable. + + + + + The name of the application which created the original document before it was converted to PDF if applicable. + + + + + The name of the application used to convert the original document to PDF if applicable. + + + + + The date and time the document was created. + + + + + The date and time the document was most recently modified. + + + + + Gets the as a if it's possible to convert it, or . + + + + + Gets the as a if it's possible to convert it, or . + + + + + Gets a string representing this document information. entries are not shown. + + + + + A file embedded in a PDF document for document references. + + + + + The name given to this embedded file in the document's name tree. + + + + + The specification of the path to the file. + + + + + The decrypted bytes of the file. + + + + + The underlying embedded file stream. + + + + + + + + The offset in bytes from the start of the file to the start of the version comment. + + + + + Full details for a link annotation which references an external resource. + A link to an external resource in a document. + + + + + The area on the page which when clicked will open the hyperlink. + + + + + The text in the link region (if any). + + + + + The letters in the link region. + + + + + The URI the link directs to. + + + + + The underlying link annotation. + + + + + Create a new . + + + + + + + + + A small image that is completely defined directly inline within a 's content stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new . + + + + + + + + + + + + + + An image in a PDF document, may be an or a PostScript image XObject (). + + + + + The placement rectangle of the image in PDF coordinates. + + + + + The width of the image in samples. + + + + + The height of the image in samples. + + + + + The number of bits used to represent each color component. + + + + + The encoded bytes of the image with all filters still applied. + + + + + The color rendering intent to be used when rendering the image. + + + + + Indicates whether the image is to be treated as an image mask. + If the image is a monochrome image in which each sample + is specified by a single bit ( is 1). + The image represents a stencil where sample values represent places on the page + that should be marked with the current color or masked (not marked). + + + + + Describes how to map image samples into the values appropriate for the + . + The image data is initially composed of values in the range 0 to 2^n - 1 + where n is . + The decode array contains a pair of numbers for each component in the . + The value from the image data is then interpolated into the values relevant to the + using the corresponding values of the decode array. + + + + + Specifies whether interpolation is to be performed. Interpolation smooths images where a single component in the image + as defined may correspond to many pixels on the output device. The interpolation algorithm is implementation + dependent and is not defined by the specification. + + + + + Whether this image is an or a . + + + + + The full dictionary for this image object. + + + + + The used to interpret the image. + + This is not defined where is and is optional where the image is JPXEncoded for . + + + + + + Get the decoded bytes of the image if applicable. For JPEG images and some other types the + should be used directly. + + + + + Try to convert the image to PNG. Doesn't support conversion of JPG to PNG. + + + + + Remove any named resources and associated state for the last resource dictionary loaded. + Does not affect the cached resources, just the labels associated with them. + + + + + A glyph or combination of glyphs (characters) drawn by a PDF content stream. + + + + + The text for this letter or unicode character. + + + + + Text orientation of the letter. + + + + + The placement position of the character in PDF space. See + + + + + The placement position of the character in PDF space (the start point of the baseline). See + + + + + The end point of the baseline. + + + + + The width occupied by the character within the PDF content. + + + + + Position of the bounding box for the glyph, this is the box surrounding the visible glyph as it appears on the page. + For example letters with descenders, p, j, etc., will have a box extending below the they are placed at. + The width of the glyph may also be more or less than the allocated for the character in the PDF content. + + + + + Size as defined in the PDF file. This is not equivalent to font size in points but is relative to other font sizes on the page. + + + + + The name of the font. + + + + + Details about the font for this letter. + + + + + Text rendering mode that indicates whether we should draw this letter's strokes, + fill, both, neither (in case of hidden text), etc. + If it calls for stroking the is used. + If it calls for filling, the is used. + In modes that perform both filling and stroking, the effect is as if each glyph outline were filled and then stroked in separate operations. + + + + + The primary color of the letter, which is either the in case + is , or otherwise + it is the . + + + + + Stroking color + + + + + Non-stroking (fill) color + + + + + The size of the font in points. + + + + + Sequence number of the ShowText operation that printed this letter. + + + + + Create a new letter to represent some text drawn by the Tj operator. + + + + + Produces a string representation of the letter and its position. + + + + + A marked content element can be used to provide application specific data in the + page's content stream. Interpretation of the marked content is outside of the PDF specification. + + + + + Marked-content identifier. + + + + + The index of this marked content element in the set of marked content in the page. + marked content elements will have the same index as the parent. + + + + + A name indicating the role or significance of the point. + + + + + The properties for this element. + + + + + Is the marked content an artifact, see . + + + + + Child contents. + + + + + Letters contained in this marked content. + + + + + Paths contained in this marked content. + + + + + Images contained in this marked content. + + + + + The natural language specification. + + + + + The replacement text. + + + + + The alternate description. + + + + + The abbreviation expansion text. + + + + + Create a new . + + + + + + + + The boundary of the physical medium to display or print on. + + + See table 3.27 from the PDF specification version 1.7. + + + + + User space units per inch. + + + + + User space units per millimeter. + + + + + A the size of U.S. Letter, 8.5" x 11" Paper. + + + + + A the size of U.S. Legal, 8.5" x 14" Paper. + + + + + A the size of A0 Paper. + + + + + A the size of A1 Paper. + + + + + A the size of A2 Paper. + + + + + A the size of A3 Paper. + + + + + A the size of A4 Paper. + + + + + A the size of A5 Paper. + + + + + A the size of A6 Paper. + + + + + A rectangle, expressed in default user space units, that defines the boundaries of the physical medium on which the page shall be displayed or printed. + + + + + Create a new . + + + + + An optional content group is a dictionary representing a collection of graphics + that can be made visible or invisible dynamically by users of viewers applications. + + + + + The type of PDF object that this dictionary describes. + Must be OCG for an optional content group dictionary. + + + + + The name of the optional content group, suitable for presentation in a viewer application's user interface. + + + + + A single name or an array containing any combination of names. + Default value is 'View'. + + + + + A usage dictionary describing the nature of the content controlled by the group. + + + + + Underlying . + + + + + + + + + + Contains the content and provides access to methods of a single page in the . + + + + + The raw PDF dictionary token for this page in the document. + + + + + The page number (starting at 1). + + + + + Defines the visible region of the page, content outside the is clipped/cropped. + + + + + Defines the boundaries of the physical medium on which the page shall be displayed or printed. + + + + + The rotation of the page in degrees (clockwise). Valid values are 0, 90, 180 and 270. + + + + + The set of s drawn by the PDF content. + + + + + The full text of all characters on the page in the order they are presented in the PDF content. + + + + + Gets the width of the page in points. + + + + + Gets the height of the page in points. + + + + + The size of the page according to the standard page sizes or if no matching standard size found. + + + + + The number of images on this page. Use to access the image contents. + + + + + The parsed graphics state operations in the content stream for this page. + + + + + Access to members whose future locations within the API will change without warning. + + + + + Use the default to get the words for this page. + + The words on this page. + + + + Use a custom to get the words for this page. + + The word extractor to use to generate words. + The words on this page. + + + + Get the hyperlinks which link to external resources on the page. + These are based on the annotations on the page with a type of '/Link'. + + + + + Gets any images on the page. + + + + + Gets any marked content on the page. + + + + + Provides access to useful members which will change in future releases. + + + + + The set of s drawn by the PDF content. + + + + + Get the annotation objects from the page. + + The lazily evaluated set of annotations on this page. + + + + Gets any optional content on the page. + Does not handle XObjects and annotations for the time being. + + + + + Wraps content parsed from a page content stream for access. + + + This should contain a replayable stack of drawing instructions for page content + from a content stream in addition to lazily evaluated state such as text on the page or images. + + + + + Represents the rotation of a page in a PDF document defined by the page dictionary in degrees clockwise. + + + + + The rotation of the page in degrees clockwise. + + + + + Whether the rotation flips the x and y axes. + + + + + Get the rotation expressed in radians (anti-clockwise). + + + + + Create a . + + Rotation in degrees clockwise, must be a multiple of 90. + + + + + + + + + + + + + + + + Equal. + + + + + Not equal. + + + + + The page tree for this document containing all pages, page numbers and their dictionaries. + + + + + The corresponding named size of the . + + + + + Unknown page size, did not match a defined page size. + + + + + The ISO 216 A0 page size. + + + + + The ISO 216 A1 page size. + + + + + The ISO 216 A2 page size. + + + + + The ISO 216 A3 page size. + + + + + The ISO 216 A4 page size. + + + + + The ISO 216 A5 page size. + + + + + The ISO 216 A6 page size. + + + + + The ISO 216 A7 page size. + + + + + The ISO 216 A8 page size. + + + + + The ISO 216 A9 page size. + + + + + The ISO 216 A10 page size. + + + + + The North American Letter page size. + + + + + The North American Legal page size. + + + + + The North American Ledger page size. + + + + + The North American Tabloid page size. + + + + + The North American Executive page size. + + + + + Contains the values inherited from the Page Tree for this page. + + + + + A node in the PDF document's page tree. + Nodes may either be of type 'Page' - a single page, or 'Pages' - a container for multiple child Page + or Pages nodes. + + + + + The dictionary for this node in the page tree. + + + + + The indirect reference for this node in the page tree. + + + + + Whether this node is a page or not. If not it must be a /Pages container. + + + + + The number of this page if is . + + + + + The child nodes of this node if is + + + + + The parent node of this node, unless it is the root node. + + + + + Whether this node is the root node. + + + + + Create a new . + + + + + + + + Orientation of the text. + + + + + Other text orientation. + + + + + Usual text orientation (Left to Right). + + + + + Horizontal text, upside down. + + + + + Rotated text going down. + + + + + Rotated text going up. + + + + + A word. + + + + + The text of the word. + + + + + The text orientation of the word. + + + + + The rectangle completely containing the word. + + + + + The name of the font for the word. + + + + + The letters contained in the word. + + + + + Create a new . + + The letters contained in the word, in the correct order. + + + + Bound angle so that -180 ≤ θ ≤ 180. + + The angle to bound. + + + + + + + Wraps an XML based Extensible Metadata Platform (XMP) document. These XML documents are embedded in PDFs to provide metadata + about objects (the entire document, images, etc). They can be present as plain text or encoded/encrypted streams. + + + + + The underlying for this metadata. + + + + + Get the decoded bytes for the metadata stream. This can be interpreted as a sequence of plain-text bytes. + + The bytes for the metadata object with any filters removed. + + + + Gets the metadata stream as an . + + The for the XMP XML. + + + + The cross-reference table contains information that enables random access to PDF objects within the file by object number + so that specific objects can be located directly without having to scan the whole document. + A PDF document may contain multiple cross reference tables, this class provides access to the merged result with the latest + offset for each object. The offsets of the original cross reference tables or streams merged into this result are available + in the list. + + + + + The corresponding byte offset for each keyed object in this document. + + + + + The type of the first cross-reference table located in this document. + + + + + The trailer dictionary. + + + + + The byte offsets of each cross-reference table or stream in this document and the previous + table or stream they link to if applicable. + + + + + The offset of a cross-reference table or stream in the document. + + + + + The offset in bytes from the start of the document where the stream or table starts. + + + + + The offset in bytes from the start of the document where the previous stream or table in a document + containing incremental updates can be found, if applicable. + + + + + Create a new . + + The offset in bytes from the start of the document where the stream or table starts. + The offset in bytes from the start of the document where the previous stream or table in a document starts. + + + + + + + + + + The table contains a one-line entry for each indirect object, specifying the location of that object within the body of the file. + + + + + + + + The format of an in-use entry is + nnnnnnnnnn ggggg n eol + where + nnnnnnnnnn is a 10-digit byte offset + ggggg is a 5-digit generation number + n is a literal keyword identifying this as an in-use entry + eol is a 2-character end-of-line sequence + + + The byte offset is a 10-digit number, padded with leading zeros if necessary, + giving the number of bytes from the beginning of the file to the beginning of the + object. + + + + + For Xref streams indicated by tables they should be used together when constructing the final table. + + + + + The type of a cross-reference section in a PDF document. + + + + + A cross-reference table. + + + + + A cross-reference stream. + + + + + Contains information for interpreting the cross-reference table. + + + + + The total number of object entries across both the original cross-reference table + and in any incremental updates. + + + Any object in a cross-reference section whose number is greater than this value is + ignored and considered missing. + + + + + The offset in bytes to the previous cross-reference table or stream + if the document has more than one cross-reference section. + + + + + The object reference for the document's catalog dictionary. + + + + + The object reference for the document's information dictionary if it contains one. + + + + + A list containing two-byte string tokens which act as file identifiers. + + + + + The document's encryption dictionary. + + + + + Create a new . + + The parsed dictionary from the document. + + + + + + + The method used by the consumer application to decrypt data. + + + + + The application does not decrypt data but directs the input stream + to the security handler for decryption. + + + + + The application asks the security handler for the encryption key + and implicitly decrypts data using the RC4 algorithm. + + + + + (PDF 1.6) The application asks the security handler for the encryption key and implicitly decrypts data using the AES algorithm in Cipher Block Chaining (CBC) mode + with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. + + + + + The application asks the security handler for the encryption key and implicitly decrypts data using the AES-256 algorithm in Cipher Block Chaining (CBC) with padding mode + with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. + The key size shall be 256 bits. + + + + + The event to be used to trigger the authorization that is required + to access encryption keys used by this filter. + + + + + Authorization is required when a document is opened. + + + + + Authorization is required when accessing embedded files. + + + + + A code specifying the algorithm to be used in encrypting and decrypting the document. + + + + + An algorithm that is undocumented and no longer supported. + + + + + RC4 or AES encryption using a key of 40 bits. + + + + + RC4 or AES encryption using a key of more than 40 bits. + + + + + An unpublished algorithm that permits encryption key lengths ranging from 40 to 128 bits. + + + + + The security handler defines the use of encryption and decryption in the document with a key length of 128 bits. + + + + + The security handler defines the use of encryption and decryption in the document with a key length of 256 bits. + + + + + Since ISO isn't fit for purpose they charge £200 to see the PDF 2 spec so it's not possible to know what the specification for this revision is. + + + + + Required if is 5 or above. A 32-byte string, based on the owner and user passwords that is used in computing the encryption key. + + + + + Required if is 5 or above. A 32-byte string, based on the user password that is used in computing the encryption key. + + + + + This is the revision 6 algorithm the specification for which can't be viewed unless you pay the ISO a lot of money (which makes me extremely angry). + This is an attempt to port directly from PDFBox code. + + The truncated user or owner password. + The 8 byte user or owner key validation salt. + Used when hashing owner password in which case it is the 48 byte /U key. + + + + Manages decryption of tokens in a PDF document where encryption is used. + + + + + (Revision 2) Print the document. + (Revision 3 or greater) Print the document (possibly not at the highest quality level, see ). + + + + + Modify the contents of the document by operations other than those + controlled by , and . + + + + + (Revision 2) Copy or otherwise extract text and graphics from the document, including extracting text and graphics + (in support of accessibility to users with disabilities or for other purposes). + (Revision 3 or greater) Copy or otherwise extract text and graphics from the document by operations other + than that controlled by . + + + + + Add or modify text annotations, fill in interactive form fields, and, if is also set, + create or modify interactive form fields (including signature fields). + + + + + (Revision 3 or greater) Fill in existing interactive form fields (including signature fields), + even if is clear. + + + + + (Revision 3 or greater) Extract text and graphics (in support of accessibility to users with disabilities or for other purposes). + + + + + (Revision 3 or greater) Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), + even if is clear. + + + + + (Revision 3 or greater) Print the document to a representation from which a faithful digital copy of the PDF content could be generated. + When this is clear (and is set), printing is limited to a low-level representation of the appearance, + possibly of degraded quality. + + + + + + The document is encrypted and cannot be decrypted. + + + + + + + + + + + + + + + + + + ASCII 85 (Base85) is a binary to text encoding using 5 ASCII characters per 4 bytes of data. + + + + + + + + + + + + Encodes/decodes data using the ASCII hexadecimal encoding where each byte is represented by two ASCII characters. + + + + + + + + + + + Specifies the compression type to use with . + + + + + Modified Huffman (MH) - Group 3 variation (T2) + + + + + Modified Huffman (MH) - Group 3 (T4) + + + + + Modified Read (MR) - Group 3 (T4) + + + + + Modified Modified Read (MMR) - Group 4 (T6) + + + + + Decodes image data that has been encoded using either Group 3 or Group 4. + + Ported from https://github.com/apache/pdfbox/blob/714156a15ea6fcfe44ac09345b01e192cbd74450/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java + + + + + + + + + + + CCITT Modified Huffman RLE, Group 3 (T4) and Group 4 (T6) fax compression. + + Ported from https://github.com/apache/pdfbox/blob/e644c29279e276bde14ce7a33bdeef0cb1001b3e/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecoderStream.java + + + + + Creates a CCITTFaxDecoderStream. + This constructor may be used for CCITT streams embedded in PDF files, + which use EncodedByteAlign. + + + + + + + + + + + + The default implementation of the . + + + + + The single instance of this provider. + + + + + + + + + + + + + + + The Flate filter is based on the public-domain zlib/deflate compression method, a variable-length Lempel-Ziv + adaptive compression method cascaded with adaptive Huffman coding. + It is fully defined in Internet RFCs 1950, ZLIB Compressed Data Format Specification, and + 1951, DEFLATE Compressed Data Format Specification + + + See section 3.3.3 of the spec (version 1.7) for details on the FlateDecode filter. + The flate decode filter may have a predictor function to further compress the stream. + + + + + + + + + + + A filter is used in a PDF to encode/decode data either to compress it or derive an ASCII representation of the data. + + + + + Whether this library can decode information encoded using this filter. + + + + + Decodes data encoded using this filter type. + + The encoded bytes which were encoded using this filter. + The dictionary of the (or other dictionary types, e.g. inline images) containing these bytes. + The position of this filter in the pipeline used to encode data. + The decoded bytes. + + + + Gets filter implementations () for decoding PDF data. + + + + + Get the filters specified in this dictionary. + + + + + Gets the filters specified by the filter names. + + + + + Get all available filters in this library. + + + + + + + + + + + + + + + + + + The LZW (Lempel-Ziv-Welch) filter is a variable-length, adaptive compression method + that has been adopted as one of the standard compression methods in the Tag Image File Format (TIFF) standard. + + + + + + + + + + + GetLongOrDefault value from bit interval from a byte + + + + + Set value input a bit interval and return that value + + + + + + The Run Length filterencodes data in a simple byte-oriented format based on run length. + The encoded data is a sequence of runs, where each run consists of a length byte followed by 1 to 128 bytes of data. + + + + + + + + + + + This class represents a function in a PDF document. + + + + + The function dictionary. + + + + + The function stream. + + + + + This class represents a function in a PDF document. + + + + + This class represents a function in a PDF document. + + + + + Returns the function type. Possible values are: + + 0Sampled function + 2Exponential interpolation function + 3Stitching function + 4PostScript calculator function + + + the function type. + + + + Returns the function's dictionary. If is defined, it will be returned. + If not, the 's StreamDictionary will be returned. + + + + + This will get the number of output parameters that + have a range specified. A range for output parameters + is optional so this may return zero for a function + that does have output parameters, this will simply return the + number that have the range specified. + + The number of output parameters that have a range specified. + + + + This will get the range for a certain output parameters. This is will never + return null. If it is not present then the range 0 to 0 will + be returned. + + The output parameter number to get the range for. + The range for this component. + + + + This will get the number of input parameters that + have a domain specified. + + The number of input parameters that have a domain specified. + + + + This will get the range for a certain input parameter. This is will never + return null. If it is not present then the range 0 to 0 will + be returned. + + The parameter number to get the domain for. + The domain range for this component. + + + + Evaluates the function at the given input. + ReturnValue = f(input) + + The array of input values for the function. + In many cases will be an array of a single value, but not always. + The of outputs the function returns based on those inputs. + In many cases will be an array of a single value, but not always. + + + + Returns all ranges for the output values as . Required for type 0 and type 4 functions. + + the ranges array. + + + + Returns all domains for the input values as . Required for all function types. + + the domains array. + + + + Clip the given input values to the ranges. + + inputValues the input values + the clipped values + + + + Clip the given input value to the given range. + + x the input value + the min value of the range + the max value of the range + the clipped value + + + + For a given value of x, interpolate calculates the y value + on the line defined by the two points (xRangeMin, xRangeMax) + and (yRangeMin, yRangeMax). + + the value to be interpolated value. + the min value of the x range + the max value of the x range + the min value of the y range + the max value of the y range + the interpolated y value + + + + Pdf function types. + + + + + Sampled function. + + + + + Exponential interpolation function. + + + + + Stitching function. + + + + + PostScript calculator function. + + + + + The samples of the function. + + + + + Stitching function + + + + + Stitching function + + + + + The "Size" entry, which is the number of samples in each input dimension of the sample table. + An array of m positive integers specifying the number of samples in each input dimension of the sample table. + + + + + Get the number of bits that the output value will take up. + Valid values are 1,2,4,8,12,16,24,32. + + Number of bits for each output value. + + + + Get the order of interpolation between samples. Valid values are 1 and 3, + specifying linear and cubic spline interpolation, respectively. Default + is 1. See p.170 in PDF spec 1.7. + + order of interpolation. + + + + An array of 2 x m numbers specifying the linear mapping of input values + into the domain of the function's sample table. Default value: [ 0 (Size0 + - 1) 0 (Size1 - 1) ...]. + + + + + An array of 2 x n numbers specifying the linear mapping of sample values + into the range appropriate for the function's output values. Default + value: same as the value of Range. + + + + + Get the encode for the input parameter. + + The function parameter number. + The encode parameter range or null if none is set. + + + + Get the decode for the input parameter. + + The function parameter number. + The decode parameter range or null if none is set. + + + + Inner class do to an interpolation in the Nth dimension by comparing the + content size of N-1 dimensional objects.This is done with the help of + recursive calls. + To understand the algorithm without recursion, see for a bilinear interpolation + and for trilinear interpolation. + + + + + + Constructor. + + the input coordinates + coordinate of the "ceil" point + coordinate of the "floor" point + + + + + + + Calculate the interpolation. + + interpolated result sample + + + + Do a linear interpolation if the two coordinates can be known, or + call itself recursively twice. + + partially set coordinate (not set from step + upwards); gets fully filled in the last call ("leaf"), where it is + used to get the correct sample + between 0 (first call) and dimension - 1 + interpolated result sample + + + + calculate array index (structure described in p.171 PDF spec 1.7) in multiple dimensions. + + with coordinates + index in flat array + + + + Get all sample values of this function. + + an array with all samples. + + + + Exponential interpolation function + + + + + Exponential interpolation function + + + + + The C0 values of the function, 0 if empty. + + + + + The C1 values of the function, 1 if empty. + + + + + The exponent of the function. + + + + + Stitching function + + + + + Stitching function + + + + + Stitching function + + + + + Returns all functions values. + + + + + Returns all bounds values as . + + the bounds array. + + + + Returns all encode values as . + + the encode array. + + + + Get the encode for the input parameter. + + The function parameter number. + The encode parameter range or null if none is set. + + + + PostScript calculator function + + + + + PostScript calculator function + + + + + Provides the arithmetic operators such as "add" and "sub". + + + + + the "Abs" operator. + + + + + the "add" operator. + + + + + the "atan" operator. + + + + + the "ceiling" operator. + + + + + the "cos" operator. + + + + + the "cvi" operator. + + + + + the "cvr" operator. + + + + + the "div" operator. + + + + + the "exp" operator. + + + + + the "floor" operator. + + + + + the "idiv" operator. + + + + + the "ln" operator. + + + + + the "log" operator. + + + + + the "mod" operator. + + + + + the "mul" operator. + + + + + the "neg" operator. + + + + + the "round" operator. + + + + + the "sin" operator. + + + + + the "sqrt" operator. + + + + + the "sub" operator. + + + + + the "truncate" operator. + + + + + Abstract base class for logical operators. + + + + + Implements the "and" operator. + + + + + Implements the "bitshift" operator. + + + + + Implements the "false" operator. + + + + + Implements the "not" operator. + + + + + Implements the "or" operator. + + + + + Implements the "true" operator. + + + + + Implements the "xor" operator. + + + + + Provides the conditional operators such as "if" and "ifelse". + + + + + Implements the "if" operator. + + + + + Implements the "ifelse" operator. + + + + + The stack used by this execution context. + + + + + Creates a new execution context. + + the operator set + + + + Returns the operator set used by this execution context. + + the operator set + + + + Pops a number (int or real) from the stack. If it's neither data type, a is thrown. + + the number + + + + Pops a value of type int from the stack. If the value is not of type int, a is thrown. + + the int value + + + + Pops a number from the stack and returns it as a real value. If the value is not of a numeric type, + a is thrown. + + the real value + + + + Add a name (ex. an operator) + + the name + + + + Adds an int value. + + the value + + + + Adds a real value. + + the value + + + + Adds a bool value. + + the value + + + + Adds a proc (sub-sequence of instructions). + + the child proc + + + + Executes the instruction sequence. + + the execution context + + + + Basic parser for Type 4 functions which is used to build up instruction sequences. + + + + + Returns the instruction sequence that has been build from the syntactic elements. + + the instruction sequence + + + + Parses the given text into an instruction sequence representing a Type 4 function that can be executed. + + the Type 4 function text + the instruction sequence + + + + + + + Interface for PostScript operators.e + + + + + Executes the operator. The method can inspect and manipulate the stack. + + the execution context + + + + This class provides all the supported operators. + + + + + Creates a new Operators object with the default set of operators. + + + + + Returns the operator for the given operator name. + + the operator name + the operator (or null if there's no such operator + + + + Parser for PDF Type 4 functions. This implements a small subset of the PostScript + language but is no full PostScript interpreter. + + + + + Used to indicate the parsers current state. + + + + + Parses a Type 4 function and sends the syntactic elements to the given syntax handler. + + the text source + the syntax handler + + + + This interface defines all possible syntactic elements of a Type 4 function. + It is called by the parser as the function is interpreted. + + + + + Indicates that a new line starts. + + the new line character (CR, LF, CR/LF or FF) + + + + Called when whitespace characters are encountered. + + the whitespace text + + + + Called when a token is encountered. No distinction between operators and values is done here. + + the token text + + + + Called for a comment. + + the comment + + + + Abstract base class for a . + + + + + + + + + + + + + + + + + Tokenizer for Type 4 functions. + + + + + Provides the relational operators such as "eq" and "le". + + + + + Implements the "eq" operator. + + + + + Abstract base class for number comparison operators. + + + + + Implements the "ge" operator. + + + + + Implements the "gt" operator. + + + + + Implements the "le" operator. + + + + + Implements the "lt" operator. + + + + + Implements the "ne" operator. + + + + + Provides the stack operators such as "Pop" and "dup". + + + + + Implements the "copy" operator. + + + + + Implements the "dup" operator. + + + + + Implements the "exch" operator. + + + + + Implements the "index" operator. + + + + + Implements the "Pop" operator. + + + + + Implements the "roll" operator. + + + + + returns 0 if false, +1 if true, -1 if pt ON polygon boundary. + See "The Point in Polygon Problem for Arbitrary Polygons" by Hormann and Agathos + + + + + + + + Convert self-intersecting polygons into simple polygons. + + + + + + + + Convert self-intersecting polygons into simple polygons. + + + + + + + + This function is more accurate when the point that's GEOMETRICALLY between the other + 2 points is the one that's tested for distance. + nb: with 'spikes', either pt1 or pt3 is geometrically between the other pts"> + + + + + + + + + + Clean polygon. + + + proximity in units/pixels below which vertices will be stripped. + Default ~= sqrt(2) so when adjacent vertices or semi-adjacent vertices have both x and y coords within 1 unit, then the second vertex will be stripped. + + + + Clean polygon. + + + proximity in units/pixels below which vertices will be stripped. + Default ~= sqrt(2) so when adjacent vertices or semi-adjacent vertices have both x and y coords within 1 unit, then the second vertex will be stripped. + + + + By far the most widely used winding rules for polygon filling are + EvenOdd and NonZero (GDI, GDI+, XLib, OpenGL, Cairo, AGG, Quartz, SVG, Gr32) + Others rules include Positive, Negative and ABS_GTR_EQ_TWO (only in OpenGL) + see http://glprogramming.com/red/chapter11.html + + + + + OutRec: contains a path in the clipping solution. Edges in the AEL will + carry a pointer to an OutRec when they are part of the clipping solution. + + + + + Applies clipping from a clipping path to another path. + + + + + Number of lines to use when transforming bezier curve to polyline. + + + + + Generates the result of applying a clipping path to another path. + + + + + Converts a path to a set of points for the Clipper algorithm to use. + Allows duplicate points as they will be removed by Clipper. + + + + + Extension class to Geometry. + + + + + Return true if the points are in counter-clockwise order. + + The first point. + The second point. + The third point. + + + + Get the dot product of both points. + + The first point. + The second point. + + + + Get a point with the summed coordinates of both points. + + The first point. + The second point. + + + + Get a point with the substracted coordinates of both points. + + The first point. + The second point. + + + + Algorithm to find a minimal bounding rectangle (MBR) such that the MBR corresponds to a rectangle + with smallest possible area completely enclosing the polygon. + From 'A Fast Algorithm for Generating a Minimal Bounding Rectangle' by Lennert D. Den Boer. + + + Polygon P is assumed to be both simple and convex, and to contain no duplicate (coincident) vertices. + The vertices of P are assumed to be in strict cyclic sequential order, either clockwise or + counter-clockwise relative to the origin P0. + + + + + Algorithm to find the (oriented) minimum area rectangle (MAR) by first finding the convex hull of the points + and then finding its MAR. + + The points. + + + + Algorithm to find the oriented bounding box (OBB) by first fitting a line through the points to get the slope, + then rotating the points to obtain the axis-aligned bounding box (AABB), and then rotating back the AABB. + + The points. + + + + Algorithm to find the convex hull of the set of points with time complexity O(n log n). + + + + + Whether the point is located inside the rectangle. + + The rectangle that should contain the point. + The point that should be contained within the rectangle. + If set to false, will return false if the point belongs to the border. + + + + Whether the other rectangle is located inside the rectangle. + + The rectangle that should contain the other rectangle. + The other rectangle that should be contained within the rectangle. + If set to false, will return false if the rectangles share side(s). + + + + Whether two rectangles overlap. + Returns false if the two rectangles only share a border. + + + + + Gets the that is the intersection of two rectangles. + Only works for axis-aligned rectangles. + + + + + Gets the axis-aligned rectangle that completely containing the original rectangle, with no rotation. + + + + + + Whether the rectangle and the line intersect. + + + + + + + Gets the that is the intersection of the rectangle and the line. + + + + + + + Gets the list of s that are the intersection of the rectangle and the lines. + + + + + + + + Whether the point is located on the line segment. + + + + + Whether two lines intersect. + + + + + Whether two lines intersect. + + + + + Get the that is the intersection of two lines. + + + + + Get the that is the intersection of two lines. + + + + + Checks if both lines are parallel. + + + + + Checks if both lines are parallel. + + + + + Gets the that is the intersection of the rectangle and the line. + + + + + + + Whether the rectangle and the line intersect. + + + + + + + Whether the point is located on the line segment. + + + + + Whether two lines intersect. + + + + + Whether two lines intersect. + + + + + Get the that is the intersection of two lines. + + + + + Get the that is the intersection of two lines. + + + + + Checks if both lines are parallel. + + + + + Checks if both lines are parallel. + + + + + Whether the line formed by and + intersects the line formed by and . + + + + + The intersection of the line formed by and + intersects the rectangle. + + + + + Whether the line formed by and + intersects the rectangle. + + + + + Split a bezier curve into 2 bezier curves, at tau. + + The original bezier curve. + The t value were to split the curve, usually between 0 and 1, but not necessary. + + + + Checks if the curve and the line are intersecting. + Avoid using this method as it is not optimised. Use instead. + + + + + Checks if the curve and the line are intersecting. + Avoid using this method as it is not optimised. Use instead. + + + + + Get the s that are the intersections of the line and the curve. + + + + + Get the s that are the intersections of the line and the curve. + + + + + Get the t values that are the intersections of the line and the curve. + + List of t values where the and the intersect. + + + + Get the t values that are the intersections of the line and the curve. + + List of t values where the and the intersect. + + + + nb: returns MaxInt ((2^32)-1) when pt is on a line + + + + + Whether the point is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the point. + The point that should be contained within the subpath. + If set to false, will return false if the point belongs to the subpath's border. + + + + Whether the rectangle is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the rectangle. + The rectangle that should be contained within the subpath. + If set to false, will return false if the rectangle is on the subpath's border. + + + + Whether the other subpath is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the rectangle. + The other subpath that should be contained within the subpath. + If set to false, will return false if the other subpath is on the subpath's border. + + + + Get the area of the path. + + + + + + Whether the point is located inside the path. + + The path that should contain the point. + The point that should be contained within the path. + If set to false, will return false if the point belongs to the path's border. + + + + Whether the rectangle is located inside the path. + + The path that should contain the rectangle. + The rectangle that should be contained within the path. + If set to false, will return false if the rectangle is on the path's border. + + + + Whether the subpath is located inside the path. + + The path that should contain the subpath. + The subpath that should be contained within the path. + If set to false, will return false if the subpath is on the path's border. + + + + Whether the other path is located inside the path. + + The path that should contain the path. + The other path that should be contained within the path. + If set to false, will return false if the other subpath is on the path's border. + + + + Get the real roots of a Cubic (or Quadratic, a=0) equation. + ax^3 + bx^2 + cx + d = 0 + + ax^3 + bx^2 + cx + d + + + + By default user space units correspond to 1/72nd of an inch (a typographic point). + The UserUnit entry in a page dictionary can define the space units as a different multiple of 1/72 (1 point). + + + + + The number of points (1/72nd of an inch) corresponding to a single unit in user space. + + + + + Create a new unit specification for a page. + + + + + Encapsulates the algorithm for chromatic adaptation described here: + http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html + + + + + Transformer for CIEBased color spaces. + + In addition to the PDF spec itself, the transformation implementation is based on the descriptions in: + https://en.wikipedia.org/wiki/SRGB#The_forward_transformation_(CIE_XYZ_to_sRGB) and + http://www.brucelindbloom.com/index.html?Eqn_XYZ_to_RGB.html + + + + + + Transforms the supplied ABC color to the RGB color of the + that was supplied to this as the destination + workspace. + A, B and C represent red, green and blue calibrated color values in the range 0 to 1. + + + + + A color with cyan, magenta, yellow and black (K) components. + + + + + CMYK Black value (0, 0, 0, 1). + + + + + CMYK White value (all 0). + + + + + + + + The cyan value. + + + + + The magenta value. + + + + + The yellow value. + + + + + The black value. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + Color values in a PDF are interpreted according to the current color space. + Color spaces enable a PDF to specify abstract colors in a device independent way. + + + + + Grayscale. Controls the intensity of achromatic light on a scale from black to white. + + + + + RGB. Controls the intensities of red, green and blue light. + + + + + CMYK. Controls the concentrations of cyan, magenta, yellow and black (K) inks. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalGray - Special case of the CIE colorspace using a single channel (A) and a single transformation. + A represents the gray component of a calibrated gray space in the range 0 to 1. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0 to 1. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + Lab - A CIE ABC color space with two transforms. A, B and C represent the L*, a* and b* + components of a CIE 1976 L*a*b* space. The range of A (L*) is 0 to 100. + The range of B (a*) and C (b*) are defined by the Range of the color space. + + + + + ICC (International Color Consortium) colorspace. + ICC - Colorspace specified by a sequence of bytes which are interpreted according to the + ICC specification. + + + + + An Indexed color space allows a PDF content stream to use small integers as indices into a color map or color table of arbitrary colors in some other space. + A PDF consumer application treats each sample value as an index into the color table and uses the color value it finds there. + + + + + Enables a PDF content stream to paint an area with a pattern rather than a single color. + The pattern may be either a tiling pattern (type 1) or a shading pattern (type 2). + + + + + Provides a means for specifying the use of additional colorants or for isolating the control of individual color components of + a device color space for a subtractive device. + When such a space is the current color space, the current color is a single-component value, called a tint, + that controls the application of the given colorant or color components only. + + + + + Can contain an arbitrary number of color components. They provide greater flexibility than is possible with standard device color + spaces such as or with individual color spaces. + For example, it is possible to create a DeviceN color space consisting of only the cyan, magenta, and yellow color components, + with the black component excluded. + + + + + Contains more document-specific information about the . + + + + + The type of the ColorSpace. + + + + + The number of components for the color space. + + + + + The underlying type of , usually equal to + unless or . + + + + + The number of components for the underlying color space. + + + + + Create a new . + + + + + Get the color. + + + + + Get the color, without check and caching. + + + + + Get the color that initialize the current stroking or nonstroking colour. + + + + + Transform image bytes. + + + + + Convert to byte. + + + + + A grayscale value is represented by a single number in the range 0.0 to 1.0, + where 0.0 corresponds to black, 1.0 to white, and intermediate values to different gray levels. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + Color values are defined by three components representing the intensities of the additive primary colorants red, green and blue. + Each component is specified by a number in the range 0.0 to 1.0, where 0.0 denotes the complete absence of a primary component and 1.0 denotes maximum intensity. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + Color values are defined by four components cyan, magenta, yellow and black. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + An Indexed color space allows a PDF content stream to use small integers as indices into a color map or color table of arbitrary colors in some other space. + A PDF consumer treats each sample value as an index into the color table and uses the color value it finds there. + + + + + Creates a indexed color space useful for extracting stencil masks as black-and-white images, + i.e. with a color palette of two colors (black and white). If the decode parameter array is + [0, 1] it indicates that black is at index 0 in the color palette, whereas [1, 0] indicates + that the black color is at index 1. + + + + + + + + + In the case of , gets the ' BaseNumberOfColorComponents. + + + + + The base color space in which the values in the color table are to be interpreted. + It can be any device or CIE-based color space or (in PDF 1.3) a Separation or DeviceN space, + but not a Pattern space or another Indexed space. + + + + + An integer that specifies the maximum valid index value. Can be no greater than 255. + + + + + Provides the mapping between index values and the corresponding colors in the base color space. + + + + + Create a new . + + + + + + + + + + + + + + + + Unwrap then transform using base color space details. + + + + + + DeviceN colour spaces may contain an arbitrary number of colour components. They provide greater flexibility than + is possible with standard device colour spaces such as DeviceCMYK or with individual Separation colour spaces. + + + + + + The 'N' in DeviceN. + + + + + + + + Specifies name objects specifying the individual colour components. The length of the array shall + determine the number of components in the DeviceN colour space. + + + The component names shall all be different from one another, except for the name None, which may be repeated. + + The special name All, used by Separation colour spaces, shall not be used. + + + + + + If the colorant name associated with a DeviceN color space does not correspond to a colorant available on the device, + the application arranges for subsequent painting operations to be performed in an alternate color space. + The intended colors can be approximated by colors in a device or CIE-based color space + which are then rendered with the usual primary or process colorants. + + + + + The optional attributes parameter shall be a dictionary containing additional information about the components of + colour space that conforming readers may use. Conforming readers need not use the alternateSpace and tintTransform + parameters, and may instead use custom blending algorithms, along with other information provided in the attributes + dictionary if present. + + + + + During subsequent painting operations, an application calls this function to transform a tint value into + color component values in the alternate color space. + The function is called with the tint value and must return the corresponding color component values. + That is, the number of components and the interpretation of their values depend on the . + + + + + Create a new . + + + + + + + + + + + + + + + + + DeviceN Color Space Attributes. + + + + + A name specifying the preferred treatment for the colour space. Values shall be DeviceN or NChannel. Default value: DeviceN. + + + + + Colorants - dictionary - Required if Subtype is NChannel and the colour space includes spot colorants; otherwise optional. + + + + + Process - dictionary - Required if Subtype is NChannel and the colour space includes components of a process colour space, otherwise optional. + + + + + MixingHints - dictionary - Optional + + + + + Create a new . + + + + + Create a new . + + + + + A Separation color space provides a means for specifying the use of additional colorants or + for isolating the control of individual color components of a device color space for a subtractive device. + When such a space is the current color space, the current color is a single-component value, called a tint, + that controls the application of the given colorant or color components only. + + + + + + + + + + + Specifies the name of the colorant that this Separation color space is intended to represent. + + + + The special colorant name All refers collectively to all colorants available on an output device, + including those for the standard process colorants. + + + The special colorant name None never produces any visible output. + Painting operations in a Separation space with this colorant name have no effect on the current page. + + + + + + If the colorant name associated with a Separation color space does not correspond to a colorant available on the device, + the application arranges for subsequent painting operations to be performed in an alternate color space. + The intended colors can be approximated by colors in a device or CIE-based color space + which are then rendered with the usual primary or process colorants. + + + + + During subsequent painting operations, an application calls this function to transform a tint value into + color component values in the alternate color space. + The function is called with the tint value and must return the corresponding color component values. + That is, the number of components and the interpretation of their values depend on the . + + + + + Create a new . + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalGray - A CIE A color space with a single transformation. + A represents the gray component of a calibrated gray space. The component must be in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + A number defining the gamma for the gray (A) component. Gamma must be positive and is generally + greater than or equal to 1. Default value: 1. + + + + + Create a new . + + + + + Transforms the supplied A color to grayscale RGB (sRGB) using the propties of this + in the transformation process. + A represents the gray component of a calibrated gray space. The component must be in the range 0.0 to 1.0. + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + An array of three numbers [GR GG GB] specifying the gamma for the red, green and blue (A, B, C) components + of the color space. Default value: [1.0 1.0 1.0]. + + + + + An array of nine numbers [XA YA ZA XB YB ZB XC YC ZC] specifying the linear interpretation of the + decoded A, B, C components of the color space with respect to the final XYZ representation. Default value: + [1 0 0 0 1 0 0 0 1]. + + + + + Create a new . + + + + + Transforms the supplied ABC color to RGB (sRGB) using the propties of this + in the transformation process. + A, B and C represent red, green and blue calibrated color values in the range 0.0 to 1.0. + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + An array of four numbers [a_min a_max b_min b_max] that shall specify the range of valid values for the a* and b* (B and C) + components of the colour space — that is, a_min ≤ a* ≤ a_max and b_min ≤ b* ≤ b_max + Component values falling outside the specified range shall be adjusted to the nearest valid value without error indication. + Default value: [−100 100 −100 100]. + + + + + Create a new . + + + + + Transforms the supplied ABC color to RGB (sRGB) using the properties of this + in the transformation process. + A, B and C represent the L*, a*, and b* components of a CIE 1976 L*a*b* space. The range of the first (L*) + component shall be 0 to 100; the ranges of the second and third (a* and b*) components shall be defined by + the Range entry in the colour space dictionary + + + + + + + + + + + + + + + + + The ICCBased color space is one of the CIE-based color spaces supported in PDFs. These color spaces + enable a page description to specify color values in a way that is related to human visual perception. + The goal is for the same color specification to produce consistent results on different output devices, + within the limitations of each device. + + Currently support for this color space is limited in PdfPig. Calculations will only be based on + the color space of . + + + + + + The number of color components in the color space described by the ICC profile data. + This numbers shall match the number of components actually in the ICC profile. + Valid values are 1, 3 and 4. + + + + + + + + An alternate color space that can be used in case the one specified in the stream data is not + supported. Non-conforming readers may use this color space. The alternate color space may be any + valid color space (except a Pattern color space). If this property isn't explicitly set during + construction, it will assume one of the color spaces, DeviceGray, DeviceRGB or DeviceCMYK depending + on whether the value of is 1, 3 or respectively. + + Conversion of the source color values should not be performed when using the alternate color space. + Color values within the range of the ICCBased color space might not be within the range of the + alternate color space. In this case, the nearest values within the range of the alternate space + must be substituted. + + + + + + A list of 2 x numbers [min0 max0 min1 max1 ...] that + specifies the minimum and maximum valid values of the corresponding color components. These + values must match the information in the ICC profile. Default value: [0.0 1.0 0.0 1.0 ...]. + + + + + An optional metadata stream that contains metadata for the color space. + + + + + Create a new . + + + + + + + + + + + + + + + + + Pattern color space. + + + + + The pattern dictionary. + + + + + + + Cannot be called for , will throw a . + + + + + + + + Valid for Uncoloured Tiling Patterns. Wwill throw a otherwise. + + + + + + The underlying color space for Uncoloured Tiling Patterns. + + + + + Create a new . + + The patterns. + The underlying colour space for Uncoloured Tiling Patterns. + + + + Get the corresponding . + + + + + + + + Cannot be called for , will throw a . + + + + + + + + Cannot be called for , will throw a . + Use instead. + + + + + + + + Always returns null. + + + + + + Cannot be called for , will throw a . + + + + + + A ColorSpace which the PdfPig library does not currently support. Please raise a PR if you need support for this ColorSpace. + + + + + The single instance of the . + + + + + + + Cannot be called for , will throw a . + + + + + + + + Cannot be called for , will throw a . + + + + + + + + + + + + + + + + + + Provides utility extension methods for dealing with s. + + + + + Gets the corresponding for a given . + + + + + Maps from a to the corresponding if one exists. + Includes extended color spaces. + + + + + Gets the corresponding for a given . + + + + + s can be classified into colorspace families. + s within the same family share general characteristics. + + + + + Device colorspaces directly specify colors or shades of gray that the output device + should produce. + + + + + CIE-based color spaces are based on an international standard for color specification created by + the Commission Internationale de l'Éclairage (International Commission on Illumination) (CIE). + These spaces specify colors in a way that is independent of the characteristics of any particular output device. + + + + + Special color spaces add features or properties to an underlying color space. + They include facilities for patterns, color mapping, separations, and high-fidelity and multitone color. + + + + + A grayscale color with a single gray component. + + + + + Gray Black value (0). + + + + + Gray White value (1). + + + + + + + + The gray value between 0 and 1. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + A color used for text or paths in a PDF. + + + + + The colorspace used for this color. + + + + + The color as RGB values (between 0 and 1). + + + + + A pattern color. + + Base class for and . + + + + + + 1 for tiling, 2 for shading. + + + + + The dictionary defining the pattern. + + + + + Graphics state parameter dictionary containing graphics state parameters to be put into effect temporarily while the shading + pattern is painted. Any parameters that are so specified shall be inherited from the graphics state that was in effect at the + beginning of the content stream in which the pattern is defined as a resource. + + + + + The pattern matrix (see 8.7.2, "General Properties of Patterns"). Default value: the identity matrix [1 0 0 1 0 0]. + + + + + + + + + + + + + Cannot be called for , will throw a . + + + + + + + + + A tiling pattern consists of a small graphical figure called a pattern cell. Painting with the pattern + replicates the cell at fixed horizontal and vertical intervals to fill an area. The effect is as if the + figure were painted on the surface of a clear glass tile, identical copies of which were then laid down + in an array covering the area and trimmed to its boundaries. + + + + + Content stream containing the painting operators needed to paint one instance of the cell. + + + + + A code that determines how the colour of the pattern cell shall be specified. + + + + + A code that controls adjustments to the spacing of tiles relative to the device pixel grid:. + + + + + The pattern cell's bounding box. These boundaries shall be used to clip the pattern cell. + + + + + The desired horizontal spacing between pattern cells, measured in the pattern coordinate system. + + XStep and YStep may differ from the dimensions of the pattern cell implied by the BBox entry. This allows tiling with irregularly shaped figures. + XStep and YStep may be either positive or negative but shall not be zero. + + + + + + The desired vertical spacing between pattern cells, measured in the pattern coordinate system. + + XStep and YStep may differ from the dimensions of the pattern cell implied by the BBox entry. This allows tiling with irregularly shaped figures. + XStep and YStep may be either positive or negative but shall not be zero. + + + + + + A resource dictionary that shall contain all of the named resources required by the pattern's content stream. + + + + + Content containing the painting operators needed to paint one instance of the cell. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + Shading patterns provide a smooth transition between colours across an area to be painted, independent of + the resolution of any particular output device and without specifying the number of steps in the colour transition. + + + + + A shading object defining the shading pattern's gradient fill. + + + + + Create a new . + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + A color space definition from a resource dictionary. + + + + + A color with red, green and blue components. + + + + + RGB Black value (all 0). + + + + + RGB White value (all 1). + + + + + + + + The red value between 0 and 1. + + + + + The green value between 0 and 1. + + + + + The blue value between 0 and 1. + + + + + Create a new . + + The red value between 0 and 1. + The green value between 0 and 1. + The blue value between 0 and 1. + + + + + + + + + + + Whether 2 RGB colors are equal across all channels. + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + A shading specifies details of a particular gradient fill, including the type + of shading to be used, the geometry of the area to be shaded, and the geometry of the + gradient fill. Various shading types are available, depending on the value of the + dictionary's ShadingType entry. + + + + + The dictionary defining the shading. + + + + + The shading type. + + + + + The colour space in which colour values shall beexpressed. + This may be any device, CIE-based, or special colour space except a Pattern space. + + + + + An array of colour components appropriate to the colour space, + specifying a single background colour value. If present, this + colour shall be used, before any painting operation involving + the shading, to fill those portions of the area to be painted + that lie outside the bounds of the shading object. + + + + + The shading's bounding box. The coordinates shall be interpreted + in the shading's target coordinate space. If present, this bounding + box shall be applied as a temporary clipping boundary when the shading + is painted, in addition to the current clipping path and any other + clipping boundaries in effect at that time. + + + + + The shading operators sample shading functions at a rate determined by + the resolution of the output device. Aliasing can occur if the function + is not smooth—that is, if it has a high spatial frequency relative to + the sampling rate. Anti-aliasing can be computationally expensive and + is usually unnecessary, since most shading functions are smooth enough + or are sampled at a high enough frequency to avoid aliasing effects. + Anti-aliasing may not be implemented on some output devices, in which + case this flag is ignored. + + + + + Create a new . + + + + + The shading's function(s), if any. + + + + + Convert the input values using the functions of the shading. + + + + + Function-based shadings (type 1) define the colour of every point in the domain using a + mathematical function (not necessarily smooth or continuous). + + + + + (Optional) An array of four numbers [xmin xmax ymin ymax] specifying the rectangular domain of + coordinates over which the colour function(s) are defined. + + Default value: [0.0 1.0 0.0 1.0]. + + + + + + (Optional) An array of six numbers specifying a transformation matrix mapping the coordinate + space specified by the Domain entry into the shading's target coordinate space. + + Default value: the identity matrix [1 0 0 1 0 0]. + + + + + + (Required) A 2-in, n-out function or an array of n 2-in, 1-out functions (where n is the + number of colour components in the shading dictionary's colour space). + Each function's domain shall be a superset of that of the shading dictionary. + If the value returned by the function for a given colour component is out of + range, it shall be adjusted to the nearest valid value. + + + + + Create a new . + + + + + Axial shadings (type 2) define a colour blend along a line between two points, optionally + extended beyond the boundary points by continuing the boundary colours. + + + + + (Required) An array of four numbers [x0 y0 x1 y1] specifying the starting and ending coordinates + of the axis, expressed in the shading's target coordinate space. + + + + + (Optional) An array of two numbers [t0 t1] specifying the limiting values of a parametric variable t. + The variable is considered to vary linearly between these two values as the colour gradient + varies between the starting and ending points of the axis. The variable t becomes the input + argument to the colour function(s). Default value: [0.0 1.0]. + + + + + (Required) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number of + colour components in the shading dictionary's colour space). The function(s) shall be + called with values of the parametric variable t in the domain defined by the Domain entry. + Each function's domain shall be a superset of that of the shading dictionary. If the value + returned by the function for a given colour component is out of range, it shall be adjusted + to the nearest valid value. + + + + + (Optional) An array of two boolean values specifying whether to extend the shading beyond the starting + and ending points of the axis, respectively. Default value: [false false]. + + + + + Create a new . + + + + + Radial shadings (type 3) define a blend between two circles, optionally extended beyond the + boundary circles by continuing the boundary colours. This type of shading is commonly used + to represent three-dimensional spheres and cones. + + + + + (Required) An array of six numbers [x0 y0 r0 x1 y1 r1] specifying the centres and radii of the starting + and ending circles, expressed in the shading's target coordinate space. The radii r0 and r1 + shall both be greater than or equal to 0. If one radius is 0, the corresponding circle shall + be treated as a point; if both are 0, nothing shall be painted. + + + + + (Optional) An array of two numbers [t0 t1] specifying the limiting values of a parametric variable t. + The variable is considered to vary linearly between these two values as the colour gradient + varies between the starting and ending circles. The variable t becomes the input argument + to the colour function(s). + + Default value: [0.0 1.0]. + + + + + + (Required) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number of + colour components in the shading dictionary's colour space). The function(s) shall be + called with values of the parametric variable t in the domain defined by the shading + dictionary's Domain entry. Each function’s domain shall be a superset of that of the + shading dictionary. If the value returned by the function for a given colour component + is out of range, it shall be adjusted to the nearest valid value. + + + + + (Optional) An array of two boolean values specifying whether to extend the shading beyond the starting + and ending points of the axis, respectively. + + Default value: [false false]. + + + + + + Create a new . + + + + + Free-form Gouraud-shaded triangle meshes (type 4) define a common construct used by many + three-dimensional applications to represent complex coloured and shaded shapes. Vertices + are specified in free-form geometry. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each vertex (see below). + The value of BitsPerFlag shall be 2, 4, or8, but only the least significant 2 bits + in each flag value shall beused. The value for the edge flag shall be 0, 1, or 2. + + + + + (Required) An array of numbers specifying how to map vertex coordinates and colour components + into the appropriate ranges of values. The decoding method is similar to that used + in image dictionaries. The ranges shall bespecified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n + is the number of colour components in the shading dictionary's colour space). If + this entry is present, the colour data for each vertex shall be specified by a + single parametric variable rather than by n separate colour components. + The designated function(s) shall be called with each interpolated value of the + parametric variable to determine the actual colour at each point. Each input + value shall be forced into the range interval specified for the corresponding + colour component in the shading dictionary's Decode array. Each function’s + domain shall be a superset of that interval. If the value returned by the + function for a given colour component is out of range, it shall be adjusted + to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Lattice-form Gouraud-shaded triangle meshes (type 5) are based on the same geometrical + construct as type 4 but with vertices specified as a pseudorectangular lattice. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of vertices in each row of the lattice; the value shall be greater than + or equal to 2. The number of rows need not be specified. + + + + + (Required) An array of numbers specifying how to map vertex coordinates and colour components + into the appropriate ranges of values. The decoding method is similar to that used + in image dictionaries. The ranges shall bespecified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number + of colour components in the shading dictionary's colour space). If this entry is present, + the colour data for each vertex shall be specified by a single parametric variable rather + than by n separate colour components. The designated function(s) shall be called with each + interpolated value of the parametric variable to determine the actual colour at each point. + Each input value shall be forced into the range interval specified for the corresponding + colour component in the shading dictionary's Decode array. Each function's domain shall be + a superset of that interval. If the value returned by the function for a given colour + component is out of range, it shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Coons patch meshes (type 6) construct a shading from one or more colour patches, each + bounded by four cubic Bézier curves. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each patch (see below). + The value shall be 2, 4, or 8, but only the least significant 2 bits in each flag + value shall be used. Valid values for the edge flag shall be 0, 1, 2, and 3. + + + + + (Required) An array of numbers specifying how to map coordinates and colour components into the + appropriate ranges of values. The decoding method is similar to that used in image + dictionaries. The ranges shall be specified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is + the number of colour components in the shading dictionary's colour space). If this + entry is present, the colour data for each vertex shall be specified by a single + parametric variable rather than by n separate colour components. The designated + function(s) shall be called with each interpolated value of the parametric variable + to determine the actual colour at each point. Each input value shall be forced into + the range interval specified for the corresponding colour component in the shading + dictionary's Decode array. Each function’s domain shall be a superset of that interval. + If the value returned by the function for a given colour component is out of range, it + shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Tensor-product patch meshes (type 7) are similar to type 6 but with additional control + points in each patch, affording greater control over colour mapping. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each patch (see below). + The value shall be 2, 4, or 8, but only the least significant 2 bits in each flag + value shall be used. Valid values for the edge flag shall be 0, 1, 2, and 3. + + + + + (Required) An array of numbers specifying how to map coordinates and colour components into the + appropriate ranges of values. The decoding method is similar to that used in image + dictionaries. The ranges shall be specified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is + the number of colour components in the shading dictionary's colour space). If this + entry is present, the colour data for each vertex shall be specified by a single + parametric variable rather than by n separate colour components. The designated + function(s) shall be called with each interpolated value of the parametric variable + to determine the actual colour at each point. Each input value shall be forced into + the range interval specified for the corresponding colour component in the shading + dictionary's Decode array. Each function’s domain shall be a superset of that interval. + If the value returned by the function for a given colour component is out of range, it + shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Shading types. + + + + + Function-based shading. + + + + + Axial shading. + + + + + Radial shading. + + + + + Free-form Gouraud-shaded triangle mesh. + + + + + Lattice-form Gouraud-shaded triangle mesh. + + + + + Coons patch mesh. + + + + + Tensor-product patch mesh + + + + + Stores each letter as it is encountered in the content stream. + + + + + Stores each path as it is encountered in the content stream. + + + + + Stores a link to each image (either inline or XObject) as it is encountered in the content stream. + + + + + Stores each marked content as it is encountered in the content stream. + + + + + A counter to track individual calls to operations used to determine if letters are likely to be + in the same word/group. This exposes internal grouping of letters used by the PDF creator which may correspond to the + intended grouping of letters into words. + + + + + The line cap style specifies the shape to be used at the ends of open subpaths (and dashes, if any) when they are stroked. + + + + + The stroke is squared off at the endpoint of the path. There is no projection beyond the end of the path. + + + + + A semicircular arc with a diameter equal to the line width is drawn around the endpoint and filled in. + + + + + The stroke continues beyond the endpoint of the path for a distance equal to half the line width and is squared off. + + + + + The line dash pattern controls the pattern of dashes and gaps used to stroke paths. + It is specified by a dash array and a dash phase. + + + + + The distance into the dash pattern at which to start the dash. + + + + + The numbers that specify the lengths of alternating dashes and gaps. + + + + + Create a new . + + The phase. . + The array. . + + + + The default solid line. + + + + + + + + The line join style specifies the shape to be used at the corners of paths that are stroked. + + + + + The outer edges of the strokes for the two segments are extended until they meet at an angle, as in a picture frame. + If the segments meet at too sharp an angle (as defined by the miter limit parameter), a bevel join is used instead. + + + + + An arc of a circle with a diameter equal to the line width is drawn around the point where the two segments meet, + connecting the outer edges of the strokes for the two segments + + + + + The two segments are finished with butt caps and the resulting notch beyond the ends of the segments is filled with a triangle. + + + + + Specifying a rendering intent allows a PDF file to set priorities regarding which properties to preserve and which to sacrifice for CIE colors. + + + + + No correction for the output medium's white point. Colors + only represented relative to the light source. + + + + + Combines light source and output medium's white point. + + + + + Emphasises saturation rather than colorimetric accuracy. + + + + + Modifies from colorimetric values to provide a "pleasing perceptual appearance". + + + + + The current state of text related parameters for a content stream. + + + + + Whether the font comes from the extended graphics state via the operator. + + + + + A value in unscaled text space units which is added to the horizontal (or vertical if in vertical writing mode) + glyph displacement. + + + In horizontal writing mode a positive value will expand the distance between letters/glyphs. + Default value 0. + + + + + As for but applies only for the space character (32). + + + Default value 0. + + + + + Adjusts the width of glyphs/letters by stretching (or compressing) them horizontally. + Value is a percentage of the normal width. + + + + + The vertical distance in unscaled text space units between the baselines of lines of text. + + + + + The name of the currently active font. + + + + + The current font size. + + + + + The for glyph outlines. + + + When the rendering mode requires filling the current non-stroking color in the state is used.
+ When the rendering mode requires stroking the current stroking color in the state is used.
+ The rendering mode has no impact on Type 3 fonts. +
+
+ + + The distance in unscaled text space units to move the default baseline either up or down. + + + Always applies to the vertical coordinate irrespective or writing mode. + + + + + Are all glyphs in a text object treated as a single elementary object for the purpose of the transparent imaging model? + + + + + + + + The state of the current graphics control parameters set by operations in the content stream. + + + Initialized per page. + + + + + The current clipping path. + + + + + The for this graphics state. + + + + + Thickness in user space units of path to be stroked. + + + + + Specifies the shape of line ends for open stroked paths. + + + + + Specifies the shape of joins between connected stroked path segments. + + + + + Maximum length of mitered line joins for paths before becoming a bevel. + + + + + The pattern to be used for stroked lines. + + + + + The rendering intent to use when converting CIE-based colors to device colors. + + + + + Should a correction for rasterization effects be applied? + + + + + Opacity value to be used for transparent imaging. + + + + + Opacity value to be used for transparent imaging. + + + + + Should soft mask and alpha constant values be interpreted as shape () or opacity () values? + + + + + Maps positions from user coordinates to device coordinates. + + + + + The active colorspaces for this content stream. + + + + + The current active stroking color for paths. + + + + + The current active non-stroking color for text and fill. + + + + + Should painting in a colorant set erase () + or leave unchanged () areas of other colorant sets? + + + + + As for but with non-stroking operations. + + + + + In DeviceCMYK color space a value of 0 for a component will erase a component (0) + or leave it unchanged (1) for overprinting. + + + + + The precision for rendering curves, smaller numbers give smoother curves. + + + + + The precision for rendering color gradients on the output device. + + + + + + + + Methods for manipulating and retrieving the current color state for a PDF content stream. + + + + + The used for stroking operations. + + + + + The used for non-stroking operations. + + + + + Set the current color space to use for stroking operations and initialize the stroking color. + + The color space name. + The color space dictionary. Default value is null. + + + + Set the current color space to use for nonstroking operations and initialize the nonstroking color. + + The color space name. + The color space dictionary. Default value is null. + + + + Set the color to use for stroking operations using the current color space. + + + + + Set the stroking color space to DeviceGray and set the gray level to use for stroking operations. + + A number between 0.0 (black) and 1.0 (white). + + + + Set the stroking color space to DeviceRGB and set the color to use for stroking operations. + + Red - A number between 0 (minimum intensity) and 1 (maximum intensity). + Green - A number between 0 (minimum intensity) and 1 (maximum intensity). + Blue - A number between 0 (minimum intensity) and 1 (maximum intensity). + + + + Set the stroking color space to DeviceCMYK and set the color to use for stroking operations. + + Cyan - A number between 0 (minimum concentration) and 1 (maximum concentration). + Magenta - A number between 0 (minimum concentration) and 1 (maximum concentration). + Yellow - A number between 0 (minimum concentration) and 1 (maximum concentration). + Black - A number between 0 (minimum concentration) and 1 (maximum concentration). + + + + Set the color to use for nonstroking operations using the current color space. + + + + + Set the nonstroking color space to DeviceGray and set the gray level to use for nonstroking operations. + + A number between 0.0 (black) and 1.0 (white). + + + + Set the nonstroking color space to DeviceRGB and set the color to use for nonstroking operations. + + Red - A number between 0 (minimum intensity) and 1 (maximum intensity). + Green - A number between 0 (minimum intensity) and 1 (maximum intensity). + Blue - A number between 0 (minimum intensity) and 1 (maximum intensity). + + + + Set the nonstroking color space to DeviceCMYK and set the color to use for nonstroking operations. + + Cyan - A number between 0 (minimum concentration) and 1 (maximum concentration). + Magenta - A number between 0 (minimum concentration) and 1 (maximum concentration). + Yellow - A number between 0 (minimum concentration) and 1 (maximum concentration). + Black - A number between 0 (minimum concentration) and 1 (maximum concentration). + + + + The current graphics state context when running a PDF content stream. + + + + + The current position. + + + + + The matrices for the current text state. + + + + + The number of graphics states on the stack. + + + + + Gets the current graphic state. + + + + + Sets the current graphics state to the state from the top of the stack. + + + + + Saves a copy of the current graphics state on the stack. + + + + + Shows the text represented by the provided bytes using the current graphics state. + + The bytes of the text. + + + + Interprets the tokens to draw text at positions. + + The tokens to show. + + + + Retrieves the named XObject and applies it to the current state. + + The name of the XObject. + + + + Start a new sub-path. + + + + + Close the current subpath. + + + + + Stroke the current path. + + Whether to also close the path. + + + + Fill the current path. + + The filling rule to use. + Whether to also close the path. + + + + Fill and stroke the current path. + + The filling rule to use. + Whether to also close the path. + + + + Add a move command to the path. + Should implement matrix transformations. + + + + + Add a bezier curve to the current subpath. + Should implement matrix transformations. + + + + + Add a bezier curve to the current subpath. + Should implement matrix transformations. + + + + + Add a line command to the subpath. + Should implement matrix transformations. + + + + + Add a rectangle following the pdf specification (m, l, l, l, c) path. A new subpath will be created. + Should implement matrix transformations. + + + + + End the path object without filling or stroking it. This operator shall be a path-painting no-op, + used primarily for the side effect of changing the current clipping path (see 8.5.4, "Clipping Path Operators"). + + + + + Close the current path. + + + + + Indicate that a marked content region is started. + + + + + Indicates that the current marked content region is complete. + + + + + Update the graphics state to apply the state from the named ExtGState dictionary. + + The name of the state to apply. + + + + Indicate that an inline image is being defined. + + + + + Define the properties of the inline image currently being drawn. + + + + + Indicates that the current inline image is complete. + + + + + Modify the clipping rule of the current path. + + + + + Set the flatness tolerance in the graphics state. + Flatness is a number in the range 0 to 100; a value of 0 specifies the output device’s default flatness tolerance. + + + + + + Set the line cap style in the graphics state. + + + + + Set the line dash pattern in the graphics state. + + + + + Set the line join style in the graphics state. + + + + + Set the line width in the graphics state. + + + + + Set the miter limit in the graphics state. + + + + + Move to the start of the next line. + + + This performs this operation: 0 -Tl Td + The offset is negative leading text (Tl) value, this is incorrect in the specification. + + + + + Set the font and the font size. + Font is the name of a font resource in the Font subdictionary of the current resource dictionary. + Size is a number representing a scale factor. + + + + + Set the horizontal scaling. + + + + + + Set the text leading. + + + + + Set the text rendering mode. + + + + + Set text rise. + + + + + Sets the word spacing. + + + + + Modify the current transformation matrix by concatenating the specified matrix. + + + + + Set the character spacing to a number expressed in unscaled text space units. + Initial value: 0. + + + + + Paint the shape and colour shading described by a shading dictionary, subject to the current clipping path. The current colour in the graphics state is neither used nor altered. The effect is different from that of painting a path using a shading pattern as the current colour. + + The name of a shading dictionary resource in the Shading subdictionary of the current resource dictionary. + + + + Handles building s. + + + + + + Modify the current clipping path by intersecting it with the current path, using the + even-odd rule to determine which regions lie inside the clipping path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Modify the current clipping path by intersecting it with the current path, using the + nonzero winding number rule to determine which regions lie inside the clipping path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Begin a compatibility section. Unrecognized operators (along with their operands) are ignored without error. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End a compatibility section. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the color rendering intent in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The rendering intent for CIE-based colors. + + + + + Create new . + + The rendering intent. + + + + + + + + + + + + + + Set the flatness tolerance in the graphics state. + Flatness is a number in the range 0 to 100; a value of 0 specifies the output device’s default flatness tolerance. + + + + + The symbol for this operation in a stream. + + + + + + + + The flatness tolerance controls the maximum permitted distance in device pixels + between the mathematically correct path and an approximation constructed from straight line segments. + + + + + Create new . + + The flatness tolerance. + + + + + + + + + + + + + + Set the line cap style in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The cap style. + + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set the line dash pattern in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The line dash pattern. + + + + + Create a new . + + + + + + + + + + + + + + + + + The symbol for this operation in a stream. + + + + + + + + The line join style. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set the line width in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The line width. + + + + + Create a new . + + The line width. + + + + + + + + + + + + + + Set the miter limit in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The miter limit. The miter limit imposes a maximum on the ratio of the miter length to the line width. + When the limit is exceeded, the join is converted from a miter to a bevel. + + + + + Create a new . + + + + + + + + + + + + + + An operation with associated data from a content stream. + + + + + The symbol representing the operator in the content stream. + + + + + Writes the operator and any operands as valid PDF content to the stream. + + The stream to write to. + + + + Applies the operation to the current context with the provided resources. + Matrix transformations should be implemented in . + + + + + + + Begin an inline image object. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Begin the image data for an inline image object. + + + + + The symbol for this operation in a stream. + + + + + + + + The key-value pairs which specify attributes of the following image. + + + + + Create a new . + + + + + + + + + + + + + + + End an inline image object. + + + + + The symbol for this operation in a stream. + + + + + The raw data for the inline image which should be interpreted according to the corresponding . + + + + + + + + Create a new operation. + + The raw byte data of this image. + + + + + + + + + + + + + + Paint the specified XObject. + The operand name must appear as a key in the XObject subdictionary of the current resource dictionary. + The associated value must be a stream whose Type entry, if present, is XObject. + The effect of depends on the value of the XObject's Subtype entry, which may be Image, Form or PS. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the XObject which appears in the XObject subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the XObject. + + + + + + + + + + + + + + Begin a marked-content sequence terminated by a balancing operator. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the sequence. + + + + + Create a new . + + The name of the marked-content sequence. + + + + + + + + + + + + + + Begin a marked-content sequence with an associated property list terminated by a balancing operator. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + The name of the property dictionary in the Properties subdictionary of the current resource dictionary. + Can be if the property dictionary is provided inline. + + + + + The marked-content sequence properties. + Can be if a name of the property dictionary is provided instead. + + + + + Create a new . + + The name of the marked-content point. + The name of the property dictionary. + + + + Create a new . + + The name of the marked-content point. + The properties of the marked-content point. + + + + + + + + + + + Designate a single marked-content point in the content stream. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + Create a new . + + The name of the marked-content point. + + + + + + + + + + + + + + Designate a single marked-content point in the content stream with an associated property list. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + The name of the property dictionary in the Properties subdictionary of the current resource dictionary. + Can be if the property dictionary is provided inline. + + + + + The marked-content point properties. + Can be if a name of the property dictionary is provided instead. + + + + + Create a new . + + The name of the marked-content point. + The name of the property dictionary. + + + + Create a new . + + The name of the marked-content point. + The properties of the marked-content point. + + + + + + + + + + + End a marked-content sequence. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + Paint the shape and color shading described by a shading dictionary, subject to the current clipping path. + The current color in the graphics state is neither used nor altered. + The effect is different from that of painting a path using a shading pattern as the current color. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of a shading dictionary resource in the Shading subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the shading dictionary. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + First control point x. + + + + + First control point y. + + + + + Second control point x. + + + + + Second control point y. + + + + + End point x. + + + + + End point y. + + + + + Create a new . + + Control point 1 x coordinate. + Control point 1 y coordinate. + Control point 2 x coordinate. + Control point 2 y coordinate. + End point x coordinate. + End point y coordinate. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the first control point. + + + + + The y coordinate of the first control point. + + + + + The x coordinate of the end point. + + + + + The y coordinate of the end point. + + + + + Create a new . + + Control point 1 x coordinate. + Control point 1 y coordinate. + Control point 2/End x coordinate. + Control point 2/End y coordinate. + + + + + + + + + + + + + + Append a rectangle to the current path as a complete subpath. + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the lower left corner. + + + + + The y coordinate of the lower left corner. + + + + + The width of the rectangle. + + + + + The height of the rectangle. + + + + + Create a new . + + The x coordinate of the lower left corner. + The y coordinate of the lower left corner. + The width of the rectangle. + The height of the rectangle. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using the current point and (x2, y2) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the second control point. + + + + + The y coordinate of the second control point. + + + + + The x coordinate of the end point of the curve. + + + + + The y coordinate of the end point of the curve. + + + + + Create a new . + + The x coordinate of the second control point. + The y coordinate of the second control point. + The x coordinate of the end point. + The y coordinate of the end point. + + + + + + + + + + + + + + Append a straight line segment from the current point to the point (x, y). + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the end point of the line. + + + + + The y coordinate of the end point of the line. + + + + + Create a new . + + The x coordinate of the line's end point. + The y coordinate of the line's end point. + + + + + + + + + + + + + + Begin a new subpath by moving the current point to coordinates (x, y), omitting any connecting line segment. + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate for the subpath to begin at. + + + + + The y coordinate for the subpath to begin at. + + + + + Create a new . + + The x coordinate. + The y coordinate. + + + + + + + + + + + + + + Close the current subpath by appending a straight line segment from the current point to the starting point of the subpath. + If the current subpath is already closed, this does nothing. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close and stroke the path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close, fill, and then stroke the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close, fill, and then stroke the path, using the nonzero winding number rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End path without filling or stroking. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill and then stroke the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill the path, using the nonzero winding number rule to determine the region to fill. + Any subpaths that are open are implicitly closed before being filled. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill and then stroke the path, using the nonzero winding number rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Equivalent to included only for compatibility. + Although PDF consumer applications must be able to accept this operator, PDF producer applications should use instead. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Stroke the path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the nonstroking color based on the current color space. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color, 1 for grayscale, 3 for RGB, 4 for CMYK. + + + + + Create a new . + + The color operands. + + + + + + + + + + + + + + Set the stroking color based on the current color space with support for Pattern, Separation, DeviceN, and ICCBased color spaces. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color. + + + + + The name of an entry in the Pattern subdictionary of the current resource dictionary. + + + + + Create a new . + + The color operands. + + + + Create a new . + + The color operands. + The pattern name. + + + + + + + + + + + + + + Set the non-stroking color space to DeviceCMYK and set the color to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The cyan level between 0 and 1. + + + + + The magenta level between 0 and 1. + + + + + The yellow level between 0 and 1. + + + + + The key level between 0 and 1. + + + + + Create a new . + + The cyan level. + The magenta level. + The yellow level. + The key level. + + + + + + + + + + + + + + Set the gray level for non-stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The gray level between 0 (black) and 1 (white). + + + + + Create a new . + + The gray level. + + + + + + + + + + + + + + Set RGB color for non-stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The red level between 0 and 1. + + + + + The green level between 0 and 1. + + + + + The blue level between 0 and 1. + + + + + Create a new . + + The red level. + The green level. + The blue level. + + + + + + + + + + + + + + Set the current color space to use for nonstroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the color space. + + + + + Create a new . + + The name of the color space. + + + + + + + + + + + + + + Set the stroking color based on the current color space. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color, 1 for grayscale, 3 for RGB, 4 for CMYK. + + + + + Create a new . + + The color operands. + + + + + + + + + + + + + + Set the stroking color based on the current color space with support for Pattern, Separation, DeviceN, and ICCBased color spaces. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color. + + + + + The name of an entry in the Pattern subdictionary of the current resource dictionary. + + + + + Create a new . + + The color operands. + + + + Create a new . + + The color operands. + The pattern name. + + + + + + + + + + + + + + Set the stroking color space to DeviceCMYK and set the color to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The cyan level between 0 and 1. + + + + + The magenta level between 0 and 1. + + + + + The yellow level between 0 and 1. + + + + + The key level between 0 and 1. + + + + + Create a new . + + The cyan level. + The magenta level. + The yellow level. + The key level. + + + + + + + + + + + + + + Set the gray level for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The gray level between 0 (black) and 1 (white). + + + + + Create a new . + + The gray level. + + + + + + + + + + + + + + Set RGB color for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The red level between 0 and 1. + + + + + The green level between 0 and 1. + + + + + The blue level between 0 and 1. + + + + + Create a new . + + The red level. + The green level. + The blue level. + + + + + + + + + + + + + + Set the current color space to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the color space. + + + + + Create a new . + + The name of the color space. + + + + + + + + + + + + + + Modify the current transformation matrix by concatenating the specified matrix. + + + + + The symbol for this operation in a stream. + + + + + + + + The 6 values for the transformation matrix. + + + + + Create a new . + + The 6 transformation matrix values. + + + + + + + + + + + + + + Restore the graphics state by removing the most recently saved state from the stack and making it the current state. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Save the current graphics state on the graphics state stack. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the specified parameters in the graphics state using the ExtGState subdictionary with the given name. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of a graphics state parameter dictionary in the ExtGState subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the ExtGState dictionary. + + + + + + + + + + + + + + Begin a text object, initializing the text matrix and the text line matrix to the identity matrix. Text objects cannot be nested. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End a text object, discarding the text matrix. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Move to the start of the next line. + + + This performs this operation: 0 -Tl Td + The offset is negative leading text (Tl) value, this is incorrect in the specification. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Move to the start of the next line offset by Tx Ty. + + + Performs the following operation: + 1 0 0
+ Tm = Tlm = 0 1 0 * Tlm
+ tx ty 1 +
+
+ + + The symbol for this operation in a stream. + + + + + + + + The x value of the offset. + + + + + The y value of the offset. + + + + + Create a new . + + The x offset. + The y offset. + + + + + + + + + + + + + + Move to the start of the next line, offset from the start of the current line by (tx, ty). + This operator also sets the leading parameter in the text state. + + + + + The symbol for this operation in a stream. + + + + + + + + The x value of the offset. + + + + + The y value of the offset and the inverse of the leading parameter. + + + + + Create a new . + + The x value of the offset. + The y value of the offset and the inverse of the leading parameter. + + + + + + + + + + + + + + Set the text matrix and the text line matrix. + + + + + The symbol for this operation in a stream. + + + + + + + + The values of the text matrix. + + + + + Create a new . + + The values of the text matrix. + + + + + + + + + + + + + + Move to the next line and show a text string. + + + + + The symbol for this operation in a stream. + + + + + + + + The text to show as a . + + + + + The text to show as hex bytes. + + + + + Create a new . + + The text to show. + + + + Create a new . + + The bytes of the text to show. + + + + + + + + + + + + + + Move to the next line and show a text string, using the first number as the word spacing and the second as the character spacing. + + + + + The symbol for this operation in a stream. + + + + + + + + The word spacing. + + + + + The character spacing. + + + + + The bytes of the text. + + + + + The text to show. + + + + + Create a new . + + The word spacing. + The character spacing. + The text to show. + + + + Create a new . + + The word spacing. + The character spacing. + The bytes of the text to show. + + + + + + + + + + + + + + Show a text string + + + The input is a sequence of character codes to be shown as glyphs. + + Generally each byte represents a single character code, however starting in version 1.2+ + a composite font might use multi-byte character codes to map to glyphs. + For these composite fonts, the of the font defines the mapping from code to glyph. + + + The grouping of character codes in arguments to this operator does not have any impact on the meaning; for example:
+ (Abc) Tj is equivalent to (A) Tj (b) Tj (c) Tj
+ However grouping character codes makes the document easier to search and extract text from. +
+
+
+ + + The symbol for this operation in a stream. + + + + + + + + The text string to show. + + + + + The bytes of the string to show. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Show one or more text strings, allowing individual glyph positioning. + Each element of array can be a string or a number. + If the element is a string, this operator shows the string. + If it is a number, the operator adjusts the text position by that amount + + + + + The symbol for this operation in a stream. + + + + + + + + The array elements. + + + + + Create a new . + + The array elements. + + + + + + + + + + + Set the character spacing to a number expressed in unscaled text space units. + Initial value: 0. + + + + + The symbol for this operation in a stream. + + + + + + + + The character spacing. + + + + + Create a new . + + The character spacing. + + + + + + + + + + + + + + Set the font and the font size. + Font is the name of a font resource in the Font subdictionary of the current resource dictionary. + Size is a number representing a scale factor. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the font as defined in the resource dictionary. + + + + + The font program defines glyphs for a standard size. This standard size is set so that each line of text will occupy 1 unit in user space. + The size is the scale factor used to scale glyphs from the standard size to the display size rather than the font size in points. + + + + + Create a new . + + The font name. + The font size. + + + + + + + + + + + + + + + + The symbol for this operation in a stream. + + + + + + + + A number specifying the percentage of the normal width. + + + + + Create a new . + + The horizontal scaling percentage. + + + + + + + + + + + + + + Set the text leading. + + + + + The symbol for this operation in a stream. + + + + + + + + The text leading in unscaled text space units. + + + + + Create a new . + + The text leading. + + + + + + + + + + + + + + Set the text rendering mode. + + + + + The symbol for this operation in a stream. + + + + + + + + The text rendering mode to set. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set text rise. + + + + + The symbol for this operation in a stream. + + + + + + + + The amount of text rise - how far to move the baseline up or down from its default location. + + + + + Create a new . + + The text rise. + + + + + + + + + + + + + Sets the word spacing. + + + + + The symbol for this operation in a stream. + + + + + + + + Sets the width of the space ' ' character. For horizontal + writing positive values increase the gap between words separated by space, for vertical writing + positive values decrease the gap. + + + + + Create a new . + + The word spacing. + + + + + + + + + + + + + + Set width information for the glyph and declare that the glyph description specifies both its shape and its color for a Type 3 font. + wx specifies the horizontal displacement in the glyph coordinate system; + it must be consistent with the corresponding width in the font's Widths array. + wy must be 0. + + + + + The symbol for this operation in a stream. + + + + + + + + The horizontal displacement in the glyph coordinate system. + + + + + The vertical displacement in the glyph coordinate system. Must be 0. + + + + + Create a new . + + The horizontal displacement in the glyph coordinate system. + The vertical displacement in the glyph coordinate system. + + + + + + + + + + + + + + Set width information for the glyph and declare that the glyph description specifies both its shape and its color for a Type 3 font. + Also sets the glyph bounding box. + + + + + The symbol for this operation in a stream. + + + + + + + + The horizontal displacement in the glyph coordinate system. + + + + + The vertical displacement in the glyph coordinate system. Must be 0. + + + + + The lower left x coordinate of the glyph bounding box. + + + + + The lower left y coordinate of the glyph bounding box. + + + + + The upper right x coordinate of the glyph bounding box. + + + + + The upper right y coordinate of the glyph bounding box. + + + + + Create a new . + + The horizontal displacement in the glyph coordinate system. + The vertical displacement in the glyph coordinate system. + The lower left x coordinate of the glyph bounding box. + The lower left y coordinate of the glyph bounding box. + The upper right x coordinate of the glyph bounding box. + The upper right y coordinate of the glyph bounding box. + + + + + + + + + + + + + A path is made up of one or more disconnected subpaths, each comprising a sequence of connected segments. The topology of the path is unrestricted: it may be concave or convex, may contain multiple subpaths representing disjoint areas, and may intersect itself in arbitrary ways. + A path shall be composed of straight and curved line segments, which may connect to one another or may be disconnected. + + + + + Rules for determining which points lie inside/outside the path. + + + + + Returns true if this is a clipping path. + + + + + Returns true if the path is filled. + + + + + The fill color. + + + + + Returns true if the path is stroked. + + + + + The stroke color. + + + + + Thickness in user space units of path to be stroked. + + + + + The pattern to be used for stroked lines. + + + + + The cap style to be used for stroked lines. + + + + + The join style to be used for stroked lines. + + + + + Set the clipping mode for this path and IsClipping to true. + IsFilled and IsStroked flags will be set to false. + + + + + Set the filling rule for this path and IsFilled to true. + + + + + Set IsStroked to true. + + + + + Create a clone with no Subpaths. + + + + + Gets a which entirely contains the geometry of the defined path. + + For paths which don't define any geometry this returns . + + + + Manages the Text Matrix (Tm), Text line matrix (Tlm) and used to generate the Text Rendering Matrix (Trm). + + + + + The current text matrix (Tm). + + + + + Captures the value of the at the beginning of a line of text. + This is convenient for aligning evenly spaced lines of text. + + + + + An XObject content record. + + + + + The XObject type. + + + + + The XObject stream. + + + + + The applied transformation. + + + + + The default rendering intent. + + + + + The default color space. + + + + + Utility for working with the bytes in s and converting according to their .s + + + + + Converts the output bytes (if available) of + to actual pixel values using the . For most images this doesn't + change the data but for it will convert the bytes which are indexes into the + real pixel data into the real pixel data. + + + + + Information read from a JPEG image. + + + + + Width of the image in pixels. + + + + + Height of the image in pixels. + + + + + Bits per component. + + + + + Create a new . + + + + + Indicates that this is a baseline DCT-based JPEG, and specifies the width, height, number of components, and component subsampling. + + + + + Indicates that this is a progressive DCT-based JPEG, and specifies the width, height, number of components, and component subsampling. + + + + + Specifies one or more Huffman tables. + + + + + Begins a top-to-bottom scan of the image. In baseline images, there is generally a single scan. + Progressive images usually contain multiple scans. + + + + + Specifies one or more quantization tables. + + + + + Specifies the interval between RSTn markers, in Minimum Coded Units (MCUs). + This marker is followed by two bytes indicating the fixed size so it can be treated like any other variable size segment. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Marks the start of a JPEG image file. + + + + + Marks the end of a JPEG image file. + + + + + Marks a text comment. + + + + + For a given pass number (1 indexed) the scanline indexes of the lines included in that pass in the 8x8 grid. + + + + + Used to calculate the Adler-32 checksum used for ZLIB data in accordance with + RFC 1950: ZLIB Compressed Data Format Specification. + + + + + Calculate the Adler-32 checksum for some data. + + + + + The header for a data chunk in a PNG file. + + + + + The position/start of the chunk header within the stream. + + + + + The length of the chunk in bytes. + + + + + The name of the chunk, uppercase first letter means the chunk is critical (vs. ancillary). + + + + + Whether the chunk is critical (must be read by all readers) or ancillary (may be ignored). + + + + + A public chunk is one that is defined in the International Standard or is registered in the list of public chunk types maintained by the Registration Authority. + Applications can also define private (unregistered) chunk types for their own purposes. + + + + + Whether the (if unrecognized) chunk is safe to copy. + + + + + Create a new . + + + + + + + + Describes the interpretation of the image data. + + + + + Grayscale. + + + + + Colors are stored in a palette rather than directly in the data. + + + + + The image uses color. + + + + + The image has an alpha channel. + + + + + The method used to compress the image data. + + + + + Deflate/inflate compression with a sliding window of at most 32768 bytes. + + + + + 32-bit Cyclic Redundancy Code used by the PNG for checking the data is intact. + + + + + Calculate the CRC32 for data. + + + + + Calculate the CRC32 for data. + + + + + Calculate the combined CRC32 for data. + + + + + Computes a simple linear function of the three neighboring pixels (left, above, upper left), + then chooses as predictor the neighboring pixel closest to the computed value. + + + + + Indicates the pre-processing method applied to the image data before compression. + + + + + Adaptive filtering with five basic filter types. + + + + + The raw byte is unaltered. + + + + + The byte to the left. + + + + + The byte above. + + + + + The mean of bytes left and above, rounded down. + + + + + Byte to the left, above or top-left based on Paeth's algorithm. + + + + + Enables execution of custom logic whenever a chunk is read. + + + + + Called by the PNG reader after a chunk is read. + + + + + The high level information about the image. + + + + + The width of the image in pixels. + + + + + The height of the image in pixels. + + + + + The bit depth of the image. + + + + + The color type of the image. + + + + + The compression method used for the image. + + + + + The filter method used for the image. + + + + + The interlace method used by the image.. + + + + + Create a new . + + + + + + + + Indicates the transmission order of the image data. + + + + + No interlace. + + + + + Adam7 interlace. + + + + + Creates a palette object. Input palette data length from PLTE chunk must be a multiple of 3. + + + + + Adds transparency values from tRNS chunk. + + + + + A pixel in a image. + + + + + The red value for the pixel. + + + + + The green value for the pixel. + + + + + The blue value for the pixel. + + + + + The alpha transparency value for the pixel. + + + + + Whether the pixel is grayscale (if , and will all have the same value). + + + + + Create a new . + + The red value for the pixel. + The green value for the pixel. + The blue value for the pixel. + The alpha transparency value for the pixel. + Whether the pixel is grayscale. + + + + Create a new which has false and is fully opaque. + + The red value for the pixel. + The green value for the pixel. + The blue value for the pixel. + + + + Create a new grayscale . + + The grayscale value. + + + + + + + Whether the pixel values are equal. + + The other pixel. + if all pixel values are equal otherwise . + + + + + + + + + + A PNG image. Call to open from file or bytes. + + + + + The header data from the PNG image. + + + + + The width of the image in pixels. + + + + + The height of the image in pixels. + + + + + Whether the image has an alpha (transparency) layer. + + + + + Get the pixel at the given column and row (x, y). + + + Pixel values are generated on demand from the underlying data to prevent holding many items in memory at once, so consumers + should cache values if they're going to be looped over many time. + + The x coordinate (column). + The y coordinate (row). + The pixel at the coordinate. + + + + Read the PNG image from the stream. + + The stream containing PNG data to be read. + Optional: A visitor which is called whenever a chunk is read by the library. + The data from the stream. + + + + Read the PNG image from the bytes. + + The bytes of the PNG data to be read. + Optional: A visitor which is called whenever a chunk is read by the library. + The data from the bytes. + + + + Read the PNG from the file path. + + The path to the PNG file to open. + Optional: A visitor which is called whenever a chunk is read by the library. + This will open the file to obtain a so will lock the file during reading. + The data from the file. + + + + Used to construct PNG images. Call to make a new builder. + + + + + Create a builder for a PNG with the given width and size. + + + + + Sets the RGB pixel value for the given column (x) and row (y). + + + + + Set the pixel value for the given column (x) and row (y). + + + + + Get the bytes of the PNG file for this builder. + + + + + Write the PNG file bytes to the provided stream. + + + + + The code to execute whenever a chunk is read. Can be . + + + + + Whether to throw if the image contains data after the image end marker. + by default. + + + + + Provides convenience methods for indexing into a raw byte array to extract pixel values. + + + + + Create a new . + + The decoded pixel data as bytes. + The number of bytes in each pixel. + The palette for the image. + The image header. + + + + but without being a public API/ + + + + Default constructor. + + + Default constructor. + + + Create a random access buffer using the given byte array. + + @param input the byte array to be read + + + Create a random access buffer of the given input stream by copying the data. + + @param input the input stream to be read + @throws IOException if something went wrong while copying the data + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + create a new buffer chunk and adjust all pointers and indices. + + + switch to the next buffer chunk and reset the buffer pointer. + + + Ensure that the RandomAccessBuffer is not closed + @throws IOException + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + + Logs internal messages from the PDF parsing process. Consumers can provide their own implementation + in the to intercept log messages. + + + + + Record an informational debug message. + + + + + Record an informational debug message with exception. + + + + + Record an warning message due to a non-error issue encountered in parsing. + + + + + Record an error message due to an issue encountered in parsing. + + + + + Record an error message due to an issue encountered in parsing with exception. + + + + + A node in the (also known as outlines) of a PDF document. + + + + + The text displayed for this node. + + + + + The bookmark's sub-bookmarks. + + + + + Whether this node is a leaf node (has no children). + + + + + The node's level in the hierarchy. + + + + + Create a new . + + + + + The bookmarks in a PDF document. + + + + + The roots of the bookmarks' node tree. + + + + + Create a new . + + + + + Get all nodes. + + + + + Extract bookmarks, if any. + + + + + Extract bookmarks recursively. + + + + + Get explicit destination or a named destination (Ref 12.3.2.3) from dictionary + + + Token name, can be D or Dest + + + + in case we are looking up a destination for a GoToR (Go To Remote) action: pass in true + to enforce a check for indirect page references (which is not allowed for GoToR) + + + + + + A destination location in the same file. + + + + + The page number (1-based) of the destination. + + + + + The display type of the destination. + + + + + The display coordinates of the destination. + + + + + Create a new . + + + + + The coordinates of the region to display for a . + + + + + An empty set of coordinates where no values have been set. + + + + + The left side of the region to display. + + + + + The top edge of the region to display. + + + + + The right side of the region to display + + + + + The bottom edge of the region to display. + + + + + Create a new . + + + + + Create a new . + + + + + Create a new . + + + + + The display type for opening an . + + + + + Display the page with the given top left coordinates and + zoom level. + + + + + Fit the entire page within the window. + + + + + Fit the entire page width within the window. + + + + + Fit the entire page height within the window. + + + + + Fit the rectangle specified by the + within the window. + + + + + Fit the page's bounding box within the window. + + + + + Fit the page's bounding box width within the window. + + + + + Fit the page's bounding box height within the window. + + + + + Named destinations in a PDF document + + + + + Dictionary containing explicit destinations, keyed by name + + + + + Pages are required for getting explicit destinations + + + + + Constructor + + + + + + + + A node in the of a PDF document which corresponds + to a location in the current document. + + + + + The page number where the bookmark is located. + + + + + The destination of the bookmark in the current document. + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a location in an embedded file. + + + + + The file specification for the embedded file + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a location in an external file. + + + + + The name of the file containing this bookmark. + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a uniform resource identifier on the Internet. + + + + + The uniform resource identifier to resolve. + + + + + + Create a new . + + + + + + + + Parse the dictionary from a PDF file trailer. + + + + + Convert the file trailer dictionary into a instance. + + + + + Check that the offsets in the cross reference are correct. + + + + + Used to retrieve the version header from the PDF file. + + + The first line of a PDF file should be a header consisting of the 5 characters %PDF– followed by a version number of the form 1.N, where N is a digit between 0 and 7. + A conforming reader should accept files with any of the following headers: + %PDF–1.0 + %PDF–1.1 + %PDF–1.2 + %PDF–1.3 + %PDF–1.4 + %PDF–1.5 + %PDF–1.6 + %PDF–1.7 + This parser allows versions up to 1.9. + For versions equal or greater to PDF 1.4, the optional Version entry in the document's catalog dictionary should be used instead of the header version. + + + + + The %%EOF may be further back in the file. + + + + + For objects which provide document scoped caching. + + + + + Brute force search for all objects in the document. + + + + + Find the offset of every object contained in the document by searching the entire document contents. + + The bytes of the document. + The object keys and offsets for the objects in this document. + + + + The array representing the size of the fields in a cross reference stream. + + + + + The type of the entry. + + + + + Type 0 and 2 is the object number, Type 1 this is the byte offset from beginning of file. + + + + + For types 0 and 1 this is the generation number. For type 2 it is the stream index. + + + + + How many bytes are in a line. + + + + + Parses through the unfiltered stream and populates the xrefTable HashMap. + + + + + Each subsection of the cross-reference table starts with a line defining the starting object number + and the count of objects in the subsection. + + + xref + 12 16 + ... + + Defines a table subsection that starts with object 12 and has 16 entries (12-27). + + + + + The first object number in the table. + + + + + The number of consecutive objects declared in the table. + + + + + Create a new to define a range of consecutive objects in the cross-reference table. + + + + + Attempts to read the from the current line of the source. + + + + + Configures options used by the parser when reading PDF documents. + + + + + A default with set to false. + + + + + Should the parser apply clipping to paths? + Defaults to . + Bezier curves will be transformed into polylines if clipping is set to . + + + + + Should the parser ignore issues where the document does not conform to the PDF specification? + + + + + The used to record messages raised by the parsing process. + + + + + The password to use to open the document if it is encrypted. If you need to supply multiple passwords to test against + you can use . The value of will be included in the list to test against. + + + + + All passwords to try when opening this document, will include any values set for . + + + + + Skip extracting content where the font could not be found, will result in some letters being skipped/missed + but will prevent the library throwing where the source PDF has some corrupted text. Also skips XObjects like + forms and images when missing. + + + + + + Provides access to document level information for this PDF document as well as access to the s contained in the document. + + + + + The metadata associated with this document. + + + + + Access to the underlying raw structure of the document. + + + + + Access to rare or advanced features of the PDF specification. + + + + + The version number of the PDF specification which this file conforms to, for example 1.4. + + + + + Get the number of pages in this document. + + + + + Whether the document content is encrypted. + + + + + Creates a for reading from the provided file bytes. + + The bytes of the PDF file. + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Opens a file and creates a for reading from the provided file path. + + The full path to the file location of the PDF file. + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Creates a for reading from the provided stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + + + A stream of the file contents, this must support reading and seeking. + The PdfDocument will not dispose of the provided stream. + + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Get the page with the specified page number (1 indexed). + + The number of the page to return, this starts from 1. + The page. + + + + Gets all pages in this document in order. + + + + + Get the document level metadata if present. + The metadata is XML in the (Extensible Metadata Platform) XMP format. + + This will throw a if called on a disposed . + The metadata stream if it exists. + if the metadata is present, otherwise. + + + + Gets the bookmarks if this document contains some. + + This will throw a if called on a disposed . + + + + Gets the form if this document contains one. + + This will throw a if called on a disposed . + An from the document or if not present. + + + + + Dispose the and close any unmanaged resources. + + + + + Extensions for PDF types. + + + + + Try and get the entry with a given name and type or look-up the object if it's an indirect reference. + + + + + Get the decoded data from this stream. + + + + + Character bounding box. + + + + + The glyph bounds. + + + + + THe width. + + + + + Specifies the character collection associated with the (CIDFont). + + + + + Identifies the issuer of the character collection. + + + + + Uniquely identifies the character collection within the parent registry. + + + + + The supplement number of the character collection. + + + + + The stack of numeric operands currently active in a CharString. + + + + + The current size of the stack. + + + + + Whether it's possible to pop a value from either end of the stack. + + + + + Remove and return the value from the top of the stack. + + The value from the top of the stack. + + + + Remove and return the value from the bottom of the stack. + + The value from the bottom of the stack. + + + + Adds the value to the top of the stack. + + The value to add. + + + + Removes all values from the stack. + + + + + Specifies mapping from character identifiers to glyph indices. + Can either be defined as a name in which case it must be Identity or a stream which defines the mapping. + + + + + Glyph descriptions based on Adobe Type 1 format. + + + + + Glyph descriptions based on TrueType format. + + + + + A CID font contains glyph descriptions accessed by + CID (character identifier) as character selectors. + + + A CID font contains information about a CIDFont program but is + not itself a font. It can only be a descendant of a Type 0 font. + + + + + + + + + + Either Type0 (Adobe Type 1 font) or Type2 (TrueType font). + + + + + The PostScript name of the CIDFont. + + + + + The definition of the character collection for the font. + + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + The glyph path for the given character code. + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + + The glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + The normalized glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + + The normalized glyph path for the given character code. + + + + Represents either an Adobe Type 1 or TrueType font program for a CIDFont. + + + + + + Type 0 CID fonts contain glyph descriptions based on the + Adobe Type 1 font format. + + + + + + Type 2 CID fonts contains glyph descriptions based on + the TrueType font format. + + + + + Defines the default position and displacement vector vertical components + for fonts which have vertical writing modes. + + + + + The default value of if not defined by a font. + + + + + The vertical component of the position vector. + + + The full position vector unless overridden by the W2 array is: + (w0/2, Position) + Where w0 is the width of the given glyph. + + + + + The vertical component of the displacement vector. + + + The full displacement vector is: + (0, Displacement) + + + + + Create a new . + + + + + Get the full position vector for a given glyph. + + + + + Get the full displacement vector. + + + + + + + + Glyphs from fonts which support vertical writing mode define displacement and position vectors. + The position vector specifies how the horizontal writing origin is transformed into the vertical writing origin. + The displacement vector specifies how far to move vertically before drawing the next glyph. + + + + + The default position and displacement vectors where not overridden. + + + + + Overrides displacement vector y components for glyphs specified by CID code. + + + + + Overrides position vector (x and y) components for glyphs specified by CID code. + + + + + Create new . + + + + + Get the position vector used to convert horizontal glyph origin to vertical origin. + + + + + Get the displacement vector used to move the origin to the next glyph location after drawing. + + + + + A mutable class used when parsing and generating a . + + + + + Defines the character collection associated CIDFont/s for this CMap. + + + + + An that determines the writing mode for any CIDFont combined with this CMap. + 0: Horizontal + 1: Vertical + + + Defined as optional. + + + + + The PostScript name of the CMap. + + + Defined as required. + + + + + Defines the version of this CIDFont file. + + + Defined as optional. + + + + + Defines changes to the internal structure of Character Map files + or operator semantics. + + + Defined as required. + + + + + Maps from a single character code to its CID. + + + + + The character code. + + + + + The CID to map to. + + + + + Creates a new single mapping from a character code to a CID. + + + + + Associates the beginning and end of a range of character codes with the starting CID for the range. + + + + + The beginning of the range of character codes. + + + + + The end of the range of character codes. + + + + + The CID associated with the beginning character code. + + + + + Creates a new to associate a range of character codes to a range of CIDs. + + The first character code in the range. + The last character code in the range. + The first CID for the range. + + + + Determines if this contains a mapping for the character code. + + + + + Attempts to map the given character code to the corresponding CID in this range. + + Character code + The CID if found. + if the character code maps to a CID in this range or if the character is out of range. + + + + The CMap (character code map) maps character codes to character identifiers (CIDs). + The set of characters which a CMap refers to is the "character set" (charset). + + + + + Defines the type of the internal organization of the CMap file. + + + + + Defines the name of the CMap file. + + + + + The version number of the CIDFont file. + + + + + Describes the set of valid input character codes. + + + + + Associates ranges of character codes with their corresponding CID values. + + + + + Overrides CID mappings for single character codes. + + + + + Controls whether the font associated with the CMap writes horizontally or vertically. + + + + + Issue #202 seems to indicate empty codespace ranges are possible. + + + + + Returns the sequence of Unicode characters for the given character code. + + Character code + Unicode characters(may be more than one, e.g "fi" ligature) + if this character map contains an entry for this code, otherwise. + + + + Converts a character code to a CID. + + The character code. + The corresponding CID for the character code. + + + + A codespace range is specified by a pair of codes of some particular length giving the lower and upper bounds of that range. + + + + + The lower-bound of this range. + + + + + The upper-bound of this range. + + + + + The lower-bound of this range as an integer. + + + + + The upper-bound of this range as an integer. + + + + + The number of bytes for numbers in this range. + + + + + Creates a new instance of . + + + + + Returns if the given code bytes match this codespace range. + + + + + Returns true if the given code bytes match this codespace range. + + + + + Defines the information content (actual text) of the font + as opposed to the display format. + + + + + Does the font provide a CMap to map CIDs to Unicode values? + + + + + Is this document (unexpectedly) using a predefined Identity-H/V CMap as its ToUnicode CMap? + + + + + Defines glyphs using a CIDFont + + + + + + + + + + + Holds the location and type of the stream containing the corresponding font program. + + + This can either be a Type 1 font program (FontFile - ), + a TrueType font program (FontFile2 - ) or a font program + whose format is given by the Subtype of the stream dictionary (FontFile3 - ). + At most only 1 of these entries is present. + + + + + The object containing the stream for this font program. + + + + + The type of the font program represented by this descriptor. + + + + + Create a new . + + + + + The type of font program represented by the stream used by this font descriptor. + + + + + A Type 1 font program. + + + + + A TrueType font program. + + + + + A type defined by the stream dictionary's Subtype entry. + + + + + Specifies metrics and attributes of a simple font or CID Font for the whole font rather than per-glyph. + + + + Provides information to enable consumer applications to find a substitute font when the font is unavailable. + + + Font descriptors are not used with Type 0 fonts. + + + A font descriptor is a dictionary used to specify various attributes. + + + + + + The PostScript name for the font. + + Required + + + + The preferred font family. + + Optional + + + + The font stretch value. + + Optional + + + + The weight/thickness of the font. + + + Possible values: + 100
+ 200
+ 300
+ 500 (normal)
+ 600
+ 700
+ 800
+ 900
+ Optional +
+
+ + + Defines various font characteristics. See . + + Required + + + + A rectangle in glyph coordinates which represents the smallest + rectangle containing all glyphs of the font. + + Required (Except Type 3) + + + + The angle in degrees counter-clockwise from vertical of the vertical + lines of the font. + The value is negative for fonts sloping right (italic fonts). + + 9 o'clock is represented by 90 degrees. 3 o'clock is -90 degrees. + Required + + + + The maximum height above the baseline for any glyph from this font (except for accents). + + Required (Except Type 3) + + + + The maximum depth below the baseline for any glyph in the font. This is negative. + + Required (Except Type 3) + + + + The spacing between consecutive lines of text. Default 0. + + Optional + + + + The vertical distance of the top of flat capital letters from the baseline. + + Required (Where Latin Characters, Except Type 3) + + + + The x height of the font. The vertical distance of the top of flat non-ascending + lowercase letters (e.g. x) from the baseline. Default 0. + + Optional + + + + The horizontal thickness of vertical stems of glyphs. + + Required (Except Type 3) + + + + The vertical thickness of horizontal stems of glyphs. Default 0. + + Optional + + + + The average glyph width in the font. Default 0. + + Optional + + + + The maximum glyph width in the font. Default 0. + + Optional + + + + The width for character codes whose widths are not present in the Widths + array of the font dictionary. Default 0. + + Optional + + + + The bytes of the font program. + + Optional + + + + The character names defined in a font subset. + + Optional + + + + Create a new . + + + + + Provides a mutable way to construct a . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Create a new . + + + + + Create the with values from this builder. + + + + + Specifies various characteristics of a font. + + + + + No flags are set. + + + + + All glyphs have the same width. + + + + + Glyphs have serifs. + + + + + There are glyphs outside the Adobe standard Latin set. + + + + + The glyphs resemble cursive handwriting. + + + + + Font uses a (sub)set of the Adobe standard Latin set. + + Cannot be set at the same time as . + + + + Font is italic. + + + + + Font contains only uppercase letters. + + + + + Lowercase letters are smaller versions of the uppercase equivalent. + + + + + Forces small bold text to be rendered bold. + + + + + Summary details of the font used to draw a glyph. + + + + + The normal weight for a font. + + + + + The bold weight for a font. + + + + + The font name. + + + + + Whether the font is bold. + + + + + The font weight, values above 500 represent bold. + + + + + Whether the font is italic. + + + + + Create a new . + + + + + + + + The font stretch. + + + + + Not specified or not a recognised value. + + + + + Ultra Condensed. + + + + + Extra Condensed. + + + + + Condensed. + + + + + Semi Condensed. + + + + + Normal + + + + + Semi Expanded + + + + + Expanded + + + + + Extra Expanded + + + + + Ultra Expanded + + + + + Font base interface. + + + + + The font name. + + + + + Is the font vertical. + + + + + The font details. + + + + + Read the character code. + + + + + Try get the unicode value. + + + + + Get the font bounding box. + + + + + Get the font transformation matrix. + + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + The glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + The normalized glyph path for the given character code. + + + + A font which supports a vertical writing mode in addition to the default horizontal writing mode. + + + + + In vertical fonts the glyph position is described by a position vector from the origin used for horizontal writing. + The position vector is applied to the horizontal writing origin to give a new vertical writing origin. + + + + + The beginbfrange and endbfrange operators map i ranges of input codes to the corresponding output code range. + + + + + Provides parsing for a certain operator type in a CID font definition. + + The type of the token preceding the operation we wish to parse. + + + + Parse the definition for this part of the CID font and write the results to the . + + + + + + + + + + + Some TrueType fonts use both the Standard 14 descriptor and the TrueType font from disk. + + + + + + + + + + + A font based on the Adobe Type 1 font format. + + + + + + + + + + + A font using one of the Adobe Standard 14 fonts. Can use a custom encoding. + + + + + + Not implemeted. + + + + + + Not implemeted. + + + + + Type 3 fonts are usually unnamed. + + + + + + Type 3 fonts do not use vector paths. Always returns false. + + + + + + Type 3 fonts do not use vector paths. Always returns false. + + + + + Render page as an image. + + + + + Render page as an image. + + The pdf page. + The scale to apply to the page (i.e. zoom level). + The output image format, if supported. + The image as a memory stream. + + + + The output image format of the . + + + + + Bitmap image format. + + + + + Jpeg/Jpg image format. + + + + + Png image format. + + + + + Tiff image format. + + + + + Gif image format. + + + + + Provides access to explore and retrieve the underlying PDF objects from the document. + + + + + The root of the document's hierarchy providing access to the page tree as well as other information. + + + + + The cross-reference table enables direct access to objects by number. + + + + + Provides access to tokenization capabilities for objects by object number. + + + + + Retrieve the tokenized object with the specified object reference number. + + The object reference number. + The tokenized PDF object from the file. + + + + Tokenizes objects from bytes in a PDF file. + + + + + Tokenize the object with a given object number. + May return null when the reference is undefined + + The object number for the object to tokenize. + The tokenized object. + + + + Adds the token to an internal cache that will be returned instead of + scanning the source PDF data. + + The object number for the object to replace. + The token to replace the existing data. + + + + Since we want to scan objects while reading the cross reference table we lazily load it when it's ready. + + + + + Indicates whether we now have a cross reference table. + + + + + Stores tokens encountered between obj - endobj markers for each call. + Cleared after each operation. + + + + + Used internally by the when reading streams to store any occurrences of 'endobj' or 'endstream' observed. + + + + + The offset at which the token started in the file. + + + + + The type, one of either or . + + + + + Create a new + + + + + Used to calculate the Adler-32 checksum used for ZLIB data in accordance with + RFC 1950: ZLIB Compressed Data Format Specification. + + + + + Calculate the Adler-32 checksum for some data. + + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage. + + + [CanBeNull] object Test() => null; + + void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null. + + + [NotNull] object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can never be null. + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can be null. + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form. + + + [StringFormatMethod("message")] + void ShowError(string message, params object[] args) { /* do something */ } + + void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + For a parameter that is expected to be one of the limited set of values. + Specify fields of which type should be used as values for this parameter. + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of . + + + void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + System.ComponentModel.INotifyPropertyChanged interface and this method + is used to notify that some property value changed. + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + public class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + string _name; + + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output. + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) for method output + means that the methos doesn't return normally (throws or terminates the process).
+ Value canbenull is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, or use single attribute + with rows separated by semicolon. There is no notion of order rows, all rows are checked + for applicability and applied per each program state tracked by R# analysis.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, + // and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("=> true, result: notnull; => false, result: null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not. + + + [LocalizationRequiredAttribute(true)] + class Foo { + string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + + class UsesNoEquality { + void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + class ComponentAttribute : Attribute { } + + [Component] // ComponentAttribute requires implementing IComponent interface + class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library), + so this symbol will not be marked as unused (as well as by other usage inspections). + + + + + Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes + as unused (as well as by other usage inspections) + + + + Only entity marked with attribute considered used. + + + Indicates implicit assignment to a member. + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type. + + + + Specify what is considered used implicitly when marked + with or . + + + + Members of entity marked with attribute are considered used. + + + Entity marked with attribute and all its members considered used. + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used. + + + + + Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. + If the parameter is a delegate, indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated while the method is executed. + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute. + + + [Pure] int Multiply(int x, int y) => x * y; + + void M() { + Multiply(123, 42); // Waring: Return value of pure method is not used + } + + + + + Indicates that the return value of method invocation must be used. + + + + + Indicates the type member or parameter of some type, that should be used instead of all other ways + to get the value that type. This annotation is useful when you have some "context" value evaluated + and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. + + + class Foo { + [ProvidesContext] IBarService _barService = ...; + + void ProcessNode(INode node) { + DoSomething(node, node.GetGlobalServices().Bar); + // ^ Warning: use value of '_barService' field + } + } + + + + + Indicates that a parameter is a path to a file or a folder within a web project. + Path can be relative or absolute, starting from web root (~). + + + + + An extension method marked with this attribute is processed by ReSharper code completion + as a 'Source Template'. When extension method is completed over some expression, it's source code + is automatically expanded like a template at call site. + + + Template method body can contain valid source code and/or special comments starting with '$'. + Text inside these comments is added as source code when the template is applied. Template parameters + can be used either as additional method parameters or as identifiers wrapped in two '$' signs. + Use the attribute to specify macros for parameters. + + + In this example, the 'forEach' method is a source template available over all values + of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: + + [SourceTemplate] + public static void forEach<T>(this IEnumerable<T> xs) { + foreach (var x in xs) { + //$ $END$ + } + } + + + + + + Allows specifying a macro for a parameter of a source template. + + + You can apply the attribute on the whole method or on any of its additional parameters. The macro expression + is defined in the property. When applied on a method, the target + template parameter is defined in the property. To apply the macro silently + for the parameter, set the property value = -1. + + + Applying the attribute on a source template method: + + [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] + public static void forEach<T>(this IEnumerable<T> collection) { + foreach (var item in collection) { + //$ $END$ + } + } + + Applying the attribute on a template method parameter: + + [SourceTemplate] + public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { + /*$ var $x$Id = "$newguid$" + x.ToString(); + x.DoSomething($x$Id); */ + } + + + + + + Allows specifying a macro that will be executed for a source template + parameter when the template is expanded. + + + + + Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. + + + If the target parameter is used several times in the template, only one occurrence becomes editable; + other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, + use values >= 0. To make the parameter non-editable when the template is expanded, use -1. + > + + + + Identifies the target parameter of a source template if the + is applied on a template method. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is + an MVC controller. If applied to a method, the MVC controller name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC + partial view. If applied to a method, the MVC partial view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component name. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component view. If applied to a method, the MVC view component view name is default. + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name. + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String). + + + + + Indicates how method, constructor invocation or property access + over collection type affects content of the collection. + + + + Method does not use or modify content of the collection. + + + Method only reads content of the collection but does not modify it. + + + Method can change content of the collection but does not add new elements. + + + Method can add new elements to the collection. + + + + Indicates that the marked method is assertion method, i.e. it halts control flow if + one of the conditions is satisfied. To set the condition, mark one of the parameters with + attribute. + + + + + Indicates the condition parameter of the assertion method. The method itself should be + marked by attribute. The mandatory argument of + the attribute is the assertion type. + + + + + Specifies assertion type. If the assertion method argument satisfies the condition, + then the execution continues. Otherwise, execution is assumed to be halted. + + + + Marked parameter should be evaluated to true. + + + Marked parameter should be evaluated to false. + + + Marked parameter should be evaluated to null value. + + + Marked parameter should be evaluated to not null value. + + + + Indicates that the marked method unconditionally terminates control flow execution. + For example, it could unconditionally throw exception. + + + + + Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, + .Where). This annotation allows inference of [InstantHandle] annotation for parameters + of delegate type by analyzing LINQ method chains. + + + + + Indicates that IEnumerable, passed as parameter, is not enumerated. + + + + + Indicates that parameter is regular expression pattern. + + + + + Prevents the Member Reordering feature from tossing members of the marked class. + + + The attribute must be mentioned in your member reordering patterns + + + + + XAML attribute. Indicates the type that has ItemsSource property and should be treated + as ItemsControl-derived type, to enable inner items DataContext type resolve. + + + + + XAML attribute. Indicates the property of some BindingBase-derived type, that + is used to bind some item of ItemsControl-derived type. This annotation will + enable the DataContext type resolve for XAML bindings for such properties. + + + Property should have the tree ancestor of the ItemsControl type or + marked with the attribute. + + + + + Helper class for dates. + + + + + Try parsing a pdf formatted date string into a . + Date values used in a PDF shall conform to a standard date format, which closely + follows that of the international standard ASN.1, defined in ISO/IEC 8824. A date shall be a text string + of the form (D:YYYYMMDDHHmmSSOHH'mm). + + The pdf formated date string, e.g. D:199812231952-08'00. + The parsed date. + True if parsed. + + + + Default Word Extractor. + + + + + Gets the words. + + The letters in the page. + + + + Create an instance of Default Word Extractor, . + + + + Utility functions for hex encoding. + + @author John Hewson + + + for hex conversion. + + https://stackoverflow.com/questions/2817752/java-code-to-convert-byte-to-hexadecimal + + + + + Returns a hex string for the given byte array. + + + + + An approach used to generate words from a set of letters. + + + + + Generate words from the input set of letters. + + The letters to generate words for. + An enumerable of words from this approach. + + + + The identity matrix. The result of multiplying a matrix with + the identity matrix is the matrix itself. + + + + + Creates a 3x3 matrix with the following layout: + + | m11 m12 m13 | + | m21 m22 m23 | + | m31 m32 m33 | + + + + + + Returns a new matrix that is the inverse of this matrix (i.e. multiplying a matrix with + its inverse matrix yields the identity matrix). + + If an inverse matrix does not exist, null is returned. + + + + + Returns a new matrix with each element being a mulitple of the supplied factor. + + + + + Multiplies this matrix with the supplied 3-element vector + and returns a new 3-element vector as the result. + + + + + Returns a new matrix that is the 'dot product' of this matrix + and the supplied matrix. + + + + + Returns a new matrix that is the transpose of this matrix + (i.e. the tranpose of a matrix, is a matrix with its rows + and column interchanged) + + + + + Measures of whitespace size based on point size. + + + + + Get the average whitespace sized expected for a given letter. + + + + + Check if the measured gap is probably big enough to be a whitespace character based on the letter. + + + + + Sets if the stream writer should attempt to deduplicate objects. + May not have any affect if does not + support deduplication. + + + + + The underlying stream used by the writer. + + + + + Writes a single token to the stream. + + Token to write. + Indirect reference to the token. + + + + Writes a token to a reserved object number. + + Token to write. + Reserved indirect reference. + Reserved indirect reference. + + + + Reserves an object number for an object to be written. + Useful with cyclic references where object number must be known before + writing. + + A reserved indirect reference. + + + + Initializes the PDF stream with pdf header. + + Version of PDF. + + + + Completes the PDF writing trailing PDF information. + + Indirect reference of catalog. + Reference to document information (optional) + + + + Writes any type of to the corresponding PDF document format output. + + + + + Writes the given input token to the output stream with the correct PDF format and encoding including whitespace and line breaks as applicable. + + The token to write to the stream. + The stream to write the token to. + + + + Writes pre-serialized token as an object token to the output stream. + + Object number of the indirect object. + Generation of the indirect object. + Pre-serialized object contents. + The stream to write the token to. + + + + Writes a valid single section cross-reference (xref) table plus trailer dictionary to the output for the set of object offsets. + + The byte offset from the start of the document for each object in the document. + The object representing the catalog dictionary which is referenced from the trailer dictionary. + The output stream to write to. + The object reference for the document information dictionary if present. + + + + Derived class of that does not write or operations in streams + + + + + Write stream without or operations + + + + + + + Try get a stream without or operations. + + + + true if any text operation found (and we have a valid without the text operations), + false if no text operation found (in which case is null) + + + + The standard of PDF/A compliance for generated documents. + + + + + No PDF/A compliance. + + + + + Compliance with PDF/A1-B. Level B (basic) conformance are standards necessary for the reliable reproduction of a document's visual appearance. + + + + + Compliance with PDF/A1-A. Level A (accessible) conformance are PDF/A1-B standards in addition to features intended to improve a document's accessibility. + + + + + Compliance with PDF/A2-B. Level B (basic) conformance are standards necessary for the reliable reproduction of a document's visual appearance. + + + + + Compliance with PDF/A2-A. Level A (accessible) conformance are PDF/A2-B standards in addition to features intended to improve a document's accessibility. + + + + + Compliance with PDF/A3-B. Level B (basic) conformance are PDF/A2-B standards in addition to support for embedded files + + + + + Compliance with PDF/A3-A. Level A (accessible) conformance are PDF/A3-B standards in addition to features intended to improve a document's accessibility. + + + + + A hash combiner that is implemented with the Fowler/Noll/Vo algorithm (FNV-1a). This is a mutable struct for performance reasons. + + + + + The starting point of the FNV hash. + + + + + The prime number used to compute the FNV hash. + + + + + Gets the current result of the hash function. + + + + + Creates a new FNV hash initialized to . + + + + + Adds the specified byte to the hash. + + The byte to hash. + + + + Adds the specified integer to this hash, in little-endian order. + + The integer to hash. + + + + Provides methods to construct new PDF documents. + + + + + The standard of PDF/A compliance of the generated document. Defaults to . + + + + + Whether to include the document information dictionary in the produced document. + + + + + The values of the fields to include in the document information dictionary. + + + + + The bookmark nodes to include in the document outline dictionary. + + + + + The current page builders in the document and the corresponding 1 indexed page numbers. Use + or to add a new page. + + + + + The fonts currently available in the document builder added via or . Keyed by id for internal purposes. + + + + + Creates a document builder keeping resources in memory. + + + + + Creates a document builder keeping resources in memory. + + Pdf version to use in header. + + + + Creates a document builder using the supplied stream. + + Steam to write pdf to. + If stream should be disposed when builder is. + Type of pdf stream writer to use + Pdf version to use in header. + Token writer to use + + + + Determines whether the bytes of the TrueType font file provided can be used in a PDF document. + + The bytes of a TrueType font file. + Any reason messages explaining why the file can't be used, if applicable. + if the file can be used, otherwise. + + + + Adds a TrueType font to the builder so that pages in this document can use it. + + The bytes of a TrueType font. + An identifier which can be passed to . + + + + Adds one of the Standard 14 fonts which are included by default in PDF programs so that pages in this document can use it. These Standard 14 fonts are old and possibly obsolete. + + The type of the Standard 14 font to use. + An identifier which can be passed to . + + + + Add a new page with the specified size, this page will be included in the output when is called. + + The width of the page in points. + The height of the page in points. + A builder for editing the new page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + The size of the page to add. + Whether the page is in portait or landscape orientation. + A builder for editing the new page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + Source document. + Page to copy. + A builder for editing the page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + Source document. + Page to copy. + If set, links are copied based on the result of the delegate. + A builder for editing the page. + + + + Builds a PDF document from the current content of this builder and its pages. + + The bytes of the resulting PDF document. + + + + A key representing a font available to use on the current document builder. Create by adding a font to a document using either + or . + + + + + The Id uniquely identifying this font on the builder. + + + + + Reference to the added font. + + + + + Create a new . + + + + + Sets the values of the dictionary for the document being created. + Control inclusion of the document information dictionary on the output with . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + Disposes underlying stream if set to do so. + + + + + Merges PDF documents into each other. + + + + + Merge two PDF documents together with the pages from followed by . + + + + + Merge two PDF documents together with the pages from followed by into the output stream. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided into the output stream + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided into the output stream + + + + + Merge the set of PDF documents. + + + + + Merge the set of PDF documents into the output stream + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + + A list of streams for the files contents, this must support reading and seeking. + + Must be writable + + + + + + + + A builder used to add construct a page in a PDF document. + + + + + The number of this page, 1-indexed. + + + + + The current size of the page. + + + + + Access to the underlying data structures for advanced use cases. + + + + + Access to + + + + + Allow to append a new content stream before the current one and select it + + + + + Allow to append a new content stream after the current one and select it + + + + + Select a content stream from the list, by his index + + index of the content stream to be selected + + + + Draws a line on the current page between two points with the specified line width. + + The first point on the line. + The last point on the line. + The width of the line in user space units. + + + + Draws a rectangle on the current page starting at the specified point with the given width, height and line width. + + The position of the rectangle, for positive width and height this is the bottom-left corner. + The width of the rectangle. + The height of the rectangle. + The width of the line border of the rectangle. + Whether to fill with the color set by . + + + + Set the number of degrees by which the page is rotated clockwise when displayed or printed. + + + + + Draws a triangle on the current page with the specified points and line width. + + Position of the first corner of the triangle. + Position of the second corner of the triangle. + Position of the third corner of the triangle. + The width of the line border of the triangle. + Whether to fill with the color set by . + + + + Draws a circle on the current page centering at the specified point with the given diameter and line width. + + The center position of the circle. + The diameter of the circle. + The width of the line border of the circle. + Whether to fill with the color set by . + + + + Draws an ellipsis on the current page centering at the specified point with the given width, height and line width. + + The center position of the ellipsis. + The width of the ellipsis. + The height of the ellipsis. + The width of the line border of the ellipsis. + Whether to fill with the color set by . + + + + Sets the stroke color for any following operations to the RGB value. Use to reset. + + Red - 0 to 255 + Green - 0 to 255 + Blue - 0 to 255 + + + + Sets the stroke color with the exact decimal value between 0 and 1 for any following operations to the RGB value. Use to reset. + + Red - 0 to 1 + Green - 0 to 1 + Blue - 0 to 1 + + + + Sets the fill and text color for any following operations to the RGB value. Use to reset. + + Red - 0 to 255 + Green - 0 to 255 + Blue - 0 to 255 + + + + Restores the stroke, text and fill color to default (black). + + + + + Calculates the size and position of each letter in a given string in the provided font without changing the state of the page. + + The text to measure each letter of. + The size of the font in user space units. + The position of the baseline (lower-left corner) to start drawing the text from. + + A font added to the document using + or methods. + + The letters from the input text with their corresponding size and position. + + + + Draws the text in the provided font at the specified position and returns the letters which will be drawn. + + The text to draw to the page. + The size of the font in user space units. + The position of the baseline (lower-left corner) to start drawing the text from. + + A font added to the document using + or methods. + + The letters from the input text with their corresponding size and position. + + + + Set the text rendering mode. This will apply to all future calls to AddText until called again. + + To insert invisible text, for example output of OCR, use TextRenderingMode.Neither. + + Text rendering mode to set. + + + + Adds the JPEG image represented by the input bytes at the specified location. + + + + + Adds the JPEG image represented by the input stream at the specified location. + + + + + Adds the JPEG image previously added using , + this will share the same image data to prevent duplication. + + An image previously added to this page or another page. + The size and location to draw the image on this page. + + + + Adds the image previously added using + or sharing the same image to prevent duplication. + + + + + Adds the PNG image represented by the input bytes at the specified location. + + + + + Adds the PNG image represented by the input stream at the specified location. + + + + + Copy a page from unknown source to this page + + Page to be copied + + + + Provides access to the raw page data structures for advanced editing use cases. + + + + + The operations making up the page content stream. + + + + + A key representing an image available to use for the current document builder. + Create it by adding an image to a page using . + + + + + The Id uniquely identifying this image on the builder. + + + + + The reference to the stored image XObject. + + + + + The width of the raw image in pixels. + + + + + The height of the raw image in pixels. + + + + + Create a new . + + + + + This class would lazily flush all token. Allowing us to make changes to references without need to rewrite the whole stream + + + + + Class to remove text from PDFs, useful as a preprocessing step for Optical Character Recognition (OCR). + Note that this should not be used to redact content from PDFs, this is not a secure or reliable way to redact text. + + + + + Return PDF without text as bytes + Path to PDF + List of pages to emit; if null all pages are emitted + + + + + Write PDF without text to the output stream. The caller must manage disposing the output stream. + Must be writable + Path to PDF + List of pages to emit; if null all pages are emitted + + + + + Remove text from the PDF (passed in as a byte array) and return it as a new byte array + PDF document (as byte array) + List of pages to emit; if null all pages are emitted + PDF without text (as a byte array) + + + + + Remove text from the PDF in the input stream and write it to the output stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + Streams for the file contents, this must support reading and seeking. + Must be writable + List of pages to emit; if null all pages are emitted + + + + + Remove text from the PDF and write it to the output stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + PDF document + Must be writable + List of pages to emit; if null all pages are emitted + + + + + Type of pdf writer to use. + + + + + Default output writer + + + + + De-duplicates objects while writing but requires keeping in memory reference. + + + + + Writes any type of to the corresponding PDF document format output. + + + + + Bytes that indicate start of stream + + + + + Bytes that indicate end start of stream + + + + + Single global instance + + + + + Writes the given input token to the output stream with the correct PDF format and encoding including whitespace and line breaks as applicable. + + The token to write to the stream. + The stream to write the token to. + + + + + + + + + + Write a hex value to the output stream + + + + + + + Write an array to the output stream, with whitespace at the end. + + + + + + + Write a boolean "true" or "false" to the output stream, with whitespace at the end. + + + + + + + Write a "%comment" in the output stream, with a line break at the end. + + + + + + + Writes dictionary key/value pairs to output stream as Name/Token pairs. + + + + + + + Write an indirect reference to the stream, with whitespace at the end. + + + + + + + Write a name to the stream, with whitespace at the end. + + + + + + + Write a number to the stream, with whitespace at the end. + + + + + + + Write an object to the stream, with a line break at the end. It writes the following contents: + - "[ObjectNumber] [Generation] obj" + - Object data + - "endobj" + + + + + + + Write a stream token to the output stream, with the following contents: + - Dictionary specifying the length of the stream, any applied compression filters and additional information. + - Stream start indicator + - Bytes in the StreamToken data + - Stream end indicator + + + + + + + Write string to the stream, with whitespace at the end + + + + + + + Write an integer to the stream + + + + + + + Write a line break to the output stream + + + + + + Write a long to the stream + + + + + + + Write a space to the output stream + + + + + + The purpose of this method is to resolve indirect reference. That mean copy the reference's content to the new document's stream + and replace the indirect reference with the correct/new one + + PDF stream writer + Token to inspect for reference + scanner get the content from the original document + Map of previously copied tokens for original document. + Call stack of indirect references + A reference of the token that was copied. With all the reference updated + + + + + A PostScript image XObject. + + + + + + + + + + + + + + + + + The JPX filter encodes data using the JPEG2000 compression method. + A JPEG2000 data stream allows different versions of the image to be decoded + allowing for thumbnails to be extracted. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new . + + + + + + + + + + + + + + XObject type. + + + + + Image. + + + + + Form. + + + + + PostScript. + + +
+
diff --git a/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/net47/UglyToad.PdfPig.xml b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/net47/UglyToad.PdfPig.xml new file mode 100644 index 000000000..830ac373c --- /dev/null +++ b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/net47/UglyToad.PdfPig.xml @@ -0,0 +1,13635 @@ + + + + UglyToad.PdfPig + + + + + A collection of interactive fields for gathering data from a user through dropdowns, textboxes, checkboxes, etc. + Each with form functionality contains a single spread across one or more pages. + + + The name AcroForm distinguishes this from the other form type called form XObjects which act as templates for repeated sections of content. + + + + + The raw PDF dictionary which is the root form object. + + + + + Document-level characteristics related to signature fields. + + + + + Whether all widget annotations need appearance dictionaries and streams. + + + + + All root fields in this form. + + + + + Create a new . + + + + + Get the set of fields which appear on the given page number. + + + + + + + + Extensions for AcroForm. + + + + + Get fields containing data in form. + + + + + Get fields containing data which are children of field. + + + + + Get string values of field. + + + + + Extracts the from the document, if available. + + + + + Retrieve the from the document, if applicable. + + The if the document contains one. + + + + Flags specifying various characteristics of a button type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + For radio buttons, one radio button must be set at all times. + + + + + The field is a set of radio buttons. + + + + + The field is a push button. + + + + + For radio buttons a group of radio buttons will toggle on/off at the same time based on their initial value. + + + + + + A set of related checkboxes. + + + + + + Create a new . + + + + + + A checkbox which may be toggled on or off. + + + + + The which define the behaviour of this button type. + + + + + The current value of this checkbox. + + + + + Whether this checkbox is currently checked/on. + + + + + + Create a new . + + + + + Flags specifying various characteristics of a choice type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + The field is a combo box. + + + + + The combo box includes an editable text box. must be set. + + + + + The options should be sorted alphabetically, this should be ignored by viewer applications. + + + + + The field allows multiple options to be selected. + + + + + The text entered in the field is not spell checked. and must be set. + + + + + Any associated field action is fired when the selection is changed rather than on losing focus. + + + + + An option in a choice field, either or . + + + + + The index of this option in the array. + + + + + Whether this option is selected. + + + + + The text of the option. + + + + + The value of the option when the form is exported. + + + + + Whether the field defined an export value for this option. + + + + + Create a new . + + + + + + + + + A combo box consisting of a drop-down list optionally accompanied by an editable text box in which the + user can type a value other than the predefined choices. + + + + + The flags specifying the behaviour of this field. + + + + + The options to be presented to the user. + + + + + The names of any currently selected options. + + + + + For multiple select lists with duplicate names gives the indices of the selected options. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The options in this field. + The indices of the selected options where there are multiple with the same name. + The names of the selected options. + The number of the page this field appears on. + The location of this field on the page. + + + + A field in an interactive . + + + + + The raw PDF dictionary for this field. + + + + + The representing the type of this field in PDF format. + + + + + The actual represented by this field. + + + + + Specifies various characteristics of the field. + + + + + The optional information common to all types of field. + + + + + The page number of the page containing this form field if known. + + + + + The placement rectangle of this form field on the page given by if known. + + + + + Create a new . + + The dictionary for this field. + The PDF string type of this field. + The flags specifying behaviour for this field. + The type of this field. + Additional information for this field. + The number of the page this field appears on. + The location of this field on the page. + + + + + + + Information from the field dictionary which is common across all field types. + All of this information is optional. + + + + + The reference to the field which is the parent of this one, if applicable. + + + + + The partial field name for this field. The fully qualified field name is the + period '.' joined name of all parents' partial names and this field's partial name. + + + + + The alternate field name to be used instead of the fully qualified field name where + the field is being identified on the user interface or by screen readers. + + + + + The mapping name used when exporting form field data from the document. + + + + + Create a new . + + + + + + + + Indicates the type of field for a . + + + + + A button that immediately to user input without retaining state. + + + + + A set of checkboxes. + + + + + A checkbox which toggles between on and off states. + + + + + A set of radio buttons. + + + + + A single radio button, as part of a set or on its own. + + + + + A textbox allowing user input through the keyboard. + + + + + A dropdown list of options with optional user-editable textbox. + + + + + A list of options for the user to select from. + + + + + A field containing a digital signature. + + + + + The field type wasn't specified. + + + + + + A scrollable list box field. + + + + + The flags specifying the behaviour of this field. + + + + + The options to be presented to the user. + + + + + The names of any currently selected options. + + + + + For multiple select lists with duplicate names gives the indices of the selected options. + + + + + For scrollable list boxes gives the index of the first visible option. + + + + + Whether the field allows multiple selections. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The options in this field. + The indices of the selected options where there are multiple with the same name. + The first visible option index. + The names of the selected options. + The number of the page this field appears on. + The location of this field on the page. + + + + + A non-leaf field in the form's structure. + + + + + The child fields of this field. + + + + + + Create a new . + + + + + + A push button responds immediately to user input without storing any state. + + + + + The which define the behaviour of this button type. + + + + + + Create a new . + + + + + + A single radio button. + + + + + The which define the behaviour of this button type. + + + + + The current value of this radio button. + + + + + Whether the radio button is currently on/active. + + + + + + Create a new . + + + + + + A set of radio buttons. + + + + + The which define the behaviour of this button type. + + + + + + Create a new . + + + + + + A digital signature field. + + + + + + Create a new . + + + + + + A text field is a box or space in which the user can enter text from the keyboard. + The text may be restricted to a single line or may be permitted to span multiple lines. + + + + + The flags specifying the behaviour of this field. + + + + + The value of the text in this text field. + This can be if no value has been set. + + + + + The optional maximum length of the text field. + + + + + Whether the field supports rich text content. + + + + + Whether the field allows multiline text. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The text value. + The maximum length. + The number of the page this field appears on. + The location of this field on the page. + + + + + + + Flags specifying various characteristics of a text type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + The field can contain multiple lines of text. + + + + + The field is for a password and should not be displayed as text and should not be stored to file. + + + + + The field represents a file path selection. + + + + + The text entered is not spell checked. + + + + + The field does not scroll if the text exceeds the bounds of the field. + + + + + For a text field which is not a , or + the field text is evenly spaced by splitting into 'combs' based on the MaxLen entry in the field dictionary. + + + + + The value of the field is a rich text string. + + + + + Specifies document level characteristics for any signature fields in the document's . + + + + + The document contains at least one signature field. + + + + + The document contains signatures which may be invalidated if the file is saved + in a way which alters its previous content rather than simply appending new content. + + + + + Abstract class for GoTo-type actions (GoTo, GoToE, GoToR) that have a destination + + + + + Destination for the GoTo-type action + + + + + Constructor + + + + + Get an action (A) from dictionary. If GoTo, GoToR or GoToE, also fetches the action destination. + + + + + Action types (PDF reference 8.5.3) + + + + + Go to a destination in the current document. + + + + + (“Go-to remote”) Go to a destination in another document. + + + + + (“Go-to embedded”; PDF 1.6) Go to a destination in an embedded file. + + + + + Launch an application, usually to open a file. + + + + + Begin reading an article thread. + + + + + Resolve a uniform resource identifier. + + + + + (PDF 1.2) Play a sound. + + + + + (PDF 1.2) Play a movie. + + + + + (PDF 1.2) Set an annotation’s Hidden flag. + + + + + (PDF 1.2) Execute an action predefined by the viewer application. + + + + + (PDF 1.2) Send data to a uniform resource locator. + + + + + (PDF 1.2) Set fields to their default values. + + + + + (PDF 1.2) Import field values from a file. + + + + + (PDF 1.3) Execute a JavaScript script. + + + + + (PDF 1.5) Set the states of optional content groups. + + + + + (PDF 1.5) Controls the playing of multimedia content. + + + + + (PDF 1.5) Updates the display of a document, using a transition dictionary. + + + + + (PDF 1.6) Set the current view of a 3D annotation + + + + + GoTo action (with a destination inside the current document) + + + + + Constructor + + + + + GoToE action (to go to a destination inside a file embedded within the PDF) + + + + + File specification of the embedded file + + + + + Constructor + + Destination within the embedded file + Specification of the embedded file + + + + GoToR action, to go to a destination in a remote PDF + + + + + Filename of the remote PDF + + + + + Constructor + + Destination within the remote PDF + Filename of the remote PDF + + + + Actions (PDF reference 8.5) + + + + + Type of action + + + + + Constructor + + + + + Action to open a URI + + + + + URI to open + + + + + Constructor + + URI to open + + + + + Provides access to rare or advanced features from the PDF specification. + + + + + Get any embedded files contained in this PDF document. + Since PDF 1.3 any external file referenced by the document may have its contents embedded within the referring PDF file, + allowing its contents to be stored or transmitted along with the PDF file. + + The set of embedded files in this document. + if this document contains more than zero embedded files, otherwise . + + + + Replaces the token in an internal cache that will be returned instead of + scanning the source PDF data for future requests. + + The object number for the object to replace. + Func that takes existing token as input and return new token. + + + + Replaces the token in an internal cache that will be returned instead of + scanning the source PDF data for future requests. + + The object number for the object to replace. + Replacement token to use. + + + + + + + An annotation on a page in a PDF document. + + + + + The underlying PDF dictionary which this annotation was created from. + + + + + The type of this annotation. + + + + + The rectangle in user space units specifying the location to place this annotation on the page. + + + + + The annotation text, or if the annotation does not display text, a description of the annotation's contents. Optional. + + + + + The name of this annotation which should be unique per page. Optional. + + + + + The date and time the annotation was last modified, can be in any format. Optional. + + + + + Flags defining the appearance and behaviour of this annotation. + + + + + Defines the annotation's border. + + + + + Rectangles defined using QuadPoints, for these are the regions used to activate the link, + for text markup annotations these are the text regions to apply the markup to. + See for more information regarding the order of the points. + + + + + Action for this annotation, if any (can be null) + + + + + Indicates if a normal appearance is present for this annotation + + + + + Indicates if a roll over appearance is present for this annotation (shown when you hover over this annotation) + + + + + Indicates if a down appearance is present for this annotation (shown when you click on this annotation) + + + + + The this annotation was in reply to. Can be + + + + + Create a new . + + + + + + + + A border for a PDF object. + + + + + The default border style if not specified. + + + + + The horizontal corner radius in user space units. + + + + + The vertical corner radius in user space units. + + + + + The width of the border in user space units. + + + + + The dash pattern for the border lines if provided. Optional. + + + + + Create a new . + + + + + + + + Specifies characteristics of an annotation in a PDF or FDF document. + + + + + Do not display the annotation if it is not one of the standard annotation types. + + + + + Do not display or print the annotation irrespective of type. Do not allow interaction. + + + + + The annotation should be included when the document is physically printed. + + + + + Do not zoom/scale the annotation as the zoom of the document is changed. + + + + + Do not rotate the annotation as the page is rotated. + + + + + Do not display the annotation in viewer applications as with , however allow the annotation to be printed if is set. + + + + + Allow the annotation to be displayed/printed if applicable but do not respond to user interaction, e.g. mouse clicks. + + + + + Do not allow deleting the annotation or changing size/position but allow the contents to be modified. + + + + + Invert the meaning of the flag. + + + + + Allow the annotation to be deleted, resized, moved or restyled but disallow changes to the annotation contents. Opposite to . + + + + + The standard annotation types in PDF documents. + + + + + A 'sticky note' style annotation displaying some text with open/closed pop-up state. + + + + + A link to elsewhere in the document or an external application/web link. + + + + + Displays text on the page. Unlike there is no associated pop-up. + + + + + Display a single straight line on the page with optional line ending styles. + + + + + Display a rectangle on the page. + + + + + Display an ellipse on the page. + + + + + Display a closed polygon on the page. + + + + + Display a set of connected lines on the page which is not a closed polygon. + + + + + A highlight for text or content with associated annotation texyt. + + + + + An underline under text with associated annotation text. + + + + + A jagged squiggly line under text with associated annotation text. + + + + + A strikeout through some text with associated annotation text. + + + + + Text or graphics intended to display as if inserted by a rubber stamp. + + + + + A visual symbol indicating the presence of text edits. + + + + + A freehand 'scribble' formed by one or more paths. + + + + + Displays text in a pop-up window for entry or editing. + + + + + A file. + + + + + A sound to be played through speakers. + + + + + Embeds a movie from a file in a PDF document. + + + + + Used by interactive forms to represent field appearance and manage user interactions. + + + + + Specifies a page region for media clips to be played and actions to be triggered from. + + + + + Represents a symbol used during the physical printing process to maintain output quality, e.g. color bars or cut marks. + + + + + Used during the physical printing process to prevent colors mixing. + + + + + Adds a watermark at a fixed size and position irrespective of page size. + + + + + Represents a 3D model/artwork, for example from CAD, in a PDF document. + + + + + A custom annotation type. + + + + + Appearance stream (PDF Reference 8.4.4) that describes what an annotation looks like. Each stream is a Form XObject. + The appearance stream is either stateless (in which case is true) + or stateful, in which case is false and the states can be retrieved via . + The states can then be used to retrieve the state-specific appearances using . + + + + + Indicates if this appearance stream is stateless, or whether you can get appearances by state. + + + + + Get list of states. If this is a stateless appearance stream, an empty collection is returned. + + + + + Constructor for stateless appearance stream + + + + + + Constructor for stateful appearance stream + + + + + + Get appearance stream for particular state + + + + + + + + + A QuadPoints quadrilateral is four points defining the region for an annotation to use. + An annotation may cover multiple quadrilaterals. + + + + + The 4 points defining this quadrilateral. + The PDF specification defines these as being in anti-clockwise order starting from the lower-left corner, however + Adobe's implementation doesn't obey the specification and points seem to go in the order: top-left, top-right, + bottom-left, bottom-right. See: https://stackoverflow.com/questions/9855814/pdf-spec-vs-acrobat-creation-quadpoints. + + + + + Create a new . + + + + + + + + + Artifacts are graphics objects that are not part of the author's original content but rather are + generated by the conforming writer in the course of pagination, layout, or other strictly mechanical + processes. + Artifacts may also be used to describe areas of the document where the author uses a graphical + background, with the goal of enhancing the visual experience. In such a case, the background is not + required for understanding the content. - PDF 32000-1:2008, Section 14.8.2.2 + + + + + The artifact's type: Pagination, Layout, Page, or (PDF 1.7) Background. + + + + + The artifact's subtype. Standard values are Header, Footer, and Watermark. + Additional values may be specified for this entry, provided they comply with the naming conventions. + + + + + The artifact's attribute owners. + + + + + The artifact's bounding box. + + + + + The names of regions this element is attached to. + + + + + Is the artifact attached to the top edge? + + + + + Is the artifact attached to the bottom edge? + + + + + Is the artifact attached to the left edge? + + + + + Is the artifact attached to the right edge? + + + + + If present, shall be one of the names Pagination, Layout, Page, or (PDF 1.7) Background. + + + + + Unknown artifact type. + + + + + Ancillary page features such as running heads and folios (page numbers). + + + + + Purely cosmetic typographical or design elements such as footnote rules or background screens. + + + + + Production aids extraneous to the document itself, such as cut marks and colour bars. + + + + + (PDF 1.7) Images, patterns or coloured blocks that either run the entire length and/or + width of the page or the entire dimensions of a structural element. Background artifacts + typically serve as a background for content shown either on top of or placed adjacent to + that background. + A background artifact can further be classified as visual content that serves to enhance the user experience, that lies under the actual content, and that is not required except to retain visual fidelity. + + + + + The root of the document's object hierarchy. Contains references to objects defining the contents, + outline, named destinations and more. + + + + + The catalog dictionary containing assorted information. + + + + + Create a new . + + + + + Defines the visible region of a page, contents expanding beyond the crop box should be clipped. + + + + + Defines the clipping of the content when the page is displayed or printed. The page's contents are to be clipped (cropped) to this rectangle + and then imposed on the output medium. + + + + + Create a new . + + + + + + + + Metadata for the PDF document. + + + + + The underlying document information PDF dictionary from the document. + + + + + The title of this document if applicable. + + + + + The name of the person who created this document if applicable. + + + + + The subject of this document if applicable. + + + + + Any keywords associated with this document if applicable. + + + + + The name of the application which created the original document before it was converted to PDF if applicable. + + + + + The name of the application used to convert the original document to PDF if applicable. + + + + + The date and time the document was created. + + + + + The date and time the document was most recently modified. + + + + + Gets the as a if it's possible to convert it, or . + + + + + Gets the as a if it's possible to convert it, or . + + + + + Gets a string representing this document information. entries are not shown. + + + + + A file embedded in a PDF document for document references. + + + + + The name given to this embedded file in the document's name tree. + + + + + The specification of the path to the file. + + + + + The decrypted bytes of the file. + + + + + The underlying embedded file stream. + + + + + + + + The offset in bytes from the start of the file to the start of the version comment. + + + + + Full details for a link annotation which references an external resource. + A link to an external resource in a document. + + + + + The area on the page which when clicked will open the hyperlink. + + + + + The text in the link region (if any). + + + + + The letters in the link region. + + + + + The URI the link directs to. + + + + + The underlying link annotation. + + + + + Create a new . + + + + + + + + + A small image that is completely defined directly inline within a 's content stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new . + + + + + + + + + + + + + + An image in a PDF document, may be an or a PostScript image XObject (). + + + + + The placement rectangle of the image in PDF coordinates. + + + + + The width of the image in samples. + + + + + The height of the image in samples. + + + + + The number of bits used to represent each color component. + + + + + The encoded bytes of the image with all filters still applied. + + + + + The color rendering intent to be used when rendering the image. + + + + + Indicates whether the image is to be treated as an image mask. + If the image is a monochrome image in which each sample + is specified by a single bit ( is 1). + The image represents a stencil where sample values represent places on the page + that should be marked with the current color or masked (not marked). + + + + + Describes how to map image samples into the values appropriate for the + . + The image data is initially composed of values in the range 0 to 2^n - 1 + where n is . + The decode array contains a pair of numbers for each component in the . + The value from the image data is then interpolated into the values relevant to the + using the corresponding values of the decode array. + + + + + Specifies whether interpolation is to be performed. Interpolation smooths images where a single component in the image + as defined may correspond to many pixels on the output device. The interpolation algorithm is implementation + dependent and is not defined by the specification. + + + + + Whether this image is an or a . + + + + + The full dictionary for this image object. + + + + + The used to interpret the image. + + This is not defined where is and is optional where the image is JPXEncoded for . + + + + + + Get the decoded bytes of the image if applicable. For JPEG images and some other types the + should be used directly. + + + + + Try to convert the image to PNG. Doesn't support conversion of JPG to PNG. + + + + + Remove any named resources and associated state for the last resource dictionary loaded. + Does not affect the cached resources, just the labels associated with them. + + + + + A glyph or combination of glyphs (characters) drawn by a PDF content stream. + + + + + The text for this letter or unicode character. + + + + + Text orientation of the letter. + + + + + The placement position of the character in PDF space. See + + + + + The placement position of the character in PDF space (the start point of the baseline). See + + + + + The end point of the baseline. + + + + + The width occupied by the character within the PDF content. + + + + + Position of the bounding box for the glyph, this is the box surrounding the visible glyph as it appears on the page. + For example letters with descenders, p, j, etc., will have a box extending below the they are placed at. + The width of the glyph may also be more or less than the allocated for the character in the PDF content. + + + + + Size as defined in the PDF file. This is not equivalent to font size in points but is relative to other font sizes on the page. + + + + + The name of the font. + + + + + Details about the font for this letter. + + + + + Text rendering mode that indicates whether we should draw this letter's strokes, + fill, both, neither (in case of hidden text), etc. + If it calls for stroking the is used. + If it calls for filling, the is used. + In modes that perform both filling and stroking, the effect is as if each glyph outline were filled and then stroked in separate operations. + + + + + The primary color of the letter, which is either the in case + is , or otherwise + it is the . + + + + + Stroking color + + + + + Non-stroking (fill) color + + + + + The size of the font in points. + + + + + Sequence number of the ShowText operation that printed this letter. + + + + + Create a new letter to represent some text drawn by the Tj operator. + + + + + Produces a string representation of the letter and its position. + + + + + A marked content element can be used to provide application specific data in the + page's content stream. Interpretation of the marked content is outside of the PDF specification. + + + + + Marked-content identifier. + + + + + The index of this marked content element in the set of marked content in the page. + marked content elements will have the same index as the parent. + + + + + A name indicating the role or significance of the point. + + + + + The properties for this element. + + + + + Is the marked content an artifact, see . + + + + + Child contents. + + + + + Letters contained in this marked content. + + + + + Paths contained in this marked content. + + + + + Images contained in this marked content. + + + + + The natural language specification. + + + + + The replacement text. + + + + + The alternate description. + + + + + The abbreviation expansion text. + + + + + Create a new . + + + + + + + + The boundary of the physical medium to display or print on. + + + See table 3.27 from the PDF specification version 1.7. + + + + + User space units per inch. + + + + + User space units per millimeter. + + + + + A the size of U.S. Letter, 8.5" x 11" Paper. + + + + + A the size of U.S. Legal, 8.5" x 14" Paper. + + + + + A the size of A0 Paper. + + + + + A the size of A1 Paper. + + + + + A the size of A2 Paper. + + + + + A the size of A3 Paper. + + + + + A the size of A4 Paper. + + + + + A the size of A5 Paper. + + + + + A the size of A6 Paper. + + + + + A rectangle, expressed in default user space units, that defines the boundaries of the physical medium on which the page shall be displayed or printed. + + + + + Create a new . + + + + + An optional content group is a dictionary representing a collection of graphics + that can be made visible or invisible dynamically by users of viewers applications. + + + + + The type of PDF object that this dictionary describes. + Must be OCG for an optional content group dictionary. + + + + + The name of the optional content group, suitable for presentation in a viewer application's user interface. + + + + + A single name or an array containing any combination of names. + Default value is 'View'. + + + + + A usage dictionary describing the nature of the content controlled by the group. + + + + + Underlying . + + + + + + + + + + Contains the content and provides access to methods of a single page in the . + + + + + The raw PDF dictionary token for this page in the document. + + + + + The page number (starting at 1). + + + + + Defines the visible region of the page, content outside the is clipped/cropped. + + + + + Defines the boundaries of the physical medium on which the page shall be displayed or printed. + + + + + The rotation of the page in degrees (clockwise). Valid values are 0, 90, 180 and 270. + + + + + The set of s drawn by the PDF content. + + + + + The full text of all characters on the page in the order they are presented in the PDF content. + + + + + Gets the width of the page in points. + + + + + Gets the height of the page in points. + + + + + The size of the page according to the standard page sizes or if no matching standard size found. + + + + + The number of images on this page. Use to access the image contents. + + + + + The parsed graphics state operations in the content stream for this page. + + + + + Access to members whose future locations within the API will change without warning. + + + + + Use the default to get the words for this page. + + The words on this page. + + + + Use a custom to get the words for this page. + + The word extractor to use to generate words. + The words on this page. + + + + Get the hyperlinks which link to external resources on the page. + These are based on the annotations on the page with a type of '/Link'. + + + + + Gets any images on the page. + + + + + Gets any marked content on the page. + + + + + Provides access to useful members which will change in future releases. + + + + + The set of s drawn by the PDF content. + + + + + Get the annotation objects from the page. + + The lazily evaluated set of annotations on this page. + + + + Gets any optional content on the page. + Does not handle XObjects and annotations for the time being. + + + + + Wraps content parsed from a page content stream for access. + + + This should contain a replayable stack of drawing instructions for page content + from a content stream in addition to lazily evaluated state such as text on the page or images. + + + + + Represents the rotation of a page in a PDF document defined by the page dictionary in degrees clockwise. + + + + + The rotation of the page in degrees clockwise. + + + + + Whether the rotation flips the x and y axes. + + + + + Get the rotation expressed in radians (anti-clockwise). + + + + + Create a . + + Rotation in degrees clockwise, must be a multiple of 90. + + + + + + + + + + + + + + + + Equal. + + + + + Not equal. + + + + + The page tree for this document containing all pages, page numbers and their dictionaries. + + + + + The corresponding named size of the . + + + + + Unknown page size, did not match a defined page size. + + + + + The ISO 216 A0 page size. + + + + + The ISO 216 A1 page size. + + + + + The ISO 216 A2 page size. + + + + + The ISO 216 A3 page size. + + + + + The ISO 216 A4 page size. + + + + + The ISO 216 A5 page size. + + + + + The ISO 216 A6 page size. + + + + + The ISO 216 A7 page size. + + + + + The ISO 216 A8 page size. + + + + + The ISO 216 A9 page size. + + + + + The ISO 216 A10 page size. + + + + + The North American Letter page size. + + + + + The North American Legal page size. + + + + + The North American Ledger page size. + + + + + The North American Tabloid page size. + + + + + The North American Executive page size. + + + + + Contains the values inherited from the Page Tree for this page. + + + + + A node in the PDF document's page tree. + Nodes may either be of type 'Page' - a single page, or 'Pages' - a container for multiple child Page + or Pages nodes. + + + + + The dictionary for this node in the page tree. + + + + + The indirect reference for this node in the page tree. + + + + + Whether this node is a page or not. If not it must be a /Pages container. + + + + + The number of this page if is . + + + + + The child nodes of this node if is + + + + + The parent node of this node, unless it is the root node. + + + + + Whether this node is the root node. + + + + + Create a new . + + + + + + + + Orientation of the text. + + + + + Other text orientation. + + + + + Usual text orientation (Left to Right). + + + + + Horizontal text, upside down. + + + + + Rotated text going down. + + + + + Rotated text going up. + + + + + A word. + + + + + The text of the word. + + + + + The text orientation of the word. + + + + + The rectangle completely containing the word. + + + + + The name of the font for the word. + + + + + The letters contained in the word. + + + + + Create a new . + + The letters contained in the word, in the correct order. + + + + Bound angle so that -180 ≤ θ ≤ 180. + + The angle to bound. + + + + + + + Wraps an XML based Extensible Metadata Platform (XMP) document. These XML documents are embedded in PDFs to provide metadata + about objects (the entire document, images, etc). They can be present as plain text or encoded/encrypted streams. + + + + + The underlying for this metadata. + + + + + Get the decoded bytes for the metadata stream. This can be interpreted as a sequence of plain-text bytes. + + The bytes for the metadata object with any filters removed. + + + + Gets the metadata stream as an . + + The for the XMP XML. + + + + The cross-reference table contains information that enables random access to PDF objects within the file by object number + so that specific objects can be located directly without having to scan the whole document. + A PDF document may contain multiple cross reference tables, this class provides access to the merged result with the latest + offset for each object. The offsets of the original cross reference tables or streams merged into this result are available + in the list. + + + + + The corresponding byte offset for each keyed object in this document. + + + + + The type of the first cross-reference table located in this document. + + + + + The trailer dictionary. + + + + + The byte offsets of each cross-reference table or stream in this document and the previous + table or stream they link to if applicable. + + + + + The offset of a cross-reference table or stream in the document. + + + + + The offset in bytes from the start of the document where the stream or table starts. + + + + + The offset in bytes from the start of the document where the previous stream or table in a document + containing incremental updates can be found, if applicable. + + + + + Create a new . + + The offset in bytes from the start of the document where the stream or table starts. + The offset in bytes from the start of the document where the previous stream or table in a document starts. + + + + + + + + + + The table contains a one-line entry for each indirect object, specifying the location of that object within the body of the file. + + + + + + + + The format of an in-use entry is + nnnnnnnnnn ggggg n eol + where + nnnnnnnnnn is a 10-digit byte offset + ggggg is a 5-digit generation number + n is a literal keyword identifying this as an in-use entry + eol is a 2-character end-of-line sequence + + + The byte offset is a 10-digit number, padded with leading zeros if necessary, + giving the number of bytes from the beginning of the file to the beginning of the + object. + + + + + For Xref streams indicated by tables they should be used together when constructing the final table. + + + + + The type of a cross-reference section in a PDF document. + + + + + A cross-reference table. + + + + + A cross-reference stream. + + + + + Contains information for interpreting the cross-reference table. + + + + + The total number of object entries across both the original cross-reference table + and in any incremental updates. + + + Any object in a cross-reference section whose number is greater than this value is + ignored and considered missing. + + + + + The offset in bytes to the previous cross-reference table or stream + if the document has more than one cross-reference section. + + + + + The object reference for the document's catalog dictionary. + + + + + The object reference for the document's information dictionary if it contains one. + + + + + A list containing two-byte string tokens which act as file identifiers. + + + + + The document's encryption dictionary. + + + + + Create a new . + + The parsed dictionary from the document. + + + + + + + The method used by the consumer application to decrypt data. + + + + + The application does not decrypt data but directs the input stream + to the security handler for decryption. + + + + + The application asks the security handler for the encryption key + and implicitly decrypts data using the RC4 algorithm. + + + + + (PDF 1.6) The application asks the security handler for the encryption key and implicitly decrypts data using the AES algorithm in Cipher Block Chaining (CBC) mode + with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. + + + + + The application asks the security handler for the encryption key and implicitly decrypts data using the AES-256 algorithm in Cipher Block Chaining (CBC) with padding mode + with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. + The key size shall be 256 bits. + + + + + The event to be used to trigger the authorization that is required + to access encryption keys used by this filter. + + + + + Authorization is required when a document is opened. + + + + + Authorization is required when accessing embedded files. + + + + + A code specifying the algorithm to be used in encrypting and decrypting the document. + + + + + An algorithm that is undocumented and no longer supported. + + + + + RC4 or AES encryption using a key of 40 bits. + + + + + RC4 or AES encryption using a key of more than 40 bits. + + + + + An unpublished algorithm that permits encryption key lengths ranging from 40 to 128 bits. + + + + + The security handler defines the use of encryption and decryption in the document with a key length of 128 bits. + + + + + The security handler defines the use of encryption and decryption in the document with a key length of 256 bits. + + + + + Since ISO isn't fit for purpose they charge £200 to see the PDF 2 spec so it's not possible to know what the specification for this revision is. + + + + + Required if is 5 or above. A 32-byte string, based on the owner and user passwords that is used in computing the encryption key. + + + + + Required if is 5 or above. A 32-byte string, based on the user password that is used in computing the encryption key. + + + + + This is the revision 6 algorithm the specification for which can't be viewed unless you pay the ISO a lot of money (which makes me extremely angry). + This is an attempt to port directly from PDFBox code. + + The truncated user or owner password. + The 8 byte user or owner key validation salt. + Used when hashing owner password in which case it is the 48 byte /U key. + + + + Manages decryption of tokens in a PDF document where encryption is used. + + + + + (Revision 2) Print the document. + (Revision 3 or greater) Print the document (possibly not at the highest quality level, see ). + + + + + Modify the contents of the document by operations other than those + controlled by , and . + + + + + (Revision 2) Copy or otherwise extract text and graphics from the document, including extracting text and graphics + (in support of accessibility to users with disabilities or for other purposes). + (Revision 3 or greater) Copy or otherwise extract text and graphics from the document by operations other + than that controlled by . + + + + + Add or modify text annotations, fill in interactive form fields, and, if is also set, + create or modify interactive form fields (including signature fields). + + + + + (Revision 3 or greater) Fill in existing interactive form fields (including signature fields), + even if is clear. + + + + + (Revision 3 or greater) Extract text and graphics (in support of accessibility to users with disabilities or for other purposes). + + + + + (Revision 3 or greater) Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), + even if is clear. + + + + + (Revision 3 or greater) Print the document to a representation from which a faithful digital copy of the PDF content could be generated. + When this is clear (and is set), printing is limited to a low-level representation of the appearance, + possibly of degraded quality. + + + + + + The document is encrypted and cannot be decrypted. + + + + + + + + + + + + + + + + + + ASCII 85 (Base85) is a binary to text encoding using 5 ASCII characters per 4 bytes of data. + + + + + + + + + + + + Encodes/decodes data using the ASCII hexadecimal encoding where each byte is represented by two ASCII characters. + + + + + + + + + + + Specifies the compression type to use with . + + + + + Modified Huffman (MH) - Group 3 variation (T2) + + + + + Modified Huffman (MH) - Group 3 (T4) + + + + + Modified Read (MR) - Group 3 (T4) + + + + + Modified Modified Read (MMR) - Group 4 (T6) + + + + + Decodes image data that has been encoded using either Group 3 or Group 4. + + Ported from https://github.com/apache/pdfbox/blob/714156a15ea6fcfe44ac09345b01e192cbd74450/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java + + + + + + + + + + + CCITT Modified Huffman RLE, Group 3 (T4) and Group 4 (T6) fax compression. + + Ported from https://github.com/apache/pdfbox/blob/e644c29279e276bde14ce7a33bdeef0cb1001b3e/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecoderStream.java + + + + + Creates a CCITTFaxDecoderStream. + This constructor may be used for CCITT streams embedded in PDF files, + which use EncodedByteAlign. + + + + + + + + + + + + The default implementation of the . + + + + + The single instance of this provider. + + + + + + + + + + + + + + + The Flate filter is based on the public-domain zlib/deflate compression method, a variable-length Lempel-Ziv + adaptive compression method cascaded with adaptive Huffman coding. + It is fully defined in Internet RFCs 1950, ZLIB Compressed Data Format Specification, and + 1951, DEFLATE Compressed Data Format Specification + + + See section 3.3.3 of the spec (version 1.7) for details on the FlateDecode filter. + The flate decode filter may have a predictor function to further compress the stream. + + + + + + + + + + + A filter is used in a PDF to encode/decode data either to compress it or derive an ASCII representation of the data. + + + + + Whether this library can decode information encoded using this filter. + + + + + Decodes data encoded using this filter type. + + The encoded bytes which were encoded using this filter. + The dictionary of the (or other dictionary types, e.g. inline images) containing these bytes. + The position of this filter in the pipeline used to encode data. + The decoded bytes. + + + + Gets filter implementations () for decoding PDF data. + + + + + Get the filters specified in this dictionary. + + + + + Gets the filters specified by the filter names. + + + + + Get all available filters in this library. + + + + + + + + + + + + + + + + + + The LZW (Lempel-Ziv-Welch) filter is a variable-length, adaptive compression method + that has been adopted as one of the standard compression methods in the Tag Image File Format (TIFF) standard. + + + + + + + + + + + GetLongOrDefault value from bit interval from a byte + + + + + Set value input a bit interval and return that value + + + + + + The Run Length filterencodes data in a simple byte-oriented format based on run length. + The encoded data is a sequence of runs, where each run consists of a length byte followed by 1 to 128 bytes of data. + + + + + + + + + + + This class represents a function in a PDF document. + + + + + The function dictionary. + + + + + The function stream. + + + + + This class represents a function in a PDF document. + + + + + This class represents a function in a PDF document. + + + + + Returns the function type. Possible values are: + + 0Sampled function + 2Exponential interpolation function + 3Stitching function + 4PostScript calculator function + + + the function type. + + + + Returns the function's dictionary. If is defined, it will be returned. + If not, the 's StreamDictionary will be returned. + + + + + This will get the number of output parameters that + have a range specified. A range for output parameters + is optional so this may return zero for a function + that does have output parameters, this will simply return the + number that have the range specified. + + The number of output parameters that have a range specified. + + + + This will get the range for a certain output parameters. This is will never + return null. If it is not present then the range 0 to 0 will + be returned. + + The output parameter number to get the range for. + The range for this component. + + + + This will get the number of input parameters that + have a domain specified. + + The number of input parameters that have a domain specified. + + + + This will get the range for a certain input parameter. This is will never + return null. If it is not present then the range 0 to 0 will + be returned. + + The parameter number to get the domain for. + The domain range for this component. + + + + Evaluates the function at the given input. + ReturnValue = f(input) + + The array of input values for the function. + In many cases will be an array of a single value, but not always. + The of outputs the function returns based on those inputs. + In many cases will be an array of a single value, but not always. + + + + Returns all ranges for the output values as . Required for type 0 and type 4 functions. + + the ranges array. + + + + Returns all domains for the input values as . Required for all function types. + + the domains array. + + + + Clip the given input values to the ranges. + + inputValues the input values + the clipped values + + + + Clip the given input value to the given range. + + x the input value + the min value of the range + the max value of the range + the clipped value + + + + For a given value of x, interpolate calculates the y value + on the line defined by the two points (xRangeMin, xRangeMax) + and (yRangeMin, yRangeMax). + + the value to be interpolated value. + the min value of the x range + the max value of the x range + the min value of the y range + the max value of the y range + the interpolated y value + + + + Pdf function types. + + + + + Sampled function. + + + + + Exponential interpolation function. + + + + + Stitching function. + + + + + PostScript calculator function. + + + + + The samples of the function. + + + + + Stitching function + + + + + Stitching function + + + + + The "Size" entry, which is the number of samples in each input dimension of the sample table. + An array of m positive integers specifying the number of samples in each input dimension of the sample table. + + + + + Get the number of bits that the output value will take up. + Valid values are 1,2,4,8,12,16,24,32. + + Number of bits for each output value. + + + + Get the order of interpolation between samples. Valid values are 1 and 3, + specifying linear and cubic spline interpolation, respectively. Default + is 1. See p.170 in PDF spec 1.7. + + order of interpolation. + + + + An array of 2 x m numbers specifying the linear mapping of input values + into the domain of the function's sample table. Default value: [ 0 (Size0 + - 1) 0 (Size1 - 1) ...]. + + + + + An array of 2 x n numbers specifying the linear mapping of sample values + into the range appropriate for the function's output values. Default + value: same as the value of Range. + + + + + Get the encode for the input parameter. + + The function parameter number. + The encode parameter range or null if none is set. + + + + Get the decode for the input parameter. + + The function parameter number. + The decode parameter range or null if none is set. + + + + Inner class do to an interpolation in the Nth dimension by comparing the + content size of N-1 dimensional objects.This is done with the help of + recursive calls. + To understand the algorithm without recursion, see for a bilinear interpolation + and for trilinear interpolation. + + + + + + Constructor. + + the input coordinates + coordinate of the "ceil" point + coordinate of the "floor" point + + + + + + + Calculate the interpolation. + + interpolated result sample + + + + Do a linear interpolation if the two coordinates can be known, or + call itself recursively twice. + + partially set coordinate (not set from step + upwards); gets fully filled in the last call ("leaf"), where it is + used to get the correct sample + between 0 (first call) and dimension - 1 + interpolated result sample + + + + calculate array index (structure described in p.171 PDF spec 1.7) in multiple dimensions. + + with coordinates + index in flat array + + + + Get all sample values of this function. + + an array with all samples. + + + + Exponential interpolation function + + + + + Exponential interpolation function + + + + + The C0 values of the function, 0 if empty. + + + + + The C1 values of the function, 1 if empty. + + + + + The exponent of the function. + + + + + Stitching function + + + + + Stitching function + + + + + Stitching function + + + + + Returns all functions values. + + + + + Returns all bounds values as . + + the bounds array. + + + + Returns all encode values as . + + the encode array. + + + + Get the encode for the input parameter. + + The function parameter number. + The encode parameter range or null if none is set. + + + + PostScript calculator function + + + + + PostScript calculator function + + + + + Provides the arithmetic operators such as "add" and "sub". + + + + + the "Abs" operator. + + + + + the "add" operator. + + + + + the "atan" operator. + + + + + the "ceiling" operator. + + + + + the "cos" operator. + + + + + the "cvi" operator. + + + + + the "cvr" operator. + + + + + the "div" operator. + + + + + the "exp" operator. + + + + + the "floor" operator. + + + + + the "idiv" operator. + + + + + the "ln" operator. + + + + + the "log" operator. + + + + + the "mod" operator. + + + + + the "mul" operator. + + + + + the "neg" operator. + + + + + the "round" operator. + + + + + the "sin" operator. + + + + + the "sqrt" operator. + + + + + the "sub" operator. + + + + + the "truncate" operator. + + + + + Abstract base class for logical operators. + + + + + Implements the "and" operator. + + + + + Implements the "bitshift" operator. + + + + + Implements the "false" operator. + + + + + Implements the "not" operator. + + + + + Implements the "or" operator. + + + + + Implements the "true" operator. + + + + + Implements the "xor" operator. + + + + + Provides the conditional operators such as "if" and "ifelse". + + + + + Implements the "if" operator. + + + + + Implements the "ifelse" operator. + + + + + The stack used by this execution context. + + + + + Creates a new execution context. + + the operator set + + + + Returns the operator set used by this execution context. + + the operator set + + + + Pops a number (int or real) from the stack. If it's neither data type, a is thrown. + + the number + + + + Pops a value of type int from the stack. If the value is not of type int, a is thrown. + + the int value + + + + Pops a number from the stack and returns it as a real value. If the value is not of a numeric type, + a is thrown. + + the real value + + + + Add a name (ex. an operator) + + the name + + + + Adds an int value. + + the value + + + + Adds a real value. + + the value + + + + Adds a bool value. + + the value + + + + Adds a proc (sub-sequence of instructions). + + the child proc + + + + Executes the instruction sequence. + + the execution context + + + + Basic parser for Type 4 functions which is used to build up instruction sequences. + + + + + Returns the instruction sequence that has been build from the syntactic elements. + + the instruction sequence + + + + Parses the given text into an instruction sequence representing a Type 4 function that can be executed. + + the Type 4 function text + the instruction sequence + + + + + + + Interface for PostScript operators.e + + + + + Executes the operator. The method can inspect and manipulate the stack. + + the execution context + + + + This class provides all the supported operators. + + + + + Creates a new Operators object with the default set of operators. + + + + + Returns the operator for the given operator name. + + the operator name + the operator (or null if there's no such operator + + + + Parser for PDF Type 4 functions. This implements a small subset of the PostScript + language but is no full PostScript interpreter. + + + + + Used to indicate the parsers current state. + + + + + Parses a Type 4 function and sends the syntactic elements to the given syntax handler. + + the text source + the syntax handler + + + + This interface defines all possible syntactic elements of a Type 4 function. + It is called by the parser as the function is interpreted. + + + + + Indicates that a new line starts. + + the new line character (CR, LF, CR/LF or FF) + + + + Called when whitespace characters are encountered. + + the whitespace text + + + + Called when a token is encountered. No distinction between operators and values is done here. + + the token text + + + + Called for a comment. + + the comment + + + + Abstract base class for a . + + + + + + + + + + + + + + + + + Tokenizer for Type 4 functions. + + + + + Provides the relational operators such as "eq" and "le". + + + + + Implements the "eq" operator. + + + + + Abstract base class for number comparison operators. + + + + + Implements the "ge" operator. + + + + + Implements the "gt" operator. + + + + + Implements the "le" operator. + + + + + Implements the "lt" operator. + + + + + Implements the "ne" operator. + + + + + Provides the stack operators such as "Pop" and "dup". + + + + + Implements the "copy" operator. + + + + + Implements the "dup" operator. + + + + + Implements the "exch" operator. + + + + + Implements the "index" operator. + + + + + Implements the "Pop" operator. + + + + + Implements the "roll" operator. + + + + + returns 0 if false, +1 if true, -1 if pt ON polygon boundary. + See "The Point in Polygon Problem for Arbitrary Polygons" by Hormann and Agathos + + + + + + + + Convert self-intersecting polygons into simple polygons. + + + + + + + + Convert self-intersecting polygons into simple polygons. + + + + + + + + This function is more accurate when the point that's GEOMETRICALLY between the other + 2 points is the one that's tested for distance. + nb: with 'spikes', either pt1 or pt3 is geometrically between the other pts"> + + + + + + + + + + Clean polygon. + + + proximity in units/pixels below which vertices will be stripped. + Default ~= sqrt(2) so when adjacent vertices or semi-adjacent vertices have both x and y coords within 1 unit, then the second vertex will be stripped. + + + + Clean polygon. + + + proximity in units/pixels below which vertices will be stripped. + Default ~= sqrt(2) so when adjacent vertices or semi-adjacent vertices have both x and y coords within 1 unit, then the second vertex will be stripped. + + + + By far the most widely used winding rules for polygon filling are + EvenOdd and NonZero (GDI, GDI+, XLib, OpenGL, Cairo, AGG, Quartz, SVG, Gr32) + Others rules include Positive, Negative and ABS_GTR_EQ_TWO (only in OpenGL) + see http://glprogramming.com/red/chapter11.html + + + + + OutRec: contains a path in the clipping solution. Edges in the AEL will + carry a pointer to an OutRec when they are part of the clipping solution. + + + + + Applies clipping from a clipping path to another path. + + + + + Number of lines to use when transforming bezier curve to polyline. + + + + + Generates the result of applying a clipping path to another path. + + + + + Converts a path to a set of points for the Clipper algorithm to use. + Allows duplicate points as they will be removed by Clipper. + + + + + Extension class to Geometry. + + + + + Return true if the points are in counter-clockwise order. + + The first point. + The second point. + The third point. + + + + Get the dot product of both points. + + The first point. + The second point. + + + + Get a point with the summed coordinates of both points. + + The first point. + The second point. + + + + Get a point with the substracted coordinates of both points. + + The first point. + The second point. + + + + Algorithm to find a minimal bounding rectangle (MBR) such that the MBR corresponds to a rectangle + with smallest possible area completely enclosing the polygon. + From 'A Fast Algorithm for Generating a Minimal Bounding Rectangle' by Lennert D. Den Boer. + + + Polygon P is assumed to be both simple and convex, and to contain no duplicate (coincident) vertices. + The vertices of P are assumed to be in strict cyclic sequential order, either clockwise or + counter-clockwise relative to the origin P0. + + + + + Algorithm to find the (oriented) minimum area rectangle (MAR) by first finding the convex hull of the points + and then finding its MAR. + + The points. + + + + Algorithm to find the oriented bounding box (OBB) by first fitting a line through the points to get the slope, + then rotating the points to obtain the axis-aligned bounding box (AABB), and then rotating back the AABB. + + The points. + + + + Algorithm to find the convex hull of the set of points with time complexity O(n log n). + + + + + Whether the point is located inside the rectangle. + + The rectangle that should contain the point. + The point that should be contained within the rectangle. + If set to false, will return false if the point belongs to the border. + + + + Whether the other rectangle is located inside the rectangle. + + The rectangle that should contain the other rectangle. + The other rectangle that should be contained within the rectangle. + If set to false, will return false if the rectangles share side(s). + + + + Whether two rectangles overlap. + Returns false if the two rectangles only share a border. + + + + + Gets the that is the intersection of two rectangles. + Only works for axis-aligned rectangles. + + + + + Gets the axis-aligned rectangle that completely containing the original rectangle, with no rotation. + + + + + + Whether the rectangle and the line intersect. + + + + + + + Gets the that is the intersection of the rectangle and the line. + + + + + + + Gets the list of s that are the intersection of the rectangle and the lines. + + + + + + + + Whether the point is located on the line segment. + + + + + Whether two lines intersect. + + + + + Whether two lines intersect. + + + + + Get the that is the intersection of two lines. + + + + + Get the that is the intersection of two lines. + + + + + Checks if both lines are parallel. + + + + + Checks if both lines are parallel. + + + + + Gets the that is the intersection of the rectangle and the line. + + + + + + + Whether the rectangle and the line intersect. + + + + + + + Whether the point is located on the line segment. + + + + + Whether two lines intersect. + + + + + Whether two lines intersect. + + + + + Get the that is the intersection of two lines. + + + + + Get the that is the intersection of two lines. + + + + + Checks if both lines are parallel. + + + + + Checks if both lines are parallel. + + + + + Whether the line formed by and + intersects the line formed by and . + + + + + The intersection of the line formed by and + intersects the rectangle. + + + + + Whether the line formed by and + intersects the rectangle. + + + + + Split a bezier curve into 2 bezier curves, at tau. + + The original bezier curve. + The t value were to split the curve, usually between 0 and 1, but not necessary. + + + + Checks if the curve and the line are intersecting. + Avoid using this method as it is not optimised. Use instead. + + + + + Checks if the curve and the line are intersecting. + Avoid using this method as it is not optimised. Use instead. + + + + + Get the s that are the intersections of the line and the curve. + + + + + Get the s that are the intersections of the line and the curve. + + + + + Get the t values that are the intersections of the line and the curve. + + List of t values where the and the intersect. + + + + Get the t values that are the intersections of the line and the curve. + + List of t values where the and the intersect. + + + + nb: returns MaxInt ((2^32)-1) when pt is on a line + + + + + Whether the point is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the point. + The point that should be contained within the subpath. + If set to false, will return false if the point belongs to the subpath's border. + + + + Whether the rectangle is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the rectangle. + The rectangle that should be contained within the subpath. + If set to false, will return false if the rectangle is on the subpath's border. + + + + Whether the other subpath is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the rectangle. + The other subpath that should be contained within the subpath. + If set to false, will return false if the other subpath is on the subpath's border. + + + + Get the area of the path. + + + + + + Whether the point is located inside the path. + + The path that should contain the point. + The point that should be contained within the path. + If set to false, will return false if the point belongs to the path's border. + + + + Whether the rectangle is located inside the path. + + The path that should contain the rectangle. + The rectangle that should be contained within the path. + If set to false, will return false if the rectangle is on the path's border. + + + + Whether the subpath is located inside the path. + + The path that should contain the subpath. + The subpath that should be contained within the path. + If set to false, will return false if the subpath is on the path's border. + + + + Whether the other path is located inside the path. + + The path that should contain the path. + The other path that should be contained within the path. + If set to false, will return false if the other subpath is on the path's border. + + + + Get the real roots of a Cubic (or Quadratic, a=0) equation. + ax^3 + bx^2 + cx + d = 0 + + ax^3 + bx^2 + cx + d + + + + By default user space units correspond to 1/72nd of an inch (a typographic point). + The UserUnit entry in a page dictionary can define the space units as a different multiple of 1/72 (1 point). + + + + + The number of points (1/72nd of an inch) corresponding to a single unit in user space. + + + + + Create a new unit specification for a page. + + + + + Encapsulates the algorithm for chromatic adaptation described here: + http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html + + + + + Transformer for CIEBased color spaces. + + In addition to the PDF spec itself, the transformation implementation is based on the descriptions in: + https://en.wikipedia.org/wiki/SRGB#The_forward_transformation_(CIE_XYZ_to_sRGB) and + http://www.brucelindbloom.com/index.html?Eqn_XYZ_to_RGB.html + + + + + + Transforms the supplied ABC color to the RGB color of the + that was supplied to this as the destination + workspace. + A, B and C represent red, green and blue calibrated color values in the range 0 to 1. + + + + + A color with cyan, magenta, yellow and black (K) components. + + + + + CMYK Black value (0, 0, 0, 1). + + + + + CMYK White value (all 0). + + + + + + + + The cyan value. + + + + + The magenta value. + + + + + The yellow value. + + + + + The black value. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + Color values in a PDF are interpreted according to the current color space. + Color spaces enable a PDF to specify abstract colors in a device independent way. + + + + + Grayscale. Controls the intensity of achromatic light on a scale from black to white. + + + + + RGB. Controls the intensities of red, green and blue light. + + + + + CMYK. Controls the concentrations of cyan, magenta, yellow and black (K) inks. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalGray - Special case of the CIE colorspace using a single channel (A) and a single transformation. + A represents the gray component of a calibrated gray space in the range 0 to 1. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0 to 1. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + Lab - A CIE ABC color space with two transforms. A, B and C represent the L*, a* and b* + components of a CIE 1976 L*a*b* space. The range of A (L*) is 0 to 100. + The range of B (a*) and C (b*) are defined by the Range of the color space. + + + + + ICC (International Color Consortium) colorspace. + ICC - Colorspace specified by a sequence of bytes which are interpreted according to the + ICC specification. + + + + + An Indexed color space allows a PDF content stream to use small integers as indices into a color map or color table of arbitrary colors in some other space. + A PDF consumer application treats each sample value as an index into the color table and uses the color value it finds there. + + + + + Enables a PDF content stream to paint an area with a pattern rather than a single color. + The pattern may be either a tiling pattern (type 1) or a shading pattern (type 2). + + + + + Provides a means for specifying the use of additional colorants or for isolating the control of individual color components of + a device color space for a subtractive device. + When such a space is the current color space, the current color is a single-component value, called a tint, + that controls the application of the given colorant or color components only. + + + + + Can contain an arbitrary number of color components. They provide greater flexibility than is possible with standard device color + spaces such as or with individual color spaces. + For example, it is possible to create a DeviceN color space consisting of only the cyan, magenta, and yellow color components, + with the black component excluded. + + + + + Contains more document-specific information about the . + + + + + The type of the ColorSpace. + + + + + The number of components for the color space. + + + + + The underlying type of , usually equal to + unless or . + + + + + The number of components for the underlying color space. + + + + + Create a new . + + + + + Get the color. + + + + + Get the color, without check and caching. + + + + + Get the color that initialize the current stroking or nonstroking colour. + + + + + Transform image bytes. + + + + + Convert to byte. + + + + + A grayscale value is represented by a single number in the range 0.0 to 1.0, + where 0.0 corresponds to black, 1.0 to white, and intermediate values to different gray levels. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + Color values are defined by three components representing the intensities of the additive primary colorants red, green and blue. + Each component is specified by a number in the range 0.0 to 1.0, where 0.0 denotes the complete absence of a primary component and 1.0 denotes maximum intensity. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + Color values are defined by four components cyan, magenta, yellow and black. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + An Indexed color space allows a PDF content stream to use small integers as indices into a color map or color table of arbitrary colors in some other space. + A PDF consumer treats each sample value as an index into the color table and uses the color value it finds there. + + + + + Creates a indexed color space useful for extracting stencil masks as black-and-white images, + i.e. with a color palette of two colors (black and white). If the decode parameter array is + [0, 1] it indicates that black is at index 0 in the color palette, whereas [1, 0] indicates + that the black color is at index 1. + + + + + + + + + In the case of , gets the ' BaseNumberOfColorComponents. + + + + + The base color space in which the values in the color table are to be interpreted. + It can be any device or CIE-based color space or (in PDF 1.3) a Separation or DeviceN space, + but not a Pattern space or another Indexed space. + + + + + An integer that specifies the maximum valid index value. Can be no greater than 255. + + + + + Provides the mapping between index values and the corresponding colors in the base color space. + + + + + Create a new . + + + + + + + + + + + + + + + + Unwrap then transform using base color space details. + + + + + + DeviceN colour spaces may contain an arbitrary number of colour components. They provide greater flexibility than + is possible with standard device colour spaces such as DeviceCMYK or with individual Separation colour spaces. + + + + + + The 'N' in DeviceN. + + + + + + + + Specifies name objects specifying the individual colour components. The length of the array shall + determine the number of components in the DeviceN colour space. + + + The component names shall all be different from one another, except for the name None, which may be repeated. + + The special name All, used by Separation colour spaces, shall not be used. + + + + + + If the colorant name associated with a DeviceN color space does not correspond to a colorant available on the device, + the application arranges for subsequent painting operations to be performed in an alternate color space. + The intended colors can be approximated by colors in a device or CIE-based color space + which are then rendered with the usual primary or process colorants. + + + + + The optional attributes parameter shall be a dictionary containing additional information about the components of + colour space that conforming readers may use. Conforming readers need not use the alternateSpace and tintTransform + parameters, and may instead use custom blending algorithms, along with other information provided in the attributes + dictionary if present. + + + + + During subsequent painting operations, an application calls this function to transform a tint value into + color component values in the alternate color space. + The function is called with the tint value and must return the corresponding color component values. + That is, the number of components and the interpretation of their values depend on the . + + + + + Create a new . + + + + + + + + + + + + + + + + + DeviceN Color Space Attributes. + + + + + A name specifying the preferred treatment for the colour space. Values shall be DeviceN or NChannel. Default value: DeviceN. + + + + + Colorants - dictionary - Required if Subtype is NChannel and the colour space includes spot colorants; otherwise optional. + + + + + Process - dictionary - Required if Subtype is NChannel and the colour space includes components of a process colour space, otherwise optional. + + + + + MixingHints - dictionary - Optional + + + + + Create a new . + + + + + Create a new . + + + + + A Separation color space provides a means for specifying the use of additional colorants or + for isolating the control of individual color components of a device color space for a subtractive device. + When such a space is the current color space, the current color is a single-component value, called a tint, + that controls the application of the given colorant or color components only. + + + + + + + + + + + Specifies the name of the colorant that this Separation color space is intended to represent. + + + + The special colorant name All refers collectively to all colorants available on an output device, + including those for the standard process colorants. + + + The special colorant name None never produces any visible output. + Painting operations in a Separation space with this colorant name have no effect on the current page. + + + + + + If the colorant name associated with a Separation color space does not correspond to a colorant available on the device, + the application arranges for subsequent painting operations to be performed in an alternate color space. + The intended colors can be approximated by colors in a device or CIE-based color space + which are then rendered with the usual primary or process colorants. + + + + + During subsequent painting operations, an application calls this function to transform a tint value into + color component values in the alternate color space. + The function is called with the tint value and must return the corresponding color component values. + That is, the number of components and the interpretation of their values depend on the . + + + + + Create a new . + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalGray - A CIE A color space with a single transformation. + A represents the gray component of a calibrated gray space. The component must be in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + A number defining the gamma for the gray (A) component. Gamma must be positive and is generally + greater than or equal to 1. Default value: 1. + + + + + Create a new . + + + + + Transforms the supplied A color to grayscale RGB (sRGB) using the propties of this + in the transformation process. + A represents the gray component of a calibrated gray space. The component must be in the range 0.0 to 1.0. + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + An array of three numbers [GR GG GB] specifying the gamma for the red, green and blue (A, B, C) components + of the color space. Default value: [1.0 1.0 1.0]. + + + + + An array of nine numbers [XA YA ZA XB YB ZB XC YC ZC] specifying the linear interpretation of the + decoded A, B, C components of the color space with respect to the final XYZ representation. Default value: + [1 0 0 0 1 0 0 0 1]. + + + + + Create a new . + + + + + Transforms the supplied ABC color to RGB (sRGB) using the propties of this + in the transformation process. + A, B and C represent red, green and blue calibrated color values in the range 0.0 to 1.0. + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + An array of four numbers [a_min a_max b_min b_max] that shall specify the range of valid values for the a* and b* (B and C) + components of the colour space — that is, a_min ≤ a* ≤ a_max and b_min ≤ b* ≤ b_max + Component values falling outside the specified range shall be adjusted to the nearest valid value without error indication. + Default value: [−100 100 −100 100]. + + + + + Create a new . + + + + + Transforms the supplied ABC color to RGB (sRGB) using the properties of this + in the transformation process. + A, B and C represent the L*, a*, and b* components of a CIE 1976 L*a*b* space. The range of the first (L*) + component shall be 0 to 100; the ranges of the second and third (a* and b*) components shall be defined by + the Range entry in the colour space dictionary + + + + + + + + + + + + + + + + + The ICCBased color space is one of the CIE-based color spaces supported in PDFs. These color spaces + enable a page description to specify color values in a way that is related to human visual perception. + The goal is for the same color specification to produce consistent results on different output devices, + within the limitations of each device. + + Currently support for this color space is limited in PdfPig. Calculations will only be based on + the color space of . + + + + + + The number of color components in the color space described by the ICC profile data. + This numbers shall match the number of components actually in the ICC profile. + Valid values are 1, 3 and 4. + + + + + + + + An alternate color space that can be used in case the one specified in the stream data is not + supported. Non-conforming readers may use this color space. The alternate color space may be any + valid color space (except a Pattern color space). If this property isn't explicitly set during + construction, it will assume one of the color spaces, DeviceGray, DeviceRGB or DeviceCMYK depending + on whether the value of is 1, 3 or respectively. + + Conversion of the source color values should not be performed when using the alternate color space. + Color values within the range of the ICCBased color space might not be within the range of the + alternate color space. In this case, the nearest values within the range of the alternate space + must be substituted. + + + + + + A list of 2 x numbers [min0 max0 min1 max1 ...] that + specifies the minimum and maximum valid values of the corresponding color components. These + values must match the information in the ICC profile. Default value: [0.0 1.0 0.0 1.0 ...]. + + + + + An optional metadata stream that contains metadata for the color space. + + + + + Create a new . + + + + + + + + + + + + + + + + + Pattern color space. + + + + + The pattern dictionary. + + + + + + + Cannot be called for , will throw a . + + + + + + + + Valid for Uncoloured Tiling Patterns. Wwill throw a otherwise. + + + + + + The underlying color space for Uncoloured Tiling Patterns. + + + + + Create a new . + + The patterns. + The underlying colour space for Uncoloured Tiling Patterns. + + + + Get the corresponding . + + + + + + + + Cannot be called for , will throw a . + + + + + + + + Cannot be called for , will throw a . + Use instead. + + + + + + + + Always returns null. + + + + + + Cannot be called for , will throw a . + + + + + + A ColorSpace which the PdfPig library does not currently support. Please raise a PR if you need support for this ColorSpace. + + + + + The single instance of the . + + + + + + + Cannot be called for , will throw a . + + + + + + + + Cannot be called for , will throw a . + + + + + + + + + + + + + + + + + + Provides utility extension methods for dealing with s. + + + + + Gets the corresponding for a given . + + + + + Maps from a to the corresponding if one exists. + Includes extended color spaces. + + + + + Gets the corresponding for a given . + + + + + s can be classified into colorspace families. + s within the same family share general characteristics. + + + + + Device colorspaces directly specify colors or shades of gray that the output device + should produce. + + + + + CIE-based color spaces are based on an international standard for color specification created by + the Commission Internationale de l'Éclairage (International Commission on Illumination) (CIE). + These spaces specify colors in a way that is independent of the characteristics of any particular output device. + + + + + Special color spaces add features or properties to an underlying color space. + They include facilities for patterns, color mapping, separations, and high-fidelity and multitone color. + + + + + A grayscale color with a single gray component. + + + + + Gray Black value (0). + + + + + Gray White value (1). + + + + + + + + The gray value between 0 and 1. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + A color used for text or paths in a PDF. + + + + + The colorspace used for this color. + + + + + The color as RGB values (between 0 and 1). + + + + + A pattern color. + + Base class for and . + + + + + + 1 for tiling, 2 for shading. + + + + + The dictionary defining the pattern. + + + + + Graphics state parameter dictionary containing graphics state parameters to be put into effect temporarily while the shading + pattern is painted. Any parameters that are so specified shall be inherited from the graphics state that was in effect at the + beginning of the content stream in which the pattern is defined as a resource. + + + + + The pattern matrix (see 8.7.2, "General Properties of Patterns"). Default value: the identity matrix [1 0 0 1 0 0]. + + + + + + + + + + + + + Cannot be called for , will throw a . + + + + + + + + + A tiling pattern consists of a small graphical figure called a pattern cell. Painting with the pattern + replicates the cell at fixed horizontal and vertical intervals to fill an area. The effect is as if the + figure were painted on the surface of a clear glass tile, identical copies of which were then laid down + in an array covering the area and trimmed to its boundaries. + + + + + Content stream containing the painting operators needed to paint one instance of the cell. + + + + + A code that determines how the colour of the pattern cell shall be specified. + + + + + A code that controls adjustments to the spacing of tiles relative to the device pixel grid:. + + + + + The pattern cell's bounding box. These boundaries shall be used to clip the pattern cell. + + + + + The desired horizontal spacing between pattern cells, measured in the pattern coordinate system. + + XStep and YStep may differ from the dimensions of the pattern cell implied by the BBox entry. This allows tiling with irregularly shaped figures. + XStep and YStep may be either positive or negative but shall not be zero. + + + + + + The desired vertical spacing between pattern cells, measured in the pattern coordinate system. + + XStep and YStep may differ from the dimensions of the pattern cell implied by the BBox entry. This allows tiling with irregularly shaped figures. + XStep and YStep may be either positive or negative but shall not be zero. + + + + + + A resource dictionary that shall contain all of the named resources required by the pattern's content stream. + + + + + Content containing the painting operators needed to paint one instance of the cell. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + Shading patterns provide a smooth transition between colours across an area to be painted, independent of + the resolution of any particular output device and without specifying the number of steps in the colour transition. + + + + + A shading object defining the shading pattern's gradient fill. + + + + + Create a new . + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + A color space definition from a resource dictionary. + + + + + A color with red, green and blue components. + + + + + RGB Black value (all 0). + + + + + RGB White value (all 1). + + + + + + + + The red value between 0 and 1. + + + + + The green value between 0 and 1. + + + + + The blue value between 0 and 1. + + + + + Create a new . + + The red value between 0 and 1. + The green value between 0 and 1. + The blue value between 0 and 1. + + + + + + + + + + + Whether 2 RGB colors are equal across all channels. + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + A shading specifies details of a particular gradient fill, including the type + of shading to be used, the geometry of the area to be shaded, and the geometry of the + gradient fill. Various shading types are available, depending on the value of the + dictionary's ShadingType entry. + + + + + The dictionary defining the shading. + + + + + The shading type. + + + + + The colour space in which colour values shall beexpressed. + This may be any device, CIE-based, or special colour space except a Pattern space. + + + + + An array of colour components appropriate to the colour space, + specifying a single background colour value. If present, this + colour shall be used, before any painting operation involving + the shading, to fill those portions of the area to be painted + that lie outside the bounds of the shading object. + + + + + The shading's bounding box. The coordinates shall be interpreted + in the shading's target coordinate space. If present, this bounding + box shall be applied as a temporary clipping boundary when the shading + is painted, in addition to the current clipping path and any other + clipping boundaries in effect at that time. + + + + + The shading operators sample shading functions at a rate determined by + the resolution of the output device. Aliasing can occur if the function + is not smooth—that is, if it has a high spatial frequency relative to + the sampling rate. Anti-aliasing can be computationally expensive and + is usually unnecessary, since most shading functions are smooth enough + or are sampled at a high enough frequency to avoid aliasing effects. + Anti-aliasing may not be implemented on some output devices, in which + case this flag is ignored. + + + + + Create a new . + + + + + The shading's function(s), if any. + + + + + Convert the input values using the functions of the shading. + + + + + Function-based shadings (type 1) define the colour of every point in the domain using a + mathematical function (not necessarily smooth or continuous). + + + + + (Optional) An array of four numbers [xmin xmax ymin ymax] specifying the rectangular domain of + coordinates over which the colour function(s) are defined. + + Default value: [0.0 1.0 0.0 1.0]. + + + + + + (Optional) An array of six numbers specifying a transformation matrix mapping the coordinate + space specified by the Domain entry into the shading's target coordinate space. + + Default value: the identity matrix [1 0 0 1 0 0]. + + + + + + (Required) A 2-in, n-out function or an array of n 2-in, 1-out functions (where n is the + number of colour components in the shading dictionary's colour space). + Each function's domain shall be a superset of that of the shading dictionary. + If the value returned by the function for a given colour component is out of + range, it shall be adjusted to the nearest valid value. + + + + + Create a new . + + + + + Axial shadings (type 2) define a colour blend along a line between two points, optionally + extended beyond the boundary points by continuing the boundary colours. + + + + + (Required) An array of four numbers [x0 y0 x1 y1] specifying the starting and ending coordinates + of the axis, expressed in the shading's target coordinate space. + + + + + (Optional) An array of two numbers [t0 t1] specifying the limiting values of a parametric variable t. + The variable is considered to vary linearly between these two values as the colour gradient + varies between the starting and ending points of the axis. The variable t becomes the input + argument to the colour function(s). Default value: [0.0 1.0]. + + + + + (Required) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number of + colour components in the shading dictionary's colour space). The function(s) shall be + called with values of the parametric variable t in the domain defined by the Domain entry. + Each function's domain shall be a superset of that of the shading dictionary. If the value + returned by the function for a given colour component is out of range, it shall be adjusted + to the nearest valid value. + + + + + (Optional) An array of two boolean values specifying whether to extend the shading beyond the starting + and ending points of the axis, respectively. Default value: [false false]. + + + + + Create a new . + + + + + Radial shadings (type 3) define a blend between two circles, optionally extended beyond the + boundary circles by continuing the boundary colours. This type of shading is commonly used + to represent three-dimensional spheres and cones. + + + + + (Required) An array of six numbers [x0 y0 r0 x1 y1 r1] specifying the centres and radii of the starting + and ending circles, expressed in the shading's target coordinate space. The radii r0 and r1 + shall both be greater than or equal to 0. If one radius is 0, the corresponding circle shall + be treated as a point; if both are 0, nothing shall be painted. + + + + + (Optional) An array of two numbers [t0 t1] specifying the limiting values of a parametric variable t. + The variable is considered to vary linearly between these two values as the colour gradient + varies between the starting and ending circles. The variable t becomes the input argument + to the colour function(s). + + Default value: [0.0 1.0]. + + + + + + (Required) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number of + colour components in the shading dictionary's colour space). The function(s) shall be + called with values of the parametric variable t in the domain defined by the shading + dictionary's Domain entry. Each function’s domain shall be a superset of that of the + shading dictionary. If the value returned by the function for a given colour component + is out of range, it shall be adjusted to the nearest valid value. + + + + + (Optional) An array of two boolean values specifying whether to extend the shading beyond the starting + and ending points of the axis, respectively. + + Default value: [false false]. + + + + + + Create a new . + + + + + Free-form Gouraud-shaded triangle meshes (type 4) define a common construct used by many + three-dimensional applications to represent complex coloured and shaded shapes. Vertices + are specified in free-form geometry. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each vertex (see below). + The value of BitsPerFlag shall be 2, 4, or8, but only the least significant 2 bits + in each flag value shall beused. The value for the edge flag shall be 0, 1, or 2. + + + + + (Required) An array of numbers specifying how to map vertex coordinates and colour components + into the appropriate ranges of values. The decoding method is similar to that used + in image dictionaries. The ranges shall bespecified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n + is the number of colour components in the shading dictionary's colour space). If + this entry is present, the colour data for each vertex shall be specified by a + single parametric variable rather than by n separate colour components. + The designated function(s) shall be called with each interpolated value of the + parametric variable to determine the actual colour at each point. Each input + value shall be forced into the range interval specified for the corresponding + colour component in the shading dictionary's Decode array. Each function’s + domain shall be a superset of that interval. If the value returned by the + function for a given colour component is out of range, it shall be adjusted + to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Lattice-form Gouraud-shaded triangle meshes (type 5) are based on the same geometrical + construct as type 4 but with vertices specified as a pseudorectangular lattice. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of vertices in each row of the lattice; the value shall be greater than + or equal to 2. The number of rows need not be specified. + + + + + (Required) An array of numbers specifying how to map vertex coordinates and colour components + into the appropriate ranges of values. The decoding method is similar to that used + in image dictionaries. The ranges shall bespecified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number + of colour components in the shading dictionary's colour space). If this entry is present, + the colour data for each vertex shall be specified by a single parametric variable rather + than by n separate colour components. The designated function(s) shall be called with each + interpolated value of the parametric variable to determine the actual colour at each point. + Each input value shall be forced into the range interval specified for the corresponding + colour component in the shading dictionary's Decode array. Each function's domain shall be + a superset of that interval. If the value returned by the function for a given colour + component is out of range, it shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Coons patch meshes (type 6) construct a shading from one or more colour patches, each + bounded by four cubic Bézier curves. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each patch (see below). + The value shall be 2, 4, or 8, but only the least significant 2 bits in each flag + value shall be used. Valid values for the edge flag shall be 0, 1, 2, and 3. + + + + + (Required) An array of numbers specifying how to map coordinates and colour components into the + appropriate ranges of values. The decoding method is similar to that used in image + dictionaries. The ranges shall be specified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is + the number of colour components in the shading dictionary's colour space). If this + entry is present, the colour data for each vertex shall be specified by a single + parametric variable rather than by n separate colour components. The designated + function(s) shall be called with each interpolated value of the parametric variable + to determine the actual colour at each point. Each input value shall be forced into + the range interval specified for the corresponding colour component in the shading + dictionary's Decode array. Each function’s domain shall be a superset of that interval. + If the value returned by the function for a given colour component is out of range, it + shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Tensor-product patch meshes (type 7) are similar to type 6 but with additional control + points in each patch, affording greater control over colour mapping. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each patch (see below). + The value shall be 2, 4, or 8, but only the least significant 2 bits in each flag + value shall be used. Valid values for the edge flag shall be 0, 1, 2, and 3. + + + + + (Required) An array of numbers specifying how to map coordinates and colour components into the + appropriate ranges of values. The decoding method is similar to that used in image + dictionaries. The ranges shall be specified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is + the number of colour components in the shading dictionary's colour space). If this + entry is present, the colour data for each vertex shall be specified by a single + parametric variable rather than by n separate colour components. The designated + function(s) shall be called with each interpolated value of the parametric variable + to determine the actual colour at each point. Each input value shall be forced into + the range interval specified for the corresponding colour component in the shading + dictionary's Decode array. Each function’s domain shall be a superset of that interval. + If the value returned by the function for a given colour component is out of range, it + shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Shading types. + + + + + Function-based shading. + + + + + Axial shading. + + + + + Radial shading. + + + + + Free-form Gouraud-shaded triangle mesh. + + + + + Lattice-form Gouraud-shaded triangle mesh. + + + + + Coons patch mesh. + + + + + Tensor-product patch mesh + + + + + Stores each letter as it is encountered in the content stream. + + + + + Stores each path as it is encountered in the content stream. + + + + + Stores a link to each image (either inline or XObject) as it is encountered in the content stream. + + + + + Stores each marked content as it is encountered in the content stream. + + + + + A counter to track individual calls to operations used to determine if letters are likely to be + in the same word/group. This exposes internal grouping of letters used by the PDF creator which may correspond to the + intended grouping of letters into words. + + + + + The line cap style specifies the shape to be used at the ends of open subpaths (and dashes, if any) when they are stroked. + + + + + The stroke is squared off at the endpoint of the path. There is no projection beyond the end of the path. + + + + + A semicircular arc with a diameter equal to the line width is drawn around the endpoint and filled in. + + + + + The stroke continues beyond the endpoint of the path for a distance equal to half the line width and is squared off. + + + + + The line dash pattern controls the pattern of dashes and gaps used to stroke paths. + It is specified by a dash array and a dash phase. + + + + + The distance into the dash pattern at which to start the dash. + + + + + The numbers that specify the lengths of alternating dashes and gaps. + + + + + Create a new . + + The phase. . + The array. . + + + + The default solid line. + + + + + + + + The line join style specifies the shape to be used at the corners of paths that are stroked. + + + + + The outer edges of the strokes for the two segments are extended until they meet at an angle, as in a picture frame. + If the segments meet at too sharp an angle (as defined by the miter limit parameter), a bevel join is used instead. + + + + + An arc of a circle with a diameter equal to the line width is drawn around the point where the two segments meet, + connecting the outer edges of the strokes for the two segments + + + + + The two segments are finished with butt caps and the resulting notch beyond the ends of the segments is filled with a triangle. + + + + + Specifying a rendering intent allows a PDF file to set priorities regarding which properties to preserve and which to sacrifice for CIE colors. + + + + + No correction for the output medium's white point. Colors + only represented relative to the light source. + + + + + Combines light source and output medium's white point. + + + + + Emphasises saturation rather than colorimetric accuracy. + + + + + Modifies from colorimetric values to provide a "pleasing perceptual appearance". + + + + + The current state of text related parameters for a content stream. + + + + + Whether the font comes from the extended graphics state via the operator. + + + + + A value in unscaled text space units which is added to the horizontal (or vertical if in vertical writing mode) + glyph displacement. + + + In horizontal writing mode a positive value will expand the distance between letters/glyphs. + Default value 0. + + + + + As for but applies only for the space character (32). + + + Default value 0. + + + + + Adjusts the width of glyphs/letters by stretching (or compressing) them horizontally. + Value is a percentage of the normal width. + + + + + The vertical distance in unscaled text space units between the baselines of lines of text. + + + + + The name of the currently active font. + + + + + The current font size. + + + + + The for glyph outlines. + + + When the rendering mode requires filling the current non-stroking color in the state is used.
+ When the rendering mode requires stroking the current stroking color in the state is used.
+ The rendering mode has no impact on Type 3 fonts. +
+
+ + + The distance in unscaled text space units to move the default baseline either up or down. + + + Always applies to the vertical coordinate irrespective or writing mode. + + + + + Are all glyphs in a text object treated as a single elementary object for the purpose of the transparent imaging model? + + + + + + + + The state of the current graphics control parameters set by operations in the content stream. + + + Initialized per page. + + + + + The current clipping path. + + + + + The for this graphics state. + + + + + Thickness in user space units of path to be stroked. + + + + + Specifies the shape of line ends for open stroked paths. + + + + + Specifies the shape of joins between connected stroked path segments. + + + + + Maximum length of mitered line joins for paths before becoming a bevel. + + + + + The pattern to be used for stroked lines. + + + + + The rendering intent to use when converting CIE-based colors to device colors. + + + + + Should a correction for rasterization effects be applied? + + + + + Opacity value to be used for transparent imaging. + + + + + Opacity value to be used for transparent imaging. + + + + + Should soft mask and alpha constant values be interpreted as shape () or opacity () values? + + + + + Maps positions from user coordinates to device coordinates. + + + + + The active colorspaces for this content stream. + + + + + The current active stroking color for paths. + + + + + The current active non-stroking color for text and fill. + + + + + Should painting in a colorant set erase () + or leave unchanged () areas of other colorant sets? + + + + + As for but with non-stroking operations. + + + + + In DeviceCMYK color space a value of 0 for a component will erase a component (0) + or leave it unchanged (1) for overprinting. + + + + + The precision for rendering curves, smaller numbers give smoother curves. + + + + + The precision for rendering color gradients on the output device. + + + + + + + + Methods for manipulating and retrieving the current color state for a PDF content stream. + + + + + The used for stroking operations. + + + + + The used for non-stroking operations. + + + + + Set the current color space to use for stroking operations and initialize the stroking color. + + The color space name. + The color space dictionary. Default value is null. + + + + Set the current color space to use for nonstroking operations and initialize the nonstroking color. + + The color space name. + The color space dictionary. Default value is null. + + + + Set the color to use for stroking operations using the current color space. + + + + + Set the stroking color space to DeviceGray and set the gray level to use for stroking operations. + + A number between 0.0 (black) and 1.0 (white). + + + + Set the stroking color space to DeviceRGB and set the color to use for stroking operations. + + Red - A number between 0 (minimum intensity) and 1 (maximum intensity). + Green - A number between 0 (minimum intensity) and 1 (maximum intensity). + Blue - A number between 0 (minimum intensity) and 1 (maximum intensity). + + + + Set the stroking color space to DeviceCMYK and set the color to use for stroking operations. + + Cyan - A number between 0 (minimum concentration) and 1 (maximum concentration). + Magenta - A number between 0 (minimum concentration) and 1 (maximum concentration). + Yellow - A number between 0 (minimum concentration) and 1 (maximum concentration). + Black - A number between 0 (minimum concentration) and 1 (maximum concentration). + + + + Set the color to use for nonstroking operations using the current color space. + + + + + Set the nonstroking color space to DeviceGray and set the gray level to use for nonstroking operations. + + A number between 0.0 (black) and 1.0 (white). + + + + Set the nonstroking color space to DeviceRGB and set the color to use for nonstroking operations. + + Red - A number between 0 (minimum intensity) and 1 (maximum intensity). + Green - A number between 0 (minimum intensity) and 1 (maximum intensity). + Blue - A number between 0 (minimum intensity) and 1 (maximum intensity). + + + + Set the nonstroking color space to DeviceCMYK and set the color to use for nonstroking operations. + + Cyan - A number between 0 (minimum concentration) and 1 (maximum concentration). + Magenta - A number between 0 (minimum concentration) and 1 (maximum concentration). + Yellow - A number between 0 (minimum concentration) and 1 (maximum concentration). + Black - A number between 0 (minimum concentration) and 1 (maximum concentration). + + + + The current graphics state context when running a PDF content stream. + + + + + The current position. + + + + + The matrices for the current text state. + + + + + The number of graphics states on the stack. + + + + + Gets the current graphic state. + + + + + Sets the current graphics state to the state from the top of the stack. + + + + + Saves a copy of the current graphics state on the stack. + + + + + Shows the text represented by the provided bytes using the current graphics state. + + The bytes of the text. + + + + Interprets the tokens to draw text at positions. + + The tokens to show. + + + + Retrieves the named XObject and applies it to the current state. + + The name of the XObject. + + + + Start a new sub-path. + + + + + Close the current subpath. + + + + + Stroke the current path. + + Whether to also close the path. + + + + Fill the current path. + + The filling rule to use. + Whether to also close the path. + + + + Fill and stroke the current path. + + The filling rule to use. + Whether to also close the path. + + + + Add a move command to the path. + Should implement matrix transformations. + + + + + Add a bezier curve to the current subpath. + Should implement matrix transformations. + + + + + Add a bezier curve to the current subpath. + Should implement matrix transformations. + + + + + Add a line command to the subpath. + Should implement matrix transformations. + + + + + Add a rectangle following the pdf specification (m, l, l, l, c) path. A new subpath will be created. + Should implement matrix transformations. + + + + + End the path object without filling or stroking it. This operator shall be a path-painting no-op, + used primarily for the side effect of changing the current clipping path (see 8.5.4, "Clipping Path Operators"). + + + + + Close the current path. + + + + + Indicate that a marked content region is started. + + + + + Indicates that the current marked content region is complete. + + + + + Update the graphics state to apply the state from the named ExtGState dictionary. + + The name of the state to apply. + + + + Indicate that an inline image is being defined. + + + + + Define the properties of the inline image currently being drawn. + + + + + Indicates that the current inline image is complete. + + + + + Modify the clipping rule of the current path. + + + + + Set the flatness tolerance in the graphics state. + Flatness is a number in the range 0 to 100; a value of 0 specifies the output device’s default flatness tolerance. + + + + + + Set the line cap style in the graphics state. + + + + + Set the line dash pattern in the graphics state. + + + + + Set the line join style in the graphics state. + + + + + Set the line width in the graphics state. + + + + + Set the miter limit in the graphics state. + + + + + Move to the start of the next line. + + + This performs this operation: 0 -Tl Td + The offset is negative leading text (Tl) value, this is incorrect in the specification. + + + + + Set the font and the font size. + Font is the name of a font resource in the Font subdictionary of the current resource dictionary. + Size is a number representing a scale factor. + + + + + Set the horizontal scaling. + + + + + + Set the text leading. + + + + + Set the text rendering mode. + + + + + Set text rise. + + + + + Sets the word spacing. + + + + + Modify the current transformation matrix by concatenating the specified matrix. + + + + + Set the character spacing to a number expressed in unscaled text space units. + Initial value: 0. + + + + + Paint the shape and colour shading described by a shading dictionary, subject to the current clipping path. The current colour in the graphics state is neither used nor altered. The effect is different from that of painting a path using a shading pattern as the current colour. + + The name of a shading dictionary resource in the Shading subdictionary of the current resource dictionary. + + + + Handles building s. + + + + + + Modify the current clipping path by intersecting it with the current path, using the + even-odd rule to determine which regions lie inside the clipping path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Modify the current clipping path by intersecting it with the current path, using the + nonzero winding number rule to determine which regions lie inside the clipping path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Begin a compatibility section. Unrecognized operators (along with their operands) are ignored without error. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End a compatibility section. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the color rendering intent in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The rendering intent for CIE-based colors. + + + + + Create new . + + The rendering intent. + + + + + + + + + + + + + + Set the flatness tolerance in the graphics state. + Flatness is a number in the range 0 to 100; a value of 0 specifies the output device’s default flatness tolerance. + + + + + The symbol for this operation in a stream. + + + + + + + + The flatness tolerance controls the maximum permitted distance in device pixels + between the mathematically correct path and an approximation constructed from straight line segments. + + + + + Create new . + + The flatness tolerance. + + + + + + + + + + + + + + Set the line cap style in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The cap style. + + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set the line dash pattern in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The line dash pattern. + + + + + Create a new . + + + + + + + + + + + + + + + + + The symbol for this operation in a stream. + + + + + + + + The line join style. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set the line width in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The line width. + + + + + Create a new . + + The line width. + + + + + + + + + + + + + + Set the miter limit in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The miter limit. The miter limit imposes a maximum on the ratio of the miter length to the line width. + When the limit is exceeded, the join is converted from a miter to a bevel. + + + + + Create a new . + + + + + + + + + + + + + + An operation with associated data from a content stream. + + + + + The symbol representing the operator in the content stream. + + + + + Writes the operator and any operands as valid PDF content to the stream. + + The stream to write to. + + + + Applies the operation to the current context with the provided resources. + Matrix transformations should be implemented in . + + + + + + + Begin an inline image object. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Begin the image data for an inline image object. + + + + + The symbol for this operation in a stream. + + + + + + + + The key-value pairs which specify attributes of the following image. + + + + + Create a new . + + + + + + + + + + + + + + + End an inline image object. + + + + + The symbol for this operation in a stream. + + + + + The raw data for the inline image which should be interpreted according to the corresponding . + + + + + + + + Create a new operation. + + The raw byte data of this image. + + + + + + + + + + + + + + Paint the specified XObject. + The operand name must appear as a key in the XObject subdictionary of the current resource dictionary. + The associated value must be a stream whose Type entry, if present, is XObject. + The effect of depends on the value of the XObject's Subtype entry, which may be Image, Form or PS. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the XObject which appears in the XObject subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the XObject. + + + + + + + + + + + + + + Begin a marked-content sequence terminated by a balancing operator. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the sequence. + + + + + Create a new . + + The name of the marked-content sequence. + + + + + + + + + + + + + + Begin a marked-content sequence with an associated property list terminated by a balancing operator. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + The name of the property dictionary in the Properties subdictionary of the current resource dictionary. + Can be if the property dictionary is provided inline. + + + + + The marked-content sequence properties. + Can be if a name of the property dictionary is provided instead. + + + + + Create a new . + + The name of the marked-content point. + The name of the property dictionary. + + + + Create a new . + + The name of the marked-content point. + The properties of the marked-content point. + + + + + + + + + + + Designate a single marked-content point in the content stream. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + Create a new . + + The name of the marked-content point. + + + + + + + + + + + + + + Designate a single marked-content point in the content stream with an associated property list. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + The name of the property dictionary in the Properties subdictionary of the current resource dictionary. + Can be if the property dictionary is provided inline. + + + + + The marked-content point properties. + Can be if a name of the property dictionary is provided instead. + + + + + Create a new . + + The name of the marked-content point. + The name of the property dictionary. + + + + Create a new . + + The name of the marked-content point. + The properties of the marked-content point. + + + + + + + + + + + End a marked-content sequence. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + Paint the shape and color shading described by a shading dictionary, subject to the current clipping path. + The current color in the graphics state is neither used nor altered. + The effect is different from that of painting a path using a shading pattern as the current color. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of a shading dictionary resource in the Shading subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the shading dictionary. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + First control point x. + + + + + First control point y. + + + + + Second control point x. + + + + + Second control point y. + + + + + End point x. + + + + + End point y. + + + + + Create a new . + + Control point 1 x coordinate. + Control point 1 y coordinate. + Control point 2 x coordinate. + Control point 2 y coordinate. + End point x coordinate. + End point y coordinate. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the first control point. + + + + + The y coordinate of the first control point. + + + + + The x coordinate of the end point. + + + + + The y coordinate of the end point. + + + + + Create a new . + + Control point 1 x coordinate. + Control point 1 y coordinate. + Control point 2/End x coordinate. + Control point 2/End y coordinate. + + + + + + + + + + + + + + Append a rectangle to the current path as a complete subpath. + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the lower left corner. + + + + + The y coordinate of the lower left corner. + + + + + The width of the rectangle. + + + + + The height of the rectangle. + + + + + Create a new . + + The x coordinate of the lower left corner. + The y coordinate of the lower left corner. + The width of the rectangle. + The height of the rectangle. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using the current point and (x2, y2) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the second control point. + + + + + The y coordinate of the second control point. + + + + + The x coordinate of the end point of the curve. + + + + + The y coordinate of the end point of the curve. + + + + + Create a new . + + The x coordinate of the second control point. + The y coordinate of the second control point. + The x coordinate of the end point. + The y coordinate of the end point. + + + + + + + + + + + + + + Append a straight line segment from the current point to the point (x, y). + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the end point of the line. + + + + + The y coordinate of the end point of the line. + + + + + Create a new . + + The x coordinate of the line's end point. + The y coordinate of the line's end point. + + + + + + + + + + + + + + Begin a new subpath by moving the current point to coordinates (x, y), omitting any connecting line segment. + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate for the subpath to begin at. + + + + + The y coordinate for the subpath to begin at. + + + + + Create a new . + + The x coordinate. + The y coordinate. + + + + + + + + + + + + + + Close the current subpath by appending a straight line segment from the current point to the starting point of the subpath. + If the current subpath is already closed, this does nothing. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close and stroke the path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close, fill, and then stroke the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close, fill, and then stroke the path, using the nonzero winding number rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End path without filling or stroking. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill and then stroke the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill the path, using the nonzero winding number rule to determine the region to fill. + Any subpaths that are open are implicitly closed before being filled. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill and then stroke the path, using the nonzero winding number rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Equivalent to included only for compatibility. + Although PDF consumer applications must be able to accept this operator, PDF producer applications should use instead. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Stroke the path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the nonstroking color based on the current color space. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color, 1 for grayscale, 3 for RGB, 4 for CMYK. + + + + + Create a new . + + The color operands. + + + + + + + + + + + + + + Set the stroking color based on the current color space with support for Pattern, Separation, DeviceN, and ICCBased color spaces. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color. + + + + + The name of an entry in the Pattern subdictionary of the current resource dictionary. + + + + + Create a new . + + The color operands. + + + + Create a new . + + The color operands. + The pattern name. + + + + + + + + + + + + + + Set the non-stroking color space to DeviceCMYK and set the color to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The cyan level between 0 and 1. + + + + + The magenta level between 0 and 1. + + + + + The yellow level between 0 and 1. + + + + + The key level between 0 and 1. + + + + + Create a new . + + The cyan level. + The magenta level. + The yellow level. + The key level. + + + + + + + + + + + + + + Set the gray level for non-stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The gray level between 0 (black) and 1 (white). + + + + + Create a new . + + The gray level. + + + + + + + + + + + + + + Set RGB color for non-stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The red level between 0 and 1. + + + + + The green level between 0 and 1. + + + + + The blue level between 0 and 1. + + + + + Create a new . + + The red level. + The green level. + The blue level. + + + + + + + + + + + + + + Set the current color space to use for nonstroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the color space. + + + + + Create a new . + + The name of the color space. + + + + + + + + + + + + + + Set the stroking color based on the current color space. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color, 1 for grayscale, 3 for RGB, 4 for CMYK. + + + + + Create a new . + + The color operands. + + + + + + + + + + + + + + Set the stroking color based on the current color space with support for Pattern, Separation, DeviceN, and ICCBased color spaces. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color. + + + + + The name of an entry in the Pattern subdictionary of the current resource dictionary. + + + + + Create a new . + + The color operands. + + + + Create a new . + + The color operands. + The pattern name. + + + + + + + + + + + + + + Set the stroking color space to DeviceCMYK and set the color to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The cyan level between 0 and 1. + + + + + The magenta level between 0 and 1. + + + + + The yellow level between 0 and 1. + + + + + The key level between 0 and 1. + + + + + Create a new . + + The cyan level. + The magenta level. + The yellow level. + The key level. + + + + + + + + + + + + + + Set the gray level for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The gray level between 0 (black) and 1 (white). + + + + + Create a new . + + The gray level. + + + + + + + + + + + + + + Set RGB color for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The red level between 0 and 1. + + + + + The green level between 0 and 1. + + + + + The blue level between 0 and 1. + + + + + Create a new . + + The red level. + The green level. + The blue level. + + + + + + + + + + + + + + Set the current color space to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the color space. + + + + + Create a new . + + The name of the color space. + + + + + + + + + + + + + + Modify the current transformation matrix by concatenating the specified matrix. + + + + + The symbol for this operation in a stream. + + + + + + + + The 6 values for the transformation matrix. + + + + + Create a new . + + The 6 transformation matrix values. + + + + + + + + + + + + + + Restore the graphics state by removing the most recently saved state from the stack and making it the current state. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Save the current graphics state on the graphics state stack. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the specified parameters in the graphics state using the ExtGState subdictionary with the given name. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of a graphics state parameter dictionary in the ExtGState subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the ExtGState dictionary. + + + + + + + + + + + + + + Begin a text object, initializing the text matrix and the text line matrix to the identity matrix. Text objects cannot be nested. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End a text object, discarding the text matrix. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Move to the start of the next line. + + + This performs this operation: 0 -Tl Td + The offset is negative leading text (Tl) value, this is incorrect in the specification. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Move to the start of the next line offset by Tx Ty. + + + Performs the following operation: + 1 0 0
+ Tm = Tlm = 0 1 0 * Tlm
+ tx ty 1 +
+
+ + + The symbol for this operation in a stream. + + + + + + + + The x value of the offset. + + + + + The y value of the offset. + + + + + Create a new . + + The x offset. + The y offset. + + + + + + + + + + + + + + Move to the start of the next line, offset from the start of the current line by (tx, ty). + This operator also sets the leading parameter in the text state. + + + + + The symbol for this operation in a stream. + + + + + + + + The x value of the offset. + + + + + The y value of the offset and the inverse of the leading parameter. + + + + + Create a new . + + The x value of the offset. + The y value of the offset and the inverse of the leading parameter. + + + + + + + + + + + + + + Set the text matrix and the text line matrix. + + + + + The symbol for this operation in a stream. + + + + + + + + The values of the text matrix. + + + + + Create a new . + + The values of the text matrix. + + + + + + + + + + + + + + Move to the next line and show a text string. + + + + + The symbol for this operation in a stream. + + + + + + + + The text to show as a . + + + + + The text to show as hex bytes. + + + + + Create a new . + + The text to show. + + + + Create a new . + + The bytes of the text to show. + + + + + + + + + + + + + + Move to the next line and show a text string, using the first number as the word spacing and the second as the character spacing. + + + + + The symbol for this operation in a stream. + + + + + + + + The word spacing. + + + + + The character spacing. + + + + + The bytes of the text. + + + + + The text to show. + + + + + Create a new . + + The word spacing. + The character spacing. + The text to show. + + + + Create a new . + + The word spacing. + The character spacing. + The bytes of the text to show. + + + + + + + + + + + + + + Show a text string + + + The input is a sequence of character codes to be shown as glyphs. + + Generally each byte represents a single character code, however starting in version 1.2+ + a composite font might use multi-byte character codes to map to glyphs. + For these composite fonts, the of the font defines the mapping from code to glyph. + + + The grouping of character codes in arguments to this operator does not have any impact on the meaning; for example:
+ (Abc) Tj is equivalent to (A) Tj (b) Tj (c) Tj
+ However grouping character codes makes the document easier to search and extract text from. +
+
+
+ + + The symbol for this operation in a stream. + + + + + + + + The text string to show. + + + + + The bytes of the string to show. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Show one or more text strings, allowing individual glyph positioning. + Each element of array can be a string or a number. + If the element is a string, this operator shows the string. + If it is a number, the operator adjusts the text position by that amount + + + + + The symbol for this operation in a stream. + + + + + + + + The array elements. + + + + + Create a new . + + The array elements. + + + + + + + + + + + Set the character spacing to a number expressed in unscaled text space units. + Initial value: 0. + + + + + The symbol for this operation in a stream. + + + + + + + + The character spacing. + + + + + Create a new . + + The character spacing. + + + + + + + + + + + + + + Set the font and the font size. + Font is the name of a font resource in the Font subdictionary of the current resource dictionary. + Size is a number representing a scale factor. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the font as defined in the resource dictionary. + + + + + The font program defines glyphs for a standard size. This standard size is set so that each line of text will occupy 1 unit in user space. + The size is the scale factor used to scale glyphs from the standard size to the display size rather than the font size in points. + + + + + Create a new . + + The font name. + The font size. + + + + + + + + + + + + + + + + The symbol for this operation in a stream. + + + + + + + + A number specifying the percentage of the normal width. + + + + + Create a new . + + The horizontal scaling percentage. + + + + + + + + + + + + + + Set the text leading. + + + + + The symbol for this operation in a stream. + + + + + + + + The text leading in unscaled text space units. + + + + + Create a new . + + The text leading. + + + + + + + + + + + + + + Set the text rendering mode. + + + + + The symbol for this operation in a stream. + + + + + + + + The text rendering mode to set. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set text rise. + + + + + The symbol for this operation in a stream. + + + + + + + + The amount of text rise - how far to move the baseline up or down from its default location. + + + + + Create a new . + + The text rise. + + + + + + + + + + + + + Sets the word spacing. + + + + + The symbol for this operation in a stream. + + + + + + + + Sets the width of the space ' ' character. For horizontal + writing positive values increase the gap between words separated by space, for vertical writing + positive values decrease the gap. + + + + + Create a new . + + The word spacing. + + + + + + + + + + + + + + Set width information for the glyph and declare that the glyph description specifies both its shape and its color for a Type 3 font. + wx specifies the horizontal displacement in the glyph coordinate system; + it must be consistent with the corresponding width in the font's Widths array. + wy must be 0. + + + + + The symbol for this operation in a stream. + + + + + + + + The horizontal displacement in the glyph coordinate system. + + + + + The vertical displacement in the glyph coordinate system. Must be 0. + + + + + Create a new . + + The horizontal displacement in the glyph coordinate system. + The vertical displacement in the glyph coordinate system. + + + + + + + + + + + + + + Set width information for the glyph and declare that the glyph description specifies both its shape and its color for a Type 3 font. + Also sets the glyph bounding box. + + + + + The symbol for this operation in a stream. + + + + + + + + The horizontal displacement in the glyph coordinate system. + + + + + The vertical displacement in the glyph coordinate system. Must be 0. + + + + + The lower left x coordinate of the glyph bounding box. + + + + + The lower left y coordinate of the glyph bounding box. + + + + + The upper right x coordinate of the glyph bounding box. + + + + + The upper right y coordinate of the glyph bounding box. + + + + + Create a new . + + The horizontal displacement in the glyph coordinate system. + The vertical displacement in the glyph coordinate system. + The lower left x coordinate of the glyph bounding box. + The lower left y coordinate of the glyph bounding box. + The upper right x coordinate of the glyph bounding box. + The upper right y coordinate of the glyph bounding box. + + + + + + + + + + + + + A path is made up of one or more disconnected subpaths, each comprising a sequence of connected segments. The topology of the path is unrestricted: it may be concave or convex, may contain multiple subpaths representing disjoint areas, and may intersect itself in arbitrary ways. + A path shall be composed of straight and curved line segments, which may connect to one another or may be disconnected. + + + + + Rules for determining which points lie inside/outside the path. + + + + + Returns true if this is a clipping path. + + + + + Returns true if the path is filled. + + + + + The fill color. + + + + + Returns true if the path is stroked. + + + + + The stroke color. + + + + + Thickness in user space units of path to be stroked. + + + + + The pattern to be used for stroked lines. + + + + + The cap style to be used for stroked lines. + + + + + The join style to be used for stroked lines. + + + + + Set the clipping mode for this path and IsClipping to true. + IsFilled and IsStroked flags will be set to false. + + + + + Set the filling rule for this path and IsFilled to true. + + + + + Set IsStroked to true. + + + + + Create a clone with no Subpaths. + + + + + Gets a which entirely contains the geometry of the defined path. + + For paths which don't define any geometry this returns . + + + + Manages the Text Matrix (Tm), Text line matrix (Tlm) and used to generate the Text Rendering Matrix (Trm). + + + + + The current text matrix (Tm). + + + + + Captures the value of the at the beginning of a line of text. + This is convenient for aligning evenly spaced lines of text. + + + + + An XObject content record. + + + + + The XObject type. + + + + + The XObject stream. + + + + + The applied transformation. + + + + + The default rendering intent. + + + + + The default color space. + + + + + Utility for working with the bytes in s and converting according to their .s + + + + + Converts the output bytes (if available) of + to actual pixel values using the . For most images this doesn't + change the data but for it will convert the bytes which are indexes into the + real pixel data into the real pixel data. + + + + + Information read from a JPEG image. + + + + + Width of the image in pixels. + + + + + Height of the image in pixels. + + + + + Bits per component. + + + + + Create a new . + + + + + Indicates that this is a baseline DCT-based JPEG, and specifies the width, height, number of components, and component subsampling. + + + + + Indicates that this is a progressive DCT-based JPEG, and specifies the width, height, number of components, and component subsampling. + + + + + Specifies one or more Huffman tables. + + + + + Begins a top-to-bottom scan of the image. In baseline images, there is generally a single scan. + Progressive images usually contain multiple scans. + + + + + Specifies one or more quantization tables. + + + + + Specifies the interval between RSTn markers, in Minimum Coded Units (MCUs). + This marker is followed by two bytes indicating the fixed size so it can be treated like any other variable size segment. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Marks the start of a JPEG image file. + + + + + Marks the end of a JPEG image file. + + + + + Marks a text comment. + + + + + For a given pass number (1 indexed) the scanline indexes of the lines included in that pass in the 8x8 grid. + + + + + Used to calculate the Adler-32 checksum used for ZLIB data in accordance with + RFC 1950: ZLIB Compressed Data Format Specification. + + + + + Calculate the Adler-32 checksum for some data. + + + + + The header for a data chunk in a PNG file. + + + + + The position/start of the chunk header within the stream. + + + + + The length of the chunk in bytes. + + + + + The name of the chunk, uppercase first letter means the chunk is critical (vs. ancillary). + + + + + Whether the chunk is critical (must be read by all readers) or ancillary (may be ignored). + + + + + A public chunk is one that is defined in the International Standard or is registered in the list of public chunk types maintained by the Registration Authority. + Applications can also define private (unregistered) chunk types for their own purposes. + + + + + Whether the (if unrecognized) chunk is safe to copy. + + + + + Create a new . + + + + + + + + Describes the interpretation of the image data. + + + + + Grayscale. + + + + + Colors are stored in a palette rather than directly in the data. + + + + + The image uses color. + + + + + The image has an alpha channel. + + + + + The method used to compress the image data. + + + + + Deflate/inflate compression with a sliding window of at most 32768 bytes. + + + + + 32-bit Cyclic Redundancy Code used by the PNG for checking the data is intact. + + + + + Calculate the CRC32 for data. + + + + + Calculate the CRC32 for data. + + + + + Calculate the combined CRC32 for data. + + + + + Computes a simple linear function of the three neighboring pixels (left, above, upper left), + then chooses as predictor the neighboring pixel closest to the computed value. + + + + + Indicates the pre-processing method applied to the image data before compression. + + + + + Adaptive filtering with five basic filter types. + + + + + The raw byte is unaltered. + + + + + The byte to the left. + + + + + The byte above. + + + + + The mean of bytes left and above, rounded down. + + + + + Byte to the left, above or top-left based on Paeth's algorithm. + + + + + Enables execution of custom logic whenever a chunk is read. + + + + + Called by the PNG reader after a chunk is read. + + + + + The high level information about the image. + + + + + The width of the image in pixels. + + + + + The height of the image in pixels. + + + + + The bit depth of the image. + + + + + The color type of the image. + + + + + The compression method used for the image. + + + + + The filter method used for the image. + + + + + The interlace method used by the image.. + + + + + Create a new . + + + + + + + + Indicates the transmission order of the image data. + + + + + No interlace. + + + + + Adam7 interlace. + + + + + Creates a palette object. Input palette data length from PLTE chunk must be a multiple of 3. + + + + + Adds transparency values from tRNS chunk. + + + + + A pixel in a image. + + + + + The red value for the pixel. + + + + + The green value for the pixel. + + + + + The blue value for the pixel. + + + + + The alpha transparency value for the pixel. + + + + + Whether the pixel is grayscale (if , and will all have the same value). + + + + + Create a new . + + The red value for the pixel. + The green value for the pixel. + The blue value for the pixel. + The alpha transparency value for the pixel. + Whether the pixel is grayscale. + + + + Create a new which has false and is fully opaque. + + The red value for the pixel. + The green value for the pixel. + The blue value for the pixel. + + + + Create a new grayscale . + + The grayscale value. + + + + + + + Whether the pixel values are equal. + + The other pixel. + if all pixel values are equal otherwise . + + + + + + + + + + A PNG image. Call to open from file or bytes. + + + + + The header data from the PNG image. + + + + + The width of the image in pixels. + + + + + The height of the image in pixels. + + + + + Whether the image has an alpha (transparency) layer. + + + + + Get the pixel at the given column and row (x, y). + + + Pixel values are generated on demand from the underlying data to prevent holding many items in memory at once, so consumers + should cache values if they're going to be looped over many time. + + The x coordinate (column). + The y coordinate (row). + The pixel at the coordinate. + + + + Read the PNG image from the stream. + + The stream containing PNG data to be read. + Optional: A visitor which is called whenever a chunk is read by the library. + The data from the stream. + + + + Read the PNG image from the bytes. + + The bytes of the PNG data to be read. + Optional: A visitor which is called whenever a chunk is read by the library. + The data from the bytes. + + + + Read the PNG from the file path. + + The path to the PNG file to open. + Optional: A visitor which is called whenever a chunk is read by the library. + This will open the file to obtain a so will lock the file during reading. + The data from the file. + + + + Used to construct PNG images. Call to make a new builder. + + + + + Create a builder for a PNG with the given width and size. + + + + + Sets the RGB pixel value for the given column (x) and row (y). + + + + + Set the pixel value for the given column (x) and row (y). + + + + + Get the bytes of the PNG file for this builder. + + + + + Write the PNG file bytes to the provided stream. + + + + + The code to execute whenever a chunk is read. Can be . + + + + + Whether to throw if the image contains data after the image end marker. + by default. + + + + + Provides convenience methods for indexing into a raw byte array to extract pixel values. + + + + + Create a new . + + The decoded pixel data as bytes. + The number of bytes in each pixel. + The palette for the image. + The image header. + + + + but without being a public API/ + + + + Default constructor. + + + Default constructor. + + + Create a random access buffer using the given byte array. + + @param input the byte array to be read + + + Create a random access buffer of the given input stream by copying the data. + + @param input the input stream to be read + @throws IOException if something went wrong while copying the data + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + create a new buffer chunk and adjust all pointers and indices. + + + switch to the next buffer chunk and reset the buffer pointer. + + + Ensure that the RandomAccessBuffer is not closed + @throws IOException + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + + Logs internal messages from the PDF parsing process. Consumers can provide their own implementation + in the to intercept log messages. + + + + + Record an informational debug message. + + + + + Record an informational debug message with exception. + + + + + Record an warning message due to a non-error issue encountered in parsing. + + + + + Record an error message due to an issue encountered in parsing. + + + + + Record an error message due to an issue encountered in parsing with exception. + + + + + A node in the (also known as outlines) of a PDF document. + + + + + The text displayed for this node. + + + + + The bookmark's sub-bookmarks. + + + + + Whether this node is a leaf node (has no children). + + + + + The node's level in the hierarchy. + + + + + Create a new . + + + + + The bookmarks in a PDF document. + + + + + The roots of the bookmarks' node tree. + + + + + Create a new . + + + + + Get all nodes. + + + + + Extract bookmarks, if any. + + + + + Extract bookmarks recursively. + + + + + Get explicit destination or a named destination (Ref 12.3.2.3) from dictionary + + + Token name, can be D or Dest + + + + in case we are looking up a destination for a GoToR (Go To Remote) action: pass in true + to enforce a check for indirect page references (which is not allowed for GoToR) + + + + + + A destination location in the same file. + + + + + The page number (1-based) of the destination. + + + + + The display type of the destination. + + + + + The display coordinates of the destination. + + + + + Create a new . + + + + + The coordinates of the region to display for a . + + + + + An empty set of coordinates where no values have been set. + + + + + The left side of the region to display. + + + + + The top edge of the region to display. + + + + + The right side of the region to display + + + + + The bottom edge of the region to display. + + + + + Create a new . + + + + + Create a new . + + + + + Create a new . + + + + + The display type for opening an . + + + + + Display the page with the given top left coordinates and + zoom level. + + + + + Fit the entire page within the window. + + + + + Fit the entire page width within the window. + + + + + Fit the entire page height within the window. + + + + + Fit the rectangle specified by the + within the window. + + + + + Fit the page's bounding box within the window. + + + + + Fit the page's bounding box width within the window. + + + + + Fit the page's bounding box height within the window. + + + + + Named destinations in a PDF document + + + + + Dictionary containing explicit destinations, keyed by name + + + + + Pages are required for getting explicit destinations + + + + + Constructor + + + + + + + + A node in the of a PDF document which corresponds + to a location in the current document. + + + + + The page number where the bookmark is located. + + + + + The destination of the bookmark in the current document. + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a location in an embedded file. + + + + + The file specification for the embedded file + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a location in an external file. + + + + + The name of the file containing this bookmark. + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a uniform resource identifier on the Internet. + + + + + The uniform resource identifier to resolve. + + + + + + Create a new . + + + + + + + + Parse the dictionary from a PDF file trailer. + + + + + Convert the file trailer dictionary into a instance. + + + + + Check that the offsets in the cross reference are correct. + + + + + Used to retrieve the version header from the PDF file. + + + The first line of a PDF file should be a header consisting of the 5 characters %PDF– followed by a version number of the form 1.N, where N is a digit between 0 and 7. + A conforming reader should accept files with any of the following headers: + %PDF–1.0 + %PDF–1.1 + %PDF–1.2 + %PDF–1.3 + %PDF–1.4 + %PDF–1.5 + %PDF–1.6 + %PDF–1.7 + This parser allows versions up to 1.9. + For versions equal or greater to PDF 1.4, the optional Version entry in the document's catalog dictionary should be used instead of the header version. + + + + + The %%EOF may be further back in the file. + + + + + For objects which provide document scoped caching. + + + + + Brute force search for all objects in the document. + + + + + Find the offset of every object contained in the document by searching the entire document contents. + + The bytes of the document. + The object keys and offsets for the objects in this document. + + + + The array representing the size of the fields in a cross reference stream. + + + + + The type of the entry. + + + + + Type 0 and 2 is the object number, Type 1 this is the byte offset from beginning of file. + + + + + For types 0 and 1 this is the generation number. For type 2 it is the stream index. + + + + + How many bytes are in a line. + + + + + Parses through the unfiltered stream and populates the xrefTable HashMap. + + + + + Each subsection of the cross-reference table starts with a line defining the starting object number + and the count of objects in the subsection. + + + xref + 12 16 + ... + + Defines a table subsection that starts with object 12 and has 16 entries (12-27). + + + + + The first object number in the table. + + + + + The number of consecutive objects declared in the table. + + + + + Create a new to define a range of consecutive objects in the cross-reference table. + + + + + Attempts to read the from the current line of the source. + + + + + Configures options used by the parser when reading PDF documents. + + + + + A default with set to false. + + + + + Should the parser apply clipping to paths? + Defaults to . + Bezier curves will be transformed into polylines if clipping is set to . + + + + + Should the parser ignore issues where the document does not conform to the PDF specification? + + + + + The used to record messages raised by the parsing process. + + + + + The password to use to open the document if it is encrypted. If you need to supply multiple passwords to test against + you can use . The value of will be included in the list to test against. + + + + + All passwords to try when opening this document, will include any values set for . + + + + + Skip extracting content where the font could not be found, will result in some letters being skipped/missed + but will prevent the library throwing where the source PDF has some corrupted text. Also skips XObjects like + forms and images when missing. + + + + + + Provides access to document level information for this PDF document as well as access to the s contained in the document. + + + + + The metadata associated with this document. + + + + + Access to the underlying raw structure of the document. + + + + + Access to rare or advanced features of the PDF specification. + + + + + The version number of the PDF specification which this file conforms to, for example 1.4. + + + + + Get the number of pages in this document. + + + + + Whether the document content is encrypted. + + + + + Creates a for reading from the provided file bytes. + + The bytes of the PDF file. + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Opens a file and creates a for reading from the provided file path. + + The full path to the file location of the PDF file. + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Creates a for reading from the provided stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + + + A stream of the file contents, this must support reading and seeking. + The PdfDocument will not dispose of the provided stream. + + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Get the page with the specified page number (1 indexed). + + The number of the page to return, this starts from 1. + The page. + + + + Gets all pages in this document in order. + + + + + Get the document level metadata if present. + The metadata is XML in the (Extensible Metadata Platform) XMP format. + + This will throw a if called on a disposed . + The metadata stream if it exists. + if the metadata is present, otherwise. + + + + Gets the bookmarks if this document contains some. + + This will throw a if called on a disposed . + + + + Gets the form if this document contains one. + + This will throw a if called on a disposed . + An from the document or if not present. + + + + + Dispose the and close any unmanaged resources. + + + + + Extensions for PDF types. + + + + + Try and get the entry with a given name and type or look-up the object if it's an indirect reference. + + + + + Get the decoded data from this stream. + + + + + Character bounding box. + + + + + The glyph bounds. + + + + + THe width. + + + + + Specifies the character collection associated with the (CIDFont). + + + + + Identifies the issuer of the character collection. + + + + + Uniquely identifies the character collection within the parent registry. + + + + + The supplement number of the character collection. + + + + + The stack of numeric operands currently active in a CharString. + + + + + The current size of the stack. + + + + + Whether it's possible to pop a value from either end of the stack. + + + + + Remove and return the value from the top of the stack. + + The value from the top of the stack. + + + + Remove and return the value from the bottom of the stack. + + The value from the bottom of the stack. + + + + Adds the value to the top of the stack. + + The value to add. + + + + Removes all values from the stack. + + + + + Specifies mapping from character identifiers to glyph indices. + Can either be defined as a name in which case it must be Identity or a stream which defines the mapping. + + + + + Glyph descriptions based on Adobe Type 1 format. + + + + + Glyph descriptions based on TrueType format. + + + + + A CID font contains glyph descriptions accessed by + CID (character identifier) as character selectors. + + + A CID font contains information about a CIDFont program but is + not itself a font. It can only be a descendant of a Type 0 font. + + + + + + + + + + Either Type0 (Adobe Type 1 font) or Type2 (TrueType font). + + + + + The PostScript name of the CIDFont. + + + + + The definition of the character collection for the font. + + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + The glyph path for the given character code. + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + + The glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + The normalized glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + + The normalized glyph path for the given character code. + + + + Represents either an Adobe Type 1 or TrueType font program for a CIDFont. + + + + + + Type 0 CID fonts contain glyph descriptions based on the + Adobe Type 1 font format. + + + + + + Type 2 CID fonts contains glyph descriptions based on + the TrueType font format. + + + + + Defines the default position and displacement vector vertical components + for fonts which have vertical writing modes. + + + + + The default value of if not defined by a font. + + + + + The vertical component of the position vector. + + + The full position vector unless overridden by the W2 array is: + (w0/2, Position) + Where w0 is the width of the given glyph. + + + + + The vertical component of the displacement vector. + + + The full displacement vector is: + (0, Displacement) + + + + + Create a new . + + + + + Get the full position vector for a given glyph. + + + + + Get the full displacement vector. + + + + + + + + Glyphs from fonts which support vertical writing mode define displacement and position vectors. + The position vector specifies how the horizontal writing origin is transformed into the vertical writing origin. + The displacement vector specifies how far to move vertically before drawing the next glyph. + + + + + The default position and displacement vectors where not overridden. + + + + + Overrides displacement vector y components for glyphs specified by CID code. + + + + + Overrides position vector (x and y) components for glyphs specified by CID code. + + + + + Create new . + + + + + Get the position vector used to convert horizontal glyph origin to vertical origin. + + + + + Get the displacement vector used to move the origin to the next glyph location after drawing. + + + + + A mutable class used when parsing and generating a . + + + + + Defines the character collection associated CIDFont/s for this CMap. + + + + + An that determines the writing mode for any CIDFont combined with this CMap. + 0: Horizontal + 1: Vertical + + + Defined as optional. + + + + + The PostScript name of the CMap. + + + Defined as required. + + + + + Defines the version of this CIDFont file. + + + Defined as optional. + + + + + Defines changes to the internal structure of Character Map files + or operator semantics. + + + Defined as required. + + + + + Maps from a single character code to its CID. + + + + + The character code. + + + + + The CID to map to. + + + + + Creates a new single mapping from a character code to a CID. + + + + + Associates the beginning and end of a range of character codes with the starting CID for the range. + + + + + The beginning of the range of character codes. + + + + + The end of the range of character codes. + + + + + The CID associated with the beginning character code. + + + + + Creates a new to associate a range of character codes to a range of CIDs. + + The first character code in the range. + The last character code in the range. + The first CID for the range. + + + + Determines if this contains a mapping for the character code. + + + + + Attempts to map the given character code to the corresponding CID in this range. + + Character code + The CID if found. + if the character code maps to a CID in this range or if the character is out of range. + + + + The CMap (character code map) maps character codes to character identifiers (CIDs). + The set of characters which a CMap refers to is the "character set" (charset). + + + + + Defines the type of the internal organization of the CMap file. + + + + + Defines the name of the CMap file. + + + + + The version number of the CIDFont file. + + + + + Describes the set of valid input character codes. + + + + + Associates ranges of character codes with their corresponding CID values. + + + + + Overrides CID mappings for single character codes. + + + + + Controls whether the font associated with the CMap writes horizontally or vertically. + + + + + Issue #202 seems to indicate empty codespace ranges are possible. + + + + + Returns the sequence of Unicode characters for the given character code. + + Character code + Unicode characters(may be more than one, e.g "fi" ligature) + if this character map contains an entry for this code, otherwise. + + + + Converts a character code to a CID. + + The character code. + The corresponding CID for the character code. + + + + A codespace range is specified by a pair of codes of some particular length giving the lower and upper bounds of that range. + + + + + The lower-bound of this range. + + + + + The upper-bound of this range. + + + + + The lower-bound of this range as an integer. + + + + + The upper-bound of this range as an integer. + + + + + The number of bytes for numbers in this range. + + + + + Creates a new instance of . + + + + + Returns if the given code bytes match this codespace range. + + + + + Returns true if the given code bytes match this codespace range. + + + + + Defines the information content (actual text) of the font + as opposed to the display format. + + + + + Does the font provide a CMap to map CIDs to Unicode values? + + + + + Is this document (unexpectedly) using a predefined Identity-H/V CMap as its ToUnicode CMap? + + + + + Defines glyphs using a CIDFont + + + + + + + + + + + Holds the location and type of the stream containing the corresponding font program. + + + This can either be a Type 1 font program (FontFile - ), + a TrueType font program (FontFile2 - ) or a font program + whose format is given by the Subtype of the stream dictionary (FontFile3 - ). + At most only 1 of these entries is present. + + + + + The object containing the stream for this font program. + + + + + The type of the font program represented by this descriptor. + + + + + Create a new . + + + + + The type of font program represented by the stream used by this font descriptor. + + + + + A Type 1 font program. + + + + + A TrueType font program. + + + + + A type defined by the stream dictionary's Subtype entry. + + + + + Specifies metrics and attributes of a simple font or CID Font for the whole font rather than per-glyph. + + + + Provides information to enable consumer applications to find a substitute font when the font is unavailable. + + + Font descriptors are not used with Type 0 fonts. + + + A font descriptor is a dictionary used to specify various attributes. + + + + + + The PostScript name for the font. + + Required + + + + The preferred font family. + + Optional + + + + The font stretch value. + + Optional + + + + The weight/thickness of the font. + + + Possible values: + 100
+ 200
+ 300
+ 500 (normal)
+ 600
+ 700
+ 800
+ 900
+ Optional +
+
+ + + Defines various font characteristics. See . + + Required + + + + A rectangle in glyph coordinates which represents the smallest + rectangle containing all glyphs of the font. + + Required (Except Type 3) + + + + The angle in degrees counter-clockwise from vertical of the vertical + lines of the font. + The value is negative for fonts sloping right (italic fonts). + + 9 o'clock is represented by 90 degrees. 3 o'clock is -90 degrees. + Required + + + + The maximum height above the baseline for any glyph from this font (except for accents). + + Required (Except Type 3) + + + + The maximum depth below the baseline for any glyph in the font. This is negative. + + Required (Except Type 3) + + + + The spacing between consecutive lines of text. Default 0. + + Optional + + + + The vertical distance of the top of flat capital letters from the baseline. + + Required (Where Latin Characters, Except Type 3) + + + + The x height of the font. The vertical distance of the top of flat non-ascending + lowercase letters (e.g. x) from the baseline. Default 0. + + Optional + + + + The horizontal thickness of vertical stems of glyphs. + + Required (Except Type 3) + + + + The vertical thickness of horizontal stems of glyphs. Default 0. + + Optional + + + + The average glyph width in the font. Default 0. + + Optional + + + + The maximum glyph width in the font. Default 0. + + Optional + + + + The width for character codes whose widths are not present in the Widths + array of the font dictionary. Default 0. + + Optional + + + + The bytes of the font program. + + Optional + + + + The character names defined in a font subset. + + Optional + + + + Create a new . + + + + + Provides a mutable way to construct a . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Create a new . + + + + + Create the with values from this builder. + + + + + Specifies various characteristics of a font. + + + + + No flags are set. + + + + + All glyphs have the same width. + + + + + Glyphs have serifs. + + + + + There are glyphs outside the Adobe standard Latin set. + + + + + The glyphs resemble cursive handwriting. + + + + + Font uses a (sub)set of the Adobe standard Latin set. + + Cannot be set at the same time as . + + + + Font is italic. + + + + + Font contains only uppercase letters. + + + + + Lowercase letters are smaller versions of the uppercase equivalent. + + + + + Forces small bold text to be rendered bold. + + + + + Summary details of the font used to draw a glyph. + + + + + The normal weight for a font. + + + + + The bold weight for a font. + + + + + The font name. + + + + + Whether the font is bold. + + + + + The font weight, values above 500 represent bold. + + + + + Whether the font is italic. + + + + + Create a new . + + + + + + + + The font stretch. + + + + + Not specified or not a recognised value. + + + + + Ultra Condensed. + + + + + Extra Condensed. + + + + + Condensed. + + + + + Semi Condensed. + + + + + Normal + + + + + Semi Expanded + + + + + Expanded + + + + + Extra Expanded + + + + + Ultra Expanded + + + + + Font base interface. + + + + + The font name. + + + + + Is the font vertical. + + + + + The font details. + + + + + Read the character code. + + + + + Try get the unicode value. + + + + + Get the font bounding box. + + + + + Get the font transformation matrix. + + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + The glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + The normalized glyph path for the given character code. + + + + A font which supports a vertical writing mode in addition to the default horizontal writing mode. + + + + + In vertical fonts the glyph position is described by a position vector from the origin used for horizontal writing. + The position vector is applied to the horizontal writing origin to give a new vertical writing origin. + + + + + The beginbfrange and endbfrange operators map i ranges of input codes to the corresponding output code range. + + + + + Provides parsing for a certain operator type in a CID font definition. + + The type of the token preceding the operation we wish to parse. + + + + Parse the definition for this part of the CID font and write the results to the . + + + + + + + + + + + Some TrueType fonts use both the Standard 14 descriptor and the TrueType font from disk. + + + + + + + + + + + A font based on the Adobe Type 1 font format. + + + + + + + + + + + A font using one of the Adobe Standard 14 fonts. Can use a custom encoding. + + + + + + Not implemeted. + + + + + + Not implemeted. + + + + + Type 3 fonts are usually unnamed. + + + + + + Type 3 fonts do not use vector paths. Always returns false. + + + + + + Type 3 fonts do not use vector paths. Always returns false. + + + + + Render page as an image. + + + + + Render page as an image. + + The pdf page. + The scale to apply to the page (i.e. zoom level). + The output image format, if supported. + The image as a memory stream. + + + + The output image format of the . + + + + + Bitmap image format. + + + + + Jpeg/Jpg image format. + + + + + Png image format. + + + + + Tiff image format. + + + + + Gif image format. + + + + + Provides access to explore and retrieve the underlying PDF objects from the document. + + + + + The root of the document's hierarchy providing access to the page tree as well as other information. + + + + + The cross-reference table enables direct access to objects by number. + + + + + Provides access to tokenization capabilities for objects by object number. + + + + + Retrieve the tokenized object with the specified object reference number. + + The object reference number. + The tokenized PDF object from the file. + + + + Tokenizes objects from bytes in a PDF file. + + + + + Tokenize the object with a given object number. + May return null when the reference is undefined + + The object number for the object to tokenize. + The tokenized object. + + + + Adds the token to an internal cache that will be returned instead of + scanning the source PDF data. + + The object number for the object to replace. + The token to replace the existing data. + + + + Since we want to scan objects while reading the cross reference table we lazily load it when it's ready. + + + + + Indicates whether we now have a cross reference table. + + + + + Stores tokens encountered between obj - endobj markers for each call. + Cleared after each operation. + + + + + Used internally by the when reading streams to store any occurrences of 'endobj' or 'endstream' observed. + + + + + The offset at which the token started in the file. + + + + + The type, one of either or . + + + + + Create a new + + + + + Used to calculate the Adler-32 checksum used for ZLIB data in accordance with + RFC 1950: ZLIB Compressed Data Format Specification. + + + + + Calculate the Adler-32 checksum for some data. + + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage. + + + [CanBeNull] object Test() => null; + + void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null. + + + [NotNull] object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can never be null. + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can be null. + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form. + + + [StringFormatMethod("message")] + void ShowError(string message, params object[] args) { /* do something */ } + + void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + For a parameter that is expected to be one of the limited set of values. + Specify fields of which type should be used as values for this parameter. + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of . + + + void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + System.ComponentModel.INotifyPropertyChanged interface and this method + is used to notify that some property value changed. + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + public class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + string _name; + + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output. + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) for method output + means that the methos doesn't return normally (throws or terminates the process).
+ Value canbenull is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, or use single attribute + with rows separated by semicolon. There is no notion of order rows, all rows are checked + for applicability and applied per each program state tracked by R# analysis.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, + // and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("=> true, result: notnull; => false, result: null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not. + + + [LocalizationRequiredAttribute(true)] + class Foo { + string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + + class UsesNoEquality { + void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + class ComponentAttribute : Attribute { } + + [Component] // ComponentAttribute requires implementing IComponent interface + class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library), + so this symbol will not be marked as unused (as well as by other usage inspections). + + + + + Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes + as unused (as well as by other usage inspections) + + + + Only entity marked with attribute considered used. + + + Indicates implicit assignment to a member. + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type. + + + + Specify what is considered used implicitly when marked + with or . + + + + Members of entity marked with attribute are considered used. + + + Entity marked with attribute and all its members considered used. + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used. + + + + + Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. + If the parameter is a delegate, indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated while the method is executed. + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute. + + + [Pure] int Multiply(int x, int y) => x * y; + + void M() { + Multiply(123, 42); // Waring: Return value of pure method is not used + } + + + + + Indicates that the return value of method invocation must be used. + + + + + Indicates the type member or parameter of some type, that should be used instead of all other ways + to get the value that type. This annotation is useful when you have some "context" value evaluated + and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. + + + class Foo { + [ProvidesContext] IBarService _barService = ...; + + void ProcessNode(INode node) { + DoSomething(node, node.GetGlobalServices().Bar); + // ^ Warning: use value of '_barService' field + } + } + + + + + Indicates that a parameter is a path to a file or a folder within a web project. + Path can be relative or absolute, starting from web root (~). + + + + + An extension method marked with this attribute is processed by ReSharper code completion + as a 'Source Template'. When extension method is completed over some expression, it's source code + is automatically expanded like a template at call site. + + + Template method body can contain valid source code and/or special comments starting with '$'. + Text inside these comments is added as source code when the template is applied. Template parameters + can be used either as additional method parameters or as identifiers wrapped in two '$' signs. + Use the attribute to specify macros for parameters. + + + In this example, the 'forEach' method is a source template available over all values + of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: + + [SourceTemplate] + public static void forEach<T>(this IEnumerable<T> xs) { + foreach (var x in xs) { + //$ $END$ + } + } + + + + + + Allows specifying a macro for a parameter of a source template. + + + You can apply the attribute on the whole method or on any of its additional parameters. The macro expression + is defined in the property. When applied on a method, the target + template parameter is defined in the property. To apply the macro silently + for the parameter, set the property value = -1. + + + Applying the attribute on a source template method: + + [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] + public static void forEach<T>(this IEnumerable<T> collection) { + foreach (var item in collection) { + //$ $END$ + } + } + + Applying the attribute on a template method parameter: + + [SourceTemplate] + public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { + /*$ var $x$Id = "$newguid$" + x.ToString(); + x.DoSomething($x$Id); */ + } + + + + + + Allows specifying a macro that will be executed for a source template + parameter when the template is expanded. + + + + + Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. + + + If the target parameter is used several times in the template, only one occurrence becomes editable; + other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, + use values >= 0. To make the parameter non-editable when the template is expanded, use -1. + > + + + + Identifies the target parameter of a source template if the + is applied on a template method. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is + an MVC controller. If applied to a method, the MVC controller name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC + partial view. If applied to a method, the MVC partial view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component name. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component view. If applied to a method, the MVC view component view name is default. + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name. + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String). + + + + + Indicates how method, constructor invocation or property access + over collection type affects content of the collection. + + + + Method does not use or modify content of the collection. + + + Method only reads content of the collection but does not modify it. + + + Method can change content of the collection but does not add new elements. + + + Method can add new elements to the collection. + + + + Indicates that the marked method is assertion method, i.e. it halts control flow if + one of the conditions is satisfied. To set the condition, mark one of the parameters with + attribute. + + + + + Indicates the condition parameter of the assertion method. The method itself should be + marked by attribute. The mandatory argument of + the attribute is the assertion type. + + + + + Specifies assertion type. If the assertion method argument satisfies the condition, + then the execution continues. Otherwise, execution is assumed to be halted. + + + + Marked parameter should be evaluated to true. + + + Marked parameter should be evaluated to false. + + + Marked parameter should be evaluated to null value. + + + Marked parameter should be evaluated to not null value. + + + + Indicates that the marked method unconditionally terminates control flow execution. + For example, it could unconditionally throw exception. + + + + + Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, + .Where). This annotation allows inference of [InstantHandle] annotation for parameters + of delegate type by analyzing LINQ method chains. + + + + + Indicates that IEnumerable, passed as parameter, is not enumerated. + + + + + Indicates that parameter is regular expression pattern. + + + + + Prevents the Member Reordering feature from tossing members of the marked class. + + + The attribute must be mentioned in your member reordering patterns + + + + + XAML attribute. Indicates the type that has ItemsSource property and should be treated + as ItemsControl-derived type, to enable inner items DataContext type resolve. + + + + + XAML attribute. Indicates the property of some BindingBase-derived type, that + is used to bind some item of ItemsControl-derived type. This annotation will + enable the DataContext type resolve for XAML bindings for such properties. + + + Property should have the tree ancestor of the ItemsControl type or + marked with the attribute. + + + + + Helper class for dates. + + + + + Try parsing a pdf formatted date string into a . + Date values used in a PDF shall conform to a standard date format, which closely + follows that of the international standard ASN.1, defined in ISO/IEC 8824. A date shall be a text string + of the form (D:YYYYMMDDHHmmSSOHH'mm). + + The pdf formated date string, e.g. D:199812231952-08'00. + The parsed date. + True if parsed. + + + + Default Word Extractor. + + + + + Gets the words. + + The letters in the page. + + + + Create an instance of Default Word Extractor, . + + + + Utility functions for hex encoding. + + @author John Hewson + + + for hex conversion. + + https://stackoverflow.com/questions/2817752/java-code-to-convert-byte-to-hexadecimal + + + + + Returns a hex string for the given byte array. + + + + + An approach used to generate words from a set of letters. + + + + + Generate words from the input set of letters. + + The letters to generate words for. + An enumerable of words from this approach. + + + + The identity matrix. The result of multiplying a matrix with + the identity matrix is the matrix itself. + + + + + Creates a 3x3 matrix with the following layout: + + | m11 m12 m13 | + | m21 m22 m23 | + | m31 m32 m33 | + + + + + + Returns a new matrix that is the inverse of this matrix (i.e. multiplying a matrix with + its inverse matrix yields the identity matrix). + + If an inverse matrix does not exist, null is returned. + + + + + Returns a new matrix with each element being a mulitple of the supplied factor. + + + + + Multiplies this matrix with the supplied 3-element vector + and returns a new 3-element vector as the result. + + + + + Returns a new matrix that is the 'dot product' of this matrix + and the supplied matrix. + + + + + Returns a new matrix that is the transpose of this matrix + (i.e. the tranpose of a matrix, is a matrix with its rows + and column interchanged) + + + + + Measures of whitespace size based on point size. + + + + + Get the average whitespace sized expected for a given letter. + + + + + Check if the measured gap is probably big enough to be a whitespace character based on the letter. + + + + + Sets if the stream writer should attempt to deduplicate objects. + May not have any affect if does not + support deduplication. + + + + + The underlying stream used by the writer. + + + + + Writes a single token to the stream. + + Token to write. + Indirect reference to the token. + + + + Writes a token to a reserved object number. + + Token to write. + Reserved indirect reference. + Reserved indirect reference. + + + + Reserves an object number for an object to be written. + Useful with cyclic references where object number must be known before + writing. + + A reserved indirect reference. + + + + Initializes the PDF stream with pdf header. + + Version of PDF. + + + + Completes the PDF writing trailing PDF information. + + Indirect reference of catalog. + Reference to document information (optional) + + + + Writes any type of to the corresponding PDF document format output. + + + + + Writes the given input token to the output stream with the correct PDF format and encoding including whitespace and line breaks as applicable. + + The token to write to the stream. + The stream to write the token to. + + + + Writes pre-serialized token as an object token to the output stream. + + Object number of the indirect object. + Generation of the indirect object. + Pre-serialized object contents. + The stream to write the token to. + + + + Writes a valid single section cross-reference (xref) table plus trailer dictionary to the output for the set of object offsets. + + The byte offset from the start of the document for each object in the document. + The object representing the catalog dictionary which is referenced from the trailer dictionary. + The output stream to write to. + The object reference for the document information dictionary if present. + + + + Derived class of that does not write or operations in streams + + + + + Write stream without or operations + + + + + + + Try get a stream without or operations. + + + + true if any text operation found (and we have a valid without the text operations), + false if no text operation found (in which case is null) + + + + The standard of PDF/A compliance for generated documents. + + + + + No PDF/A compliance. + + + + + Compliance with PDF/A1-B. Level B (basic) conformance are standards necessary for the reliable reproduction of a document's visual appearance. + + + + + Compliance with PDF/A1-A. Level A (accessible) conformance are PDF/A1-B standards in addition to features intended to improve a document's accessibility. + + + + + Compliance with PDF/A2-B. Level B (basic) conformance are standards necessary for the reliable reproduction of a document's visual appearance. + + + + + Compliance with PDF/A2-A. Level A (accessible) conformance are PDF/A2-B standards in addition to features intended to improve a document's accessibility. + + + + + Compliance with PDF/A3-B. Level B (basic) conformance are PDF/A2-B standards in addition to support for embedded files + + + + + Compliance with PDF/A3-A. Level A (accessible) conformance are PDF/A3-B standards in addition to features intended to improve a document's accessibility. + + + + + A hash combiner that is implemented with the Fowler/Noll/Vo algorithm (FNV-1a). This is a mutable struct for performance reasons. + + + + + The starting point of the FNV hash. + + + + + The prime number used to compute the FNV hash. + + + + + Gets the current result of the hash function. + + + + + Creates a new FNV hash initialized to . + + + + + Adds the specified byte to the hash. + + The byte to hash. + + + + Adds the specified integer to this hash, in little-endian order. + + The integer to hash. + + + + Provides methods to construct new PDF documents. + + + + + The standard of PDF/A compliance of the generated document. Defaults to . + + + + + Whether to include the document information dictionary in the produced document. + + + + + The values of the fields to include in the document information dictionary. + + + + + The bookmark nodes to include in the document outline dictionary. + + + + + The current page builders in the document and the corresponding 1 indexed page numbers. Use + or to add a new page. + + + + + The fonts currently available in the document builder added via or . Keyed by id for internal purposes. + + + + + Creates a document builder keeping resources in memory. + + + + + Creates a document builder keeping resources in memory. + + Pdf version to use in header. + + + + Creates a document builder using the supplied stream. + + Steam to write pdf to. + If stream should be disposed when builder is. + Type of pdf stream writer to use + Pdf version to use in header. + Token writer to use + + + + Determines whether the bytes of the TrueType font file provided can be used in a PDF document. + + The bytes of a TrueType font file. + Any reason messages explaining why the file can't be used, if applicable. + if the file can be used, otherwise. + + + + Adds a TrueType font to the builder so that pages in this document can use it. + + The bytes of a TrueType font. + An identifier which can be passed to . + + + + Adds one of the Standard 14 fonts which are included by default in PDF programs so that pages in this document can use it. These Standard 14 fonts are old and possibly obsolete. + + The type of the Standard 14 font to use. + An identifier which can be passed to . + + + + Add a new page with the specified size, this page will be included in the output when is called. + + The width of the page in points. + The height of the page in points. + A builder for editing the new page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + The size of the page to add. + Whether the page is in portait or landscape orientation. + A builder for editing the new page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + Source document. + Page to copy. + A builder for editing the page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + Source document. + Page to copy. + If set, links are copied based on the result of the delegate. + A builder for editing the page. + + + + Builds a PDF document from the current content of this builder and its pages. + + The bytes of the resulting PDF document. + + + + A key representing a font available to use on the current document builder. Create by adding a font to a document using either + or . + + + + + The Id uniquely identifying this font on the builder. + + + + + Reference to the added font. + + + + + Create a new . + + + + + Sets the values of the dictionary for the document being created. + Control inclusion of the document information dictionary on the output with . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + Disposes underlying stream if set to do so. + + + + + Merges PDF documents into each other. + + + + + Merge two PDF documents together with the pages from followed by . + + + + + Merge two PDF documents together with the pages from followed by into the output stream. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided into the output stream + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided into the output stream + + + + + Merge the set of PDF documents. + + + + + Merge the set of PDF documents into the output stream + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + + A list of streams for the files contents, this must support reading and seeking. + + Must be writable + + + + + + + + A builder used to add construct a page in a PDF document. + + + + + The number of this page, 1-indexed. + + + + + The current size of the page. + + + + + Access to the underlying data structures for advanced use cases. + + + + + Access to + + + + + Allow to append a new content stream before the current one and select it + + + + + Allow to append a new content stream after the current one and select it + + + + + Select a content stream from the list, by his index + + index of the content stream to be selected + + + + Draws a line on the current page between two points with the specified line width. + + The first point on the line. + The last point on the line. + The width of the line in user space units. + + + + Draws a rectangle on the current page starting at the specified point with the given width, height and line width. + + The position of the rectangle, for positive width and height this is the bottom-left corner. + The width of the rectangle. + The height of the rectangle. + The width of the line border of the rectangle. + Whether to fill with the color set by . + + + + Set the number of degrees by which the page is rotated clockwise when displayed or printed. + + + + + Draws a triangle on the current page with the specified points and line width. + + Position of the first corner of the triangle. + Position of the second corner of the triangle. + Position of the third corner of the triangle. + The width of the line border of the triangle. + Whether to fill with the color set by . + + + + Draws a circle on the current page centering at the specified point with the given diameter and line width. + + The center position of the circle. + The diameter of the circle. + The width of the line border of the circle. + Whether to fill with the color set by . + + + + Draws an ellipsis on the current page centering at the specified point with the given width, height and line width. + + The center position of the ellipsis. + The width of the ellipsis. + The height of the ellipsis. + The width of the line border of the ellipsis. + Whether to fill with the color set by . + + + + Sets the stroke color for any following operations to the RGB value. Use to reset. + + Red - 0 to 255 + Green - 0 to 255 + Blue - 0 to 255 + + + + Sets the stroke color with the exact decimal value between 0 and 1 for any following operations to the RGB value. Use to reset. + + Red - 0 to 1 + Green - 0 to 1 + Blue - 0 to 1 + + + + Sets the fill and text color for any following operations to the RGB value. Use to reset. + + Red - 0 to 255 + Green - 0 to 255 + Blue - 0 to 255 + + + + Restores the stroke, text and fill color to default (black). + + + + + Calculates the size and position of each letter in a given string in the provided font without changing the state of the page. + + The text to measure each letter of. + The size of the font in user space units. + The position of the baseline (lower-left corner) to start drawing the text from. + + A font added to the document using + or methods. + + The letters from the input text with their corresponding size and position. + + + + Draws the text in the provided font at the specified position and returns the letters which will be drawn. + + The text to draw to the page. + The size of the font in user space units. + The position of the baseline (lower-left corner) to start drawing the text from. + + A font added to the document using + or methods. + + The letters from the input text with their corresponding size and position. + + + + Set the text rendering mode. This will apply to all future calls to AddText until called again. + + To insert invisible text, for example output of OCR, use TextRenderingMode.Neither. + + Text rendering mode to set. + + + + Adds the JPEG image represented by the input bytes at the specified location. + + + + + Adds the JPEG image represented by the input stream at the specified location. + + + + + Adds the JPEG image previously added using , + this will share the same image data to prevent duplication. + + An image previously added to this page or another page. + The size and location to draw the image on this page. + + + + Adds the image previously added using + or sharing the same image to prevent duplication. + + + + + Adds the PNG image represented by the input bytes at the specified location. + + + + + Adds the PNG image represented by the input stream at the specified location. + + + + + Copy a page from unknown source to this page + + Page to be copied + + + + Provides access to the raw page data structures for advanced editing use cases. + + + + + The operations making up the page content stream. + + + + + A key representing an image available to use for the current document builder. + Create it by adding an image to a page using . + + + + + The Id uniquely identifying this image on the builder. + + + + + The reference to the stored image XObject. + + + + + The width of the raw image in pixels. + + + + + The height of the raw image in pixels. + + + + + Create a new . + + + + + This class would lazily flush all token. Allowing us to make changes to references without need to rewrite the whole stream + + + + + Class to remove text from PDFs, useful as a preprocessing step for Optical Character Recognition (OCR). + Note that this should not be used to redact content from PDFs, this is not a secure or reliable way to redact text. + + + + + Return PDF without text as bytes + Path to PDF + List of pages to emit; if null all pages are emitted + + + + + Write PDF without text to the output stream. The caller must manage disposing the output stream. + Must be writable + Path to PDF + List of pages to emit; if null all pages are emitted + + + + + Remove text from the PDF (passed in as a byte array) and return it as a new byte array + PDF document (as byte array) + List of pages to emit; if null all pages are emitted + PDF without text (as a byte array) + + + + + Remove text from the PDF in the input stream and write it to the output stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + Streams for the file contents, this must support reading and seeking. + Must be writable + List of pages to emit; if null all pages are emitted + + + + + Remove text from the PDF and write it to the output stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + PDF document + Must be writable + List of pages to emit; if null all pages are emitted + + + + + Type of pdf writer to use. + + + + + Default output writer + + + + + De-duplicates objects while writing but requires keeping in memory reference. + + + + + Writes any type of to the corresponding PDF document format output. + + + + + Bytes that indicate start of stream + + + + + Bytes that indicate end start of stream + + + + + Single global instance + + + + + Writes the given input token to the output stream with the correct PDF format and encoding including whitespace and line breaks as applicable. + + The token to write to the stream. + The stream to write the token to. + + + + + + + + + + Write a hex value to the output stream + + + + + + + Write an array to the output stream, with whitespace at the end. + + + + + + + Write a boolean "true" or "false" to the output stream, with whitespace at the end. + + + + + + + Write a "%comment" in the output stream, with a line break at the end. + + + + + + + Writes dictionary key/value pairs to output stream as Name/Token pairs. + + + + + + + Write an indirect reference to the stream, with whitespace at the end. + + + + + + + Write a name to the stream, with whitespace at the end. + + + + + + + Write a number to the stream, with whitespace at the end. + + + + + + + Write an object to the stream, with a line break at the end. It writes the following contents: + - "[ObjectNumber] [Generation] obj" + - Object data + - "endobj" + + + + + + + Write a stream token to the output stream, with the following contents: + - Dictionary specifying the length of the stream, any applied compression filters and additional information. + - Stream start indicator + - Bytes in the StreamToken data + - Stream end indicator + + + + + + + Write string to the stream, with whitespace at the end + + + + + + + Write an integer to the stream + + + + + + + Write a line break to the output stream + + + + + + Write a long to the stream + + + + + + + Write a space to the output stream + + + + + + The purpose of this method is to resolve indirect reference. That mean copy the reference's content to the new document's stream + and replace the indirect reference with the correct/new one + + PDF stream writer + Token to inspect for reference + scanner get the content from the original document + Map of previously copied tokens for original document. + Call stack of indirect references + A reference of the token that was copied. With all the reference updated + + + + + A PostScript image XObject. + + + + + + + + + + + + + + + + + The JPX filter encodes data using the JPEG2000 compression method. + A JPEG2000 data stream allows different versions of the image to be decoded + allowing for thumbnails to be extracted. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new . + + + + + + + + + + + + + + XObject type. + + + + + Image. + + + + + Form. + + + + + PostScript. + + +
+
diff --git a/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/net6.0/UglyToad.PdfPig.xml b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/net6.0/UglyToad.PdfPig.xml new file mode 100644 index 000000000..830ac373c --- /dev/null +++ b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/net6.0/UglyToad.PdfPig.xml @@ -0,0 +1,13635 @@ + + + + UglyToad.PdfPig + + + + + A collection of interactive fields for gathering data from a user through dropdowns, textboxes, checkboxes, etc. + Each with form functionality contains a single spread across one or more pages. + + + The name AcroForm distinguishes this from the other form type called form XObjects which act as templates for repeated sections of content. + + + + + The raw PDF dictionary which is the root form object. + + + + + Document-level characteristics related to signature fields. + + + + + Whether all widget annotations need appearance dictionaries and streams. + + + + + All root fields in this form. + + + + + Create a new . + + + + + Get the set of fields which appear on the given page number. + + + + + + + + Extensions for AcroForm. + + + + + Get fields containing data in form. + + + + + Get fields containing data which are children of field. + + + + + Get string values of field. + + + + + Extracts the from the document, if available. + + + + + Retrieve the from the document, if applicable. + + The if the document contains one. + + + + Flags specifying various characteristics of a button type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + For radio buttons, one radio button must be set at all times. + + + + + The field is a set of radio buttons. + + + + + The field is a push button. + + + + + For radio buttons a group of radio buttons will toggle on/off at the same time based on their initial value. + + + + + + A set of related checkboxes. + + + + + + Create a new . + + + + + + A checkbox which may be toggled on or off. + + + + + The which define the behaviour of this button type. + + + + + The current value of this checkbox. + + + + + Whether this checkbox is currently checked/on. + + + + + + Create a new . + + + + + Flags specifying various characteristics of a choice type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + The field is a combo box. + + + + + The combo box includes an editable text box. must be set. + + + + + The options should be sorted alphabetically, this should be ignored by viewer applications. + + + + + The field allows multiple options to be selected. + + + + + The text entered in the field is not spell checked. and must be set. + + + + + Any associated field action is fired when the selection is changed rather than on losing focus. + + + + + An option in a choice field, either or . + + + + + The index of this option in the array. + + + + + Whether this option is selected. + + + + + The text of the option. + + + + + The value of the option when the form is exported. + + + + + Whether the field defined an export value for this option. + + + + + Create a new . + + + + + + + + + A combo box consisting of a drop-down list optionally accompanied by an editable text box in which the + user can type a value other than the predefined choices. + + + + + The flags specifying the behaviour of this field. + + + + + The options to be presented to the user. + + + + + The names of any currently selected options. + + + + + For multiple select lists with duplicate names gives the indices of the selected options. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The options in this field. + The indices of the selected options where there are multiple with the same name. + The names of the selected options. + The number of the page this field appears on. + The location of this field on the page. + + + + A field in an interactive . + + + + + The raw PDF dictionary for this field. + + + + + The representing the type of this field in PDF format. + + + + + The actual represented by this field. + + + + + Specifies various characteristics of the field. + + + + + The optional information common to all types of field. + + + + + The page number of the page containing this form field if known. + + + + + The placement rectangle of this form field on the page given by if known. + + + + + Create a new . + + The dictionary for this field. + The PDF string type of this field. + The flags specifying behaviour for this field. + The type of this field. + Additional information for this field. + The number of the page this field appears on. + The location of this field on the page. + + + + + + + Information from the field dictionary which is common across all field types. + All of this information is optional. + + + + + The reference to the field which is the parent of this one, if applicable. + + + + + The partial field name for this field. The fully qualified field name is the + period '.' joined name of all parents' partial names and this field's partial name. + + + + + The alternate field name to be used instead of the fully qualified field name where + the field is being identified on the user interface or by screen readers. + + + + + The mapping name used when exporting form field data from the document. + + + + + Create a new . + + + + + + + + Indicates the type of field for a . + + + + + A button that immediately to user input without retaining state. + + + + + A set of checkboxes. + + + + + A checkbox which toggles between on and off states. + + + + + A set of radio buttons. + + + + + A single radio button, as part of a set or on its own. + + + + + A textbox allowing user input through the keyboard. + + + + + A dropdown list of options with optional user-editable textbox. + + + + + A list of options for the user to select from. + + + + + A field containing a digital signature. + + + + + The field type wasn't specified. + + + + + + A scrollable list box field. + + + + + The flags specifying the behaviour of this field. + + + + + The options to be presented to the user. + + + + + The names of any currently selected options. + + + + + For multiple select lists with duplicate names gives the indices of the selected options. + + + + + For scrollable list boxes gives the index of the first visible option. + + + + + Whether the field allows multiple selections. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The options in this field. + The indices of the selected options where there are multiple with the same name. + The first visible option index. + The names of the selected options. + The number of the page this field appears on. + The location of this field on the page. + + + + + A non-leaf field in the form's structure. + + + + + The child fields of this field. + + + + + + Create a new . + + + + + + A push button responds immediately to user input without storing any state. + + + + + The which define the behaviour of this button type. + + + + + + Create a new . + + + + + + A single radio button. + + + + + The which define the behaviour of this button type. + + + + + The current value of this radio button. + + + + + Whether the radio button is currently on/active. + + + + + + Create a new . + + + + + + A set of radio buttons. + + + + + The which define the behaviour of this button type. + + + + + + Create a new . + + + + + + A digital signature field. + + + + + + Create a new . + + + + + + A text field is a box or space in which the user can enter text from the keyboard. + The text may be restricted to a single line or may be permitted to span multiple lines. + + + + + The flags specifying the behaviour of this field. + + + + + The value of the text in this text field. + This can be if no value has been set. + + + + + The optional maximum length of the text field. + + + + + Whether the field supports rich text content. + + + + + Whether the field allows multiline text. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The text value. + The maximum length. + The number of the page this field appears on. + The location of this field on the page. + + + + + + + Flags specifying various characteristics of a text type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + The field can contain multiple lines of text. + + + + + The field is for a password and should not be displayed as text and should not be stored to file. + + + + + The field represents a file path selection. + + + + + The text entered is not spell checked. + + + + + The field does not scroll if the text exceeds the bounds of the field. + + + + + For a text field which is not a , or + the field text is evenly spaced by splitting into 'combs' based on the MaxLen entry in the field dictionary. + + + + + The value of the field is a rich text string. + + + + + Specifies document level characteristics for any signature fields in the document's . + + + + + The document contains at least one signature field. + + + + + The document contains signatures which may be invalidated if the file is saved + in a way which alters its previous content rather than simply appending new content. + + + + + Abstract class for GoTo-type actions (GoTo, GoToE, GoToR) that have a destination + + + + + Destination for the GoTo-type action + + + + + Constructor + + + + + Get an action (A) from dictionary. If GoTo, GoToR or GoToE, also fetches the action destination. + + + + + Action types (PDF reference 8.5.3) + + + + + Go to a destination in the current document. + + + + + (“Go-to remote”) Go to a destination in another document. + + + + + (“Go-to embedded”; PDF 1.6) Go to a destination in an embedded file. + + + + + Launch an application, usually to open a file. + + + + + Begin reading an article thread. + + + + + Resolve a uniform resource identifier. + + + + + (PDF 1.2) Play a sound. + + + + + (PDF 1.2) Play a movie. + + + + + (PDF 1.2) Set an annotation’s Hidden flag. + + + + + (PDF 1.2) Execute an action predefined by the viewer application. + + + + + (PDF 1.2) Send data to a uniform resource locator. + + + + + (PDF 1.2) Set fields to their default values. + + + + + (PDF 1.2) Import field values from a file. + + + + + (PDF 1.3) Execute a JavaScript script. + + + + + (PDF 1.5) Set the states of optional content groups. + + + + + (PDF 1.5) Controls the playing of multimedia content. + + + + + (PDF 1.5) Updates the display of a document, using a transition dictionary. + + + + + (PDF 1.6) Set the current view of a 3D annotation + + + + + GoTo action (with a destination inside the current document) + + + + + Constructor + + + + + GoToE action (to go to a destination inside a file embedded within the PDF) + + + + + File specification of the embedded file + + + + + Constructor + + Destination within the embedded file + Specification of the embedded file + + + + GoToR action, to go to a destination in a remote PDF + + + + + Filename of the remote PDF + + + + + Constructor + + Destination within the remote PDF + Filename of the remote PDF + + + + Actions (PDF reference 8.5) + + + + + Type of action + + + + + Constructor + + + + + Action to open a URI + + + + + URI to open + + + + + Constructor + + URI to open + + + + + Provides access to rare or advanced features from the PDF specification. + + + + + Get any embedded files contained in this PDF document. + Since PDF 1.3 any external file referenced by the document may have its contents embedded within the referring PDF file, + allowing its contents to be stored or transmitted along with the PDF file. + + The set of embedded files in this document. + if this document contains more than zero embedded files, otherwise . + + + + Replaces the token in an internal cache that will be returned instead of + scanning the source PDF data for future requests. + + The object number for the object to replace. + Func that takes existing token as input and return new token. + + + + Replaces the token in an internal cache that will be returned instead of + scanning the source PDF data for future requests. + + The object number for the object to replace. + Replacement token to use. + + + + + + + An annotation on a page in a PDF document. + + + + + The underlying PDF dictionary which this annotation was created from. + + + + + The type of this annotation. + + + + + The rectangle in user space units specifying the location to place this annotation on the page. + + + + + The annotation text, or if the annotation does not display text, a description of the annotation's contents. Optional. + + + + + The name of this annotation which should be unique per page. Optional. + + + + + The date and time the annotation was last modified, can be in any format. Optional. + + + + + Flags defining the appearance and behaviour of this annotation. + + + + + Defines the annotation's border. + + + + + Rectangles defined using QuadPoints, for these are the regions used to activate the link, + for text markup annotations these are the text regions to apply the markup to. + See for more information regarding the order of the points. + + + + + Action for this annotation, if any (can be null) + + + + + Indicates if a normal appearance is present for this annotation + + + + + Indicates if a roll over appearance is present for this annotation (shown when you hover over this annotation) + + + + + Indicates if a down appearance is present for this annotation (shown when you click on this annotation) + + + + + The this annotation was in reply to. Can be + + + + + Create a new . + + + + + + + + A border for a PDF object. + + + + + The default border style if not specified. + + + + + The horizontal corner radius in user space units. + + + + + The vertical corner radius in user space units. + + + + + The width of the border in user space units. + + + + + The dash pattern for the border lines if provided. Optional. + + + + + Create a new . + + + + + + + + Specifies characteristics of an annotation in a PDF or FDF document. + + + + + Do not display the annotation if it is not one of the standard annotation types. + + + + + Do not display or print the annotation irrespective of type. Do not allow interaction. + + + + + The annotation should be included when the document is physically printed. + + + + + Do not zoom/scale the annotation as the zoom of the document is changed. + + + + + Do not rotate the annotation as the page is rotated. + + + + + Do not display the annotation in viewer applications as with , however allow the annotation to be printed if is set. + + + + + Allow the annotation to be displayed/printed if applicable but do not respond to user interaction, e.g. mouse clicks. + + + + + Do not allow deleting the annotation or changing size/position but allow the contents to be modified. + + + + + Invert the meaning of the flag. + + + + + Allow the annotation to be deleted, resized, moved or restyled but disallow changes to the annotation contents. Opposite to . + + + + + The standard annotation types in PDF documents. + + + + + A 'sticky note' style annotation displaying some text with open/closed pop-up state. + + + + + A link to elsewhere in the document or an external application/web link. + + + + + Displays text on the page. Unlike there is no associated pop-up. + + + + + Display a single straight line on the page with optional line ending styles. + + + + + Display a rectangle on the page. + + + + + Display an ellipse on the page. + + + + + Display a closed polygon on the page. + + + + + Display a set of connected lines on the page which is not a closed polygon. + + + + + A highlight for text or content with associated annotation texyt. + + + + + An underline under text with associated annotation text. + + + + + A jagged squiggly line under text with associated annotation text. + + + + + A strikeout through some text with associated annotation text. + + + + + Text or graphics intended to display as if inserted by a rubber stamp. + + + + + A visual symbol indicating the presence of text edits. + + + + + A freehand 'scribble' formed by one or more paths. + + + + + Displays text in a pop-up window for entry or editing. + + + + + A file. + + + + + A sound to be played through speakers. + + + + + Embeds a movie from a file in a PDF document. + + + + + Used by interactive forms to represent field appearance and manage user interactions. + + + + + Specifies a page region for media clips to be played and actions to be triggered from. + + + + + Represents a symbol used during the physical printing process to maintain output quality, e.g. color bars or cut marks. + + + + + Used during the physical printing process to prevent colors mixing. + + + + + Adds a watermark at a fixed size and position irrespective of page size. + + + + + Represents a 3D model/artwork, for example from CAD, in a PDF document. + + + + + A custom annotation type. + + + + + Appearance stream (PDF Reference 8.4.4) that describes what an annotation looks like. Each stream is a Form XObject. + The appearance stream is either stateless (in which case is true) + or stateful, in which case is false and the states can be retrieved via . + The states can then be used to retrieve the state-specific appearances using . + + + + + Indicates if this appearance stream is stateless, or whether you can get appearances by state. + + + + + Get list of states. If this is a stateless appearance stream, an empty collection is returned. + + + + + Constructor for stateless appearance stream + + + + + + Constructor for stateful appearance stream + + + + + + Get appearance stream for particular state + + + + + + + + + A QuadPoints quadrilateral is four points defining the region for an annotation to use. + An annotation may cover multiple quadrilaterals. + + + + + The 4 points defining this quadrilateral. + The PDF specification defines these as being in anti-clockwise order starting from the lower-left corner, however + Adobe's implementation doesn't obey the specification and points seem to go in the order: top-left, top-right, + bottom-left, bottom-right. See: https://stackoverflow.com/questions/9855814/pdf-spec-vs-acrobat-creation-quadpoints. + + + + + Create a new . + + + + + + + + + Artifacts are graphics objects that are not part of the author's original content but rather are + generated by the conforming writer in the course of pagination, layout, or other strictly mechanical + processes. + Artifacts may also be used to describe areas of the document where the author uses a graphical + background, with the goal of enhancing the visual experience. In such a case, the background is not + required for understanding the content. - PDF 32000-1:2008, Section 14.8.2.2 + + + + + The artifact's type: Pagination, Layout, Page, or (PDF 1.7) Background. + + + + + The artifact's subtype. Standard values are Header, Footer, and Watermark. + Additional values may be specified for this entry, provided they comply with the naming conventions. + + + + + The artifact's attribute owners. + + + + + The artifact's bounding box. + + + + + The names of regions this element is attached to. + + + + + Is the artifact attached to the top edge? + + + + + Is the artifact attached to the bottom edge? + + + + + Is the artifact attached to the left edge? + + + + + Is the artifact attached to the right edge? + + + + + If present, shall be one of the names Pagination, Layout, Page, or (PDF 1.7) Background. + + + + + Unknown artifact type. + + + + + Ancillary page features such as running heads and folios (page numbers). + + + + + Purely cosmetic typographical or design elements such as footnote rules or background screens. + + + + + Production aids extraneous to the document itself, such as cut marks and colour bars. + + + + + (PDF 1.7) Images, patterns or coloured blocks that either run the entire length and/or + width of the page or the entire dimensions of a structural element. Background artifacts + typically serve as a background for content shown either on top of or placed adjacent to + that background. + A background artifact can further be classified as visual content that serves to enhance the user experience, that lies under the actual content, and that is not required except to retain visual fidelity. + + + + + The root of the document's object hierarchy. Contains references to objects defining the contents, + outline, named destinations and more. + + + + + The catalog dictionary containing assorted information. + + + + + Create a new . + + + + + Defines the visible region of a page, contents expanding beyond the crop box should be clipped. + + + + + Defines the clipping of the content when the page is displayed or printed. The page's contents are to be clipped (cropped) to this rectangle + and then imposed on the output medium. + + + + + Create a new . + + + + + + + + Metadata for the PDF document. + + + + + The underlying document information PDF dictionary from the document. + + + + + The title of this document if applicable. + + + + + The name of the person who created this document if applicable. + + + + + The subject of this document if applicable. + + + + + Any keywords associated with this document if applicable. + + + + + The name of the application which created the original document before it was converted to PDF if applicable. + + + + + The name of the application used to convert the original document to PDF if applicable. + + + + + The date and time the document was created. + + + + + The date and time the document was most recently modified. + + + + + Gets the as a if it's possible to convert it, or . + + + + + Gets the as a if it's possible to convert it, or . + + + + + Gets a string representing this document information. entries are not shown. + + + + + A file embedded in a PDF document for document references. + + + + + The name given to this embedded file in the document's name tree. + + + + + The specification of the path to the file. + + + + + The decrypted bytes of the file. + + + + + The underlying embedded file stream. + + + + + + + + The offset in bytes from the start of the file to the start of the version comment. + + + + + Full details for a link annotation which references an external resource. + A link to an external resource in a document. + + + + + The area on the page which when clicked will open the hyperlink. + + + + + The text in the link region (if any). + + + + + The letters in the link region. + + + + + The URI the link directs to. + + + + + The underlying link annotation. + + + + + Create a new . + + + + + + + + + A small image that is completely defined directly inline within a 's content stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new . + + + + + + + + + + + + + + An image in a PDF document, may be an or a PostScript image XObject (). + + + + + The placement rectangle of the image in PDF coordinates. + + + + + The width of the image in samples. + + + + + The height of the image in samples. + + + + + The number of bits used to represent each color component. + + + + + The encoded bytes of the image with all filters still applied. + + + + + The color rendering intent to be used when rendering the image. + + + + + Indicates whether the image is to be treated as an image mask. + If the image is a monochrome image in which each sample + is specified by a single bit ( is 1). + The image represents a stencil where sample values represent places on the page + that should be marked with the current color or masked (not marked). + + + + + Describes how to map image samples into the values appropriate for the + . + The image data is initially composed of values in the range 0 to 2^n - 1 + where n is . + The decode array contains a pair of numbers for each component in the . + The value from the image data is then interpolated into the values relevant to the + using the corresponding values of the decode array. + + + + + Specifies whether interpolation is to be performed. Interpolation smooths images where a single component in the image + as defined may correspond to many pixels on the output device. The interpolation algorithm is implementation + dependent and is not defined by the specification. + + + + + Whether this image is an or a . + + + + + The full dictionary for this image object. + + + + + The used to interpret the image. + + This is not defined where is and is optional where the image is JPXEncoded for . + + + + + + Get the decoded bytes of the image if applicable. For JPEG images and some other types the + should be used directly. + + + + + Try to convert the image to PNG. Doesn't support conversion of JPG to PNG. + + + + + Remove any named resources and associated state for the last resource dictionary loaded. + Does not affect the cached resources, just the labels associated with them. + + + + + A glyph or combination of glyphs (characters) drawn by a PDF content stream. + + + + + The text for this letter or unicode character. + + + + + Text orientation of the letter. + + + + + The placement position of the character in PDF space. See + + + + + The placement position of the character in PDF space (the start point of the baseline). See + + + + + The end point of the baseline. + + + + + The width occupied by the character within the PDF content. + + + + + Position of the bounding box for the glyph, this is the box surrounding the visible glyph as it appears on the page. + For example letters with descenders, p, j, etc., will have a box extending below the they are placed at. + The width of the glyph may also be more or less than the allocated for the character in the PDF content. + + + + + Size as defined in the PDF file. This is not equivalent to font size in points but is relative to other font sizes on the page. + + + + + The name of the font. + + + + + Details about the font for this letter. + + + + + Text rendering mode that indicates whether we should draw this letter's strokes, + fill, both, neither (in case of hidden text), etc. + If it calls for stroking the is used. + If it calls for filling, the is used. + In modes that perform both filling and stroking, the effect is as if each glyph outline were filled and then stroked in separate operations. + + + + + The primary color of the letter, which is either the in case + is , or otherwise + it is the . + + + + + Stroking color + + + + + Non-stroking (fill) color + + + + + The size of the font in points. + + + + + Sequence number of the ShowText operation that printed this letter. + + + + + Create a new letter to represent some text drawn by the Tj operator. + + + + + Produces a string representation of the letter and its position. + + + + + A marked content element can be used to provide application specific data in the + page's content stream. Interpretation of the marked content is outside of the PDF specification. + + + + + Marked-content identifier. + + + + + The index of this marked content element in the set of marked content in the page. + marked content elements will have the same index as the parent. + + + + + A name indicating the role or significance of the point. + + + + + The properties for this element. + + + + + Is the marked content an artifact, see . + + + + + Child contents. + + + + + Letters contained in this marked content. + + + + + Paths contained in this marked content. + + + + + Images contained in this marked content. + + + + + The natural language specification. + + + + + The replacement text. + + + + + The alternate description. + + + + + The abbreviation expansion text. + + + + + Create a new . + + + + + + + + The boundary of the physical medium to display or print on. + + + See table 3.27 from the PDF specification version 1.7. + + + + + User space units per inch. + + + + + User space units per millimeter. + + + + + A the size of U.S. Letter, 8.5" x 11" Paper. + + + + + A the size of U.S. Legal, 8.5" x 14" Paper. + + + + + A the size of A0 Paper. + + + + + A the size of A1 Paper. + + + + + A the size of A2 Paper. + + + + + A the size of A3 Paper. + + + + + A the size of A4 Paper. + + + + + A the size of A5 Paper. + + + + + A the size of A6 Paper. + + + + + A rectangle, expressed in default user space units, that defines the boundaries of the physical medium on which the page shall be displayed or printed. + + + + + Create a new . + + + + + An optional content group is a dictionary representing a collection of graphics + that can be made visible or invisible dynamically by users of viewers applications. + + + + + The type of PDF object that this dictionary describes. + Must be OCG for an optional content group dictionary. + + + + + The name of the optional content group, suitable for presentation in a viewer application's user interface. + + + + + A single name or an array containing any combination of names. + Default value is 'View'. + + + + + A usage dictionary describing the nature of the content controlled by the group. + + + + + Underlying . + + + + + + + + + + Contains the content and provides access to methods of a single page in the . + + + + + The raw PDF dictionary token for this page in the document. + + + + + The page number (starting at 1). + + + + + Defines the visible region of the page, content outside the is clipped/cropped. + + + + + Defines the boundaries of the physical medium on which the page shall be displayed or printed. + + + + + The rotation of the page in degrees (clockwise). Valid values are 0, 90, 180 and 270. + + + + + The set of s drawn by the PDF content. + + + + + The full text of all characters on the page in the order they are presented in the PDF content. + + + + + Gets the width of the page in points. + + + + + Gets the height of the page in points. + + + + + The size of the page according to the standard page sizes or if no matching standard size found. + + + + + The number of images on this page. Use to access the image contents. + + + + + The parsed graphics state operations in the content stream for this page. + + + + + Access to members whose future locations within the API will change without warning. + + + + + Use the default to get the words for this page. + + The words on this page. + + + + Use a custom to get the words for this page. + + The word extractor to use to generate words. + The words on this page. + + + + Get the hyperlinks which link to external resources on the page. + These are based on the annotations on the page with a type of '/Link'. + + + + + Gets any images on the page. + + + + + Gets any marked content on the page. + + + + + Provides access to useful members which will change in future releases. + + + + + The set of s drawn by the PDF content. + + + + + Get the annotation objects from the page. + + The lazily evaluated set of annotations on this page. + + + + Gets any optional content on the page. + Does not handle XObjects and annotations for the time being. + + + + + Wraps content parsed from a page content stream for access. + + + This should contain a replayable stack of drawing instructions for page content + from a content stream in addition to lazily evaluated state such as text on the page or images. + + + + + Represents the rotation of a page in a PDF document defined by the page dictionary in degrees clockwise. + + + + + The rotation of the page in degrees clockwise. + + + + + Whether the rotation flips the x and y axes. + + + + + Get the rotation expressed in radians (anti-clockwise). + + + + + Create a . + + Rotation in degrees clockwise, must be a multiple of 90. + + + + + + + + + + + + + + + + Equal. + + + + + Not equal. + + + + + The page tree for this document containing all pages, page numbers and their dictionaries. + + + + + The corresponding named size of the . + + + + + Unknown page size, did not match a defined page size. + + + + + The ISO 216 A0 page size. + + + + + The ISO 216 A1 page size. + + + + + The ISO 216 A2 page size. + + + + + The ISO 216 A3 page size. + + + + + The ISO 216 A4 page size. + + + + + The ISO 216 A5 page size. + + + + + The ISO 216 A6 page size. + + + + + The ISO 216 A7 page size. + + + + + The ISO 216 A8 page size. + + + + + The ISO 216 A9 page size. + + + + + The ISO 216 A10 page size. + + + + + The North American Letter page size. + + + + + The North American Legal page size. + + + + + The North American Ledger page size. + + + + + The North American Tabloid page size. + + + + + The North American Executive page size. + + + + + Contains the values inherited from the Page Tree for this page. + + + + + A node in the PDF document's page tree. + Nodes may either be of type 'Page' - a single page, or 'Pages' - a container for multiple child Page + or Pages nodes. + + + + + The dictionary for this node in the page tree. + + + + + The indirect reference for this node in the page tree. + + + + + Whether this node is a page or not. If not it must be a /Pages container. + + + + + The number of this page if is . + + + + + The child nodes of this node if is + + + + + The parent node of this node, unless it is the root node. + + + + + Whether this node is the root node. + + + + + Create a new . + + + + + + + + Orientation of the text. + + + + + Other text orientation. + + + + + Usual text orientation (Left to Right). + + + + + Horizontal text, upside down. + + + + + Rotated text going down. + + + + + Rotated text going up. + + + + + A word. + + + + + The text of the word. + + + + + The text orientation of the word. + + + + + The rectangle completely containing the word. + + + + + The name of the font for the word. + + + + + The letters contained in the word. + + + + + Create a new . + + The letters contained in the word, in the correct order. + + + + Bound angle so that -180 ≤ θ ≤ 180. + + The angle to bound. + + + + + + + Wraps an XML based Extensible Metadata Platform (XMP) document. These XML documents are embedded in PDFs to provide metadata + about objects (the entire document, images, etc). They can be present as plain text or encoded/encrypted streams. + + + + + The underlying for this metadata. + + + + + Get the decoded bytes for the metadata stream. This can be interpreted as a sequence of plain-text bytes. + + The bytes for the metadata object with any filters removed. + + + + Gets the metadata stream as an . + + The for the XMP XML. + + + + The cross-reference table contains information that enables random access to PDF objects within the file by object number + so that specific objects can be located directly without having to scan the whole document. + A PDF document may contain multiple cross reference tables, this class provides access to the merged result with the latest + offset for each object. The offsets of the original cross reference tables or streams merged into this result are available + in the list. + + + + + The corresponding byte offset for each keyed object in this document. + + + + + The type of the first cross-reference table located in this document. + + + + + The trailer dictionary. + + + + + The byte offsets of each cross-reference table or stream in this document and the previous + table or stream they link to if applicable. + + + + + The offset of a cross-reference table or stream in the document. + + + + + The offset in bytes from the start of the document where the stream or table starts. + + + + + The offset in bytes from the start of the document where the previous stream or table in a document + containing incremental updates can be found, if applicable. + + + + + Create a new . + + The offset in bytes from the start of the document where the stream or table starts. + The offset in bytes from the start of the document where the previous stream or table in a document starts. + + + + + + + + + + The table contains a one-line entry for each indirect object, specifying the location of that object within the body of the file. + + + + + + + + The format of an in-use entry is + nnnnnnnnnn ggggg n eol + where + nnnnnnnnnn is a 10-digit byte offset + ggggg is a 5-digit generation number + n is a literal keyword identifying this as an in-use entry + eol is a 2-character end-of-line sequence + + + The byte offset is a 10-digit number, padded with leading zeros if necessary, + giving the number of bytes from the beginning of the file to the beginning of the + object. + + + + + For Xref streams indicated by tables they should be used together when constructing the final table. + + + + + The type of a cross-reference section in a PDF document. + + + + + A cross-reference table. + + + + + A cross-reference stream. + + + + + Contains information for interpreting the cross-reference table. + + + + + The total number of object entries across both the original cross-reference table + and in any incremental updates. + + + Any object in a cross-reference section whose number is greater than this value is + ignored and considered missing. + + + + + The offset in bytes to the previous cross-reference table or stream + if the document has more than one cross-reference section. + + + + + The object reference for the document's catalog dictionary. + + + + + The object reference for the document's information dictionary if it contains one. + + + + + A list containing two-byte string tokens which act as file identifiers. + + + + + The document's encryption dictionary. + + + + + Create a new . + + The parsed dictionary from the document. + + + + + + + The method used by the consumer application to decrypt data. + + + + + The application does not decrypt data but directs the input stream + to the security handler for decryption. + + + + + The application asks the security handler for the encryption key + and implicitly decrypts data using the RC4 algorithm. + + + + + (PDF 1.6) The application asks the security handler for the encryption key and implicitly decrypts data using the AES algorithm in Cipher Block Chaining (CBC) mode + with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. + + + + + The application asks the security handler for the encryption key and implicitly decrypts data using the AES-256 algorithm in Cipher Block Chaining (CBC) with padding mode + with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. + The key size shall be 256 bits. + + + + + The event to be used to trigger the authorization that is required + to access encryption keys used by this filter. + + + + + Authorization is required when a document is opened. + + + + + Authorization is required when accessing embedded files. + + + + + A code specifying the algorithm to be used in encrypting and decrypting the document. + + + + + An algorithm that is undocumented and no longer supported. + + + + + RC4 or AES encryption using a key of 40 bits. + + + + + RC4 or AES encryption using a key of more than 40 bits. + + + + + An unpublished algorithm that permits encryption key lengths ranging from 40 to 128 bits. + + + + + The security handler defines the use of encryption and decryption in the document with a key length of 128 bits. + + + + + The security handler defines the use of encryption and decryption in the document with a key length of 256 bits. + + + + + Since ISO isn't fit for purpose they charge £200 to see the PDF 2 spec so it's not possible to know what the specification for this revision is. + + + + + Required if is 5 or above. A 32-byte string, based on the owner and user passwords that is used in computing the encryption key. + + + + + Required if is 5 or above. A 32-byte string, based on the user password that is used in computing the encryption key. + + + + + This is the revision 6 algorithm the specification for which can't be viewed unless you pay the ISO a lot of money (which makes me extremely angry). + This is an attempt to port directly from PDFBox code. + + The truncated user or owner password. + The 8 byte user or owner key validation salt. + Used when hashing owner password in which case it is the 48 byte /U key. + + + + Manages decryption of tokens in a PDF document where encryption is used. + + + + + (Revision 2) Print the document. + (Revision 3 or greater) Print the document (possibly not at the highest quality level, see ). + + + + + Modify the contents of the document by operations other than those + controlled by , and . + + + + + (Revision 2) Copy or otherwise extract text and graphics from the document, including extracting text and graphics + (in support of accessibility to users with disabilities or for other purposes). + (Revision 3 or greater) Copy or otherwise extract text and graphics from the document by operations other + than that controlled by . + + + + + Add or modify text annotations, fill in interactive form fields, and, if is also set, + create or modify interactive form fields (including signature fields). + + + + + (Revision 3 or greater) Fill in existing interactive form fields (including signature fields), + even if is clear. + + + + + (Revision 3 or greater) Extract text and graphics (in support of accessibility to users with disabilities or for other purposes). + + + + + (Revision 3 or greater) Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), + even if is clear. + + + + + (Revision 3 or greater) Print the document to a representation from which a faithful digital copy of the PDF content could be generated. + When this is clear (and is set), printing is limited to a low-level representation of the appearance, + possibly of degraded quality. + + + + + + The document is encrypted and cannot be decrypted. + + + + + + + + + + + + + + + + + + ASCII 85 (Base85) is a binary to text encoding using 5 ASCII characters per 4 bytes of data. + + + + + + + + + + + + Encodes/decodes data using the ASCII hexadecimal encoding where each byte is represented by two ASCII characters. + + + + + + + + + + + Specifies the compression type to use with . + + + + + Modified Huffman (MH) - Group 3 variation (T2) + + + + + Modified Huffman (MH) - Group 3 (T4) + + + + + Modified Read (MR) - Group 3 (T4) + + + + + Modified Modified Read (MMR) - Group 4 (T6) + + + + + Decodes image data that has been encoded using either Group 3 or Group 4. + + Ported from https://github.com/apache/pdfbox/blob/714156a15ea6fcfe44ac09345b01e192cbd74450/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java + + + + + + + + + + + CCITT Modified Huffman RLE, Group 3 (T4) and Group 4 (T6) fax compression. + + Ported from https://github.com/apache/pdfbox/blob/e644c29279e276bde14ce7a33bdeef0cb1001b3e/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecoderStream.java + + + + + Creates a CCITTFaxDecoderStream. + This constructor may be used for CCITT streams embedded in PDF files, + which use EncodedByteAlign. + + + + + + + + + + + + The default implementation of the . + + + + + The single instance of this provider. + + + + + + + + + + + + + + + The Flate filter is based on the public-domain zlib/deflate compression method, a variable-length Lempel-Ziv + adaptive compression method cascaded with adaptive Huffman coding. + It is fully defined in Internet RFCs 1950, ZLIB Compressed Data Format Specification, and + 1951, DEFLATE Compressed Data Format Specification + + + See section 3.3.3 of the spec (version 1.7) for details on the FlateDecode filter. + The flate decode filter may have a predictor function to further compress the stream. + + + + + + + + + + + A filter is used in a PDF to encode/decode data either to compress it or derive an ASCII representation of the data. + + + + + Whether this library can decode information encoded using this filter. + + + + + Decodes data encoded using this filter type. + + The encoded bytes which were encoded using this filter. + The dictionary of the (or other dictionary types, e.g. inline images) containing these bytes. + The position of this filter in the pipeline used to encode data. + The decoded bytes. + + + + Gets filter implementations () for decoding PDF data. + + + + + Get the filters specified in this dictionary. + + + + + Gets the filters specified by the filter names. + + + + + Get all available filters in this library. + + + + + + + + + + + + + + + + + + The LZW (Lempel-Ziv-Welch) filter is a variable-length, adaptive compression method + that has been adopted as one of the standard compression methods in the Tag Image File Format (TIFF) standard. + + + + + + + + + + + GetLongOrDefault value from bit interval from a byte + + + + + Set value input a bit interval and return that value + + + + + + The Run Length filterencodes data in a simple byte-oriented format based on run length. + The encoded data is a sequence of runs, where each run consists of a length byte followed by 1 to 128 bytes of data. + + + + + + + + + + + This class represents a function in a PDF document. + + + + + The function dictionary. + + + + + The function stream. + + + + + This class represents a function in a PDF document. + + + + + This class represents a function in a PDF document. + + + + + Returns the function type. Possible values are: + + 0Sampled function + 2Exponential interpolation function + 3Stitching function + 4PostScript calculator function + + + the function type. + + + + Returns the function's dictionary. If is defined, it will be returned. + If not, the 's StreamDictionary will be returned. + + + + + This will get the number of output parameters that + have a range specified. A range for output parameters + is optional so this may return zero for a function + that does have output parameters, this will simply return the + number that have the range specified. + + The number of output parameters that have a range specified. + + + + This will get the range for a certain output parameters. This is will never + return null. If it is not present then the range 0 to 0 will + be returned. + + The output parameter number to get the range for. + The range for this component. + + + + This will get the number of input parameters that + have a domain specified. + + The number of input parameters that have a domain specified. + + + + This will get the range for a certain input parameter. This is will never + return null. If it is not present then the range 0 to 0 will + be returned. + + The parameter number to get the domain for. + The domain range for this component. + + + + Evaluates the function at the given input. + ReturnValue = f(input) + + The array of input values for the function. + In many cases will be an array of a single value, but not always. + The of outputs the function returns based on those inputs. + In many cases will be an array of a single value, but not always. + + + + Returns all ranges for the output values as . Required for type 0 and type 4 functions. + + the ranges array. + + + + Returns all domains for the input values as . Required for all function types. + + the domains array. + + + + Clip the given input values to the ranges. + + inputValues the input values + the clipped values + + + + Clip the given input value to the given range. + + x the input value + the min value of the range + the max value of the range + the clipped value + + + + For a given value of x, interpolate calculates the y value + on the line defined by the two points (xRangeMin, xRangeMax) + and (yRangeMin, yRangeMax). + + the value to be interpolated value. + the min value of the x range + the max value of the x range + the min value of the y range + the max value of the y range + the interpolated y value + + + + Pdf function types. + + + + + Sampled function. + + + + + Exponential interpolation function. + + + + + Stitching function. + + + + + PostScript calculator function. + + + + + The samples of the function. + + + + + Stitching function + + + + + Stitching function + + + + + The "Size" entry, which is the number of samples in each input dimension of the sample table. + An array of m positive integers specifying the number of samples in each input dimension of the sample table. + + + + + Get the number of bits that the output value will take up. + Valid values are 1,2,4,8,12,16,24,32. + + Number of bits for each output value. + + + + Get the order of interpolation between samples. Valid values are 1 and 3, + specifying linear and cubic spline interpolation, respectively. Default + is 1. See p.170 in PDF spec 1.7. + + order of interpolation. + + + + An array of 2 x m numbers specifying the linear mapping of input values + into the domain of the function's sample table. Default value: [ 0 (Size0 + - 1) 0 (Size1 - 1) ...]. + + + + + An array of 2 x n numbers specifying the linear mapping of sample values + into the range appropriate for the function's output values. Default + value: same as the value of Range. + + + + + Get the encode for the input parameter. + + The function parameter number. + The encode parameter range or null if none is set. + + + + Get the decode for the input parameter. + + The function parameter number. + The decode parameter range or null if none is set. + + + + Inner class do to an interpolation in the Nth dimension by comparing the + content size of N-1 dimensional objects.This is done with the help of + recursive calls. + To understand the algorithm without recursion, see for a bilinear interpolation + and for trilinear interpolation. + + + + + + Constructor. + + the input coordinates + coordinate of the "ceil" point + coordinate of the "floor" point + + + + + + + Calculate the interpolation. + + interpolated result sample + + + + Do a linear interpolation if the two coordinates can be known, or + call itself recursively twice. + + partially set coordinate (not set from step + upwards); gets fully filled in the last call ("leaf"), where it is + used to get the correct sample + between 0 (first call) and dimension - 1 + interpolated result sample + + + + calculate array index (structure described in p.171 PDF spec 1.7) in multiple dimensions. + + with coordinates + index in flat array + + + + Get all sample values of this function. + + an array with all samples. + + + + Exponential interpolation function + + + + + Exponential interpolation function + + + + + The C0 values of the function, 0 if empty. + + + + + The C1 values of the function, 1 if empty. + + + + + The exponent of the function. + + + + + Stitching function + + + + + Stitching function + + + + + Stitching function + + + + + Returns all functions values. + + + + + Returns all bounds values as . + + the bounds array. + + + + Returns all encode values as . + + the encode array. + + + + Get the encode for the input parameter. + + The function parameter number. + The encode parameter range or null if none is set. + + + + PostScript calculator function + + + + + PostScript calculator function + + + + + Provides the arithmetic operators such as "add" and "sub". + + + + + the "Abs" operator. + + + + + the "add" operator. + + + + + the "atan" operator. + + + + + the "ceiling" operator. + + + + + the "cos" operator. + + + + + the "cvi" operator. + + + + + the "cvr" operator. + + + + + the "div" operator. + + + + + the "exp" operator. + + + + + the "floor" operator. + + + + + the "idiv" operator. + + + + + the "ln" operator. + + + + + the "log" operator. + + + + + the "mod" operator. + + + + + the "mul" operator. + + + + + the "neg" operator. + + + + + the "round" operator. + + + + + the "sin" operator. + + + + + the "sqrt" operator. + + + + + the "sub" operator. + + + + + the "truncate" operator. + + + + + Abstract base class for logical operators. + + + + + Implements the "and" operator. + + + + + Implements the "bitshift" operator. + + + + + Implements the "false" operator. + + + + + Implements the "not" operator. + + + + + Implements the "or" operator. + + + + + Implements the "true" operator. + + + + + Implements the "xor" operator. + + + + + Provides the conditional operators such as "if" and "ifelse". + + + + + Implements the "if" operator. + + + + + Implements the "ifelse" operator. + + + + + The stack used by this execution context. + + + + + Creates a new execution context. + + the operator set + + + + Returns the operator set used by this execution context. + + the operator set + + + + Pops a number (int or real) from the stack. If it's neither data type, a is thrown. + + the number + + + + Pops a value of type int from the stack. If the value is not of type int, a is thrown. + + the int value + + + + Pops a number from the stack and returns it as a real value. If the value is not of a numeric type, + a is thrown. + + the real value + + + + Add a name (ex. an operator) + + the name + + + + Adds an int value. + + the value + + + + Adds a real value. + + the value + + + + Adds a bool value. + + the value + + + + Adds a proc (sub-sequence of instructions). + + the child proc + + + + Executes the instruction sequence. + + the execution context + + + + Basic parser for Type 4 functions which is used to build up instruction sequences. + + + + + Returns the instruction sequence that has been build from the syntactic elements. + + the instruction sequence + + + + Parses the given text into an instruction sequence representing a Type 4 function that can be executed. + + the Type 4 function text + the instruction sequence + + + + + + + Interface for PostScript operators.e + + + + + Executes the operator. The method can inspect and manipulate the stack. + + the execution context + + + + This class provides all the supported operators. + + + + + Creates a new Operators object with the default set of operators. + + + + + Returns the operator for the given operator name. + + the operator name + the operator (or null if there's no such operator + + + + Parser for PDF Type 4 functions. This implements a small subset of the PostScript + language but is no full PostScript interpreter. + + + + + Used to indicate the parsers current state. + + + + + Parses a Type 4 function and sends the syntactic elements to the given syntax handler. + + the text source + the syntax handler + + + + This interface defines all possible syntactic elements of a Type 4 function. + It is called by the parser as the function is interpreted. + + + + + Indicates that a new line starts. + + the new line character (CR, LF, CR/LF or FF) + + + + Called when whitespace characters are encountered. + + the whitespace text + + + + Called when a token is encountered. No distinction between operators and values is done here. + + the token text + + + + Called for a comment. + + the comment + + + + Abstract base class for a . + + + + + + + + + + + + + + + + + Tokenizer for Type 4 functions. + + + + + Provides the relational operators such as "eq" and "le". + + + + + Implements the "eq" operator. + + + + + Abstract base class for number comparison operators. + + + + + Implements the "ge" operator. + + + + + Implements the "gt" operator. + + + + + Implements the "le" operator. + + + + + Implements the "lt" operator. + + + + + Implements the "ne" operator. + + + + + Provides the stack operators such as "Pop" and "dup". + + + + + Implements the "copy" operator. + + + + + Implements the "dup" operator. + + + + + Implements the "exch" operator. + + + + + Implements the "index" operator. + + + + + Implements the "Pop" operator. + + + + + Implements the "roll" operator. + + + + + returns 0 if false, +1 if true, -1 if pt ON polygon boundary. + See "The Point in Polygon Problem for Arbitrary Polygons" by Hormann and Agathos + + + + + + + + Convert self-intersecting polygons into simple polygons. + + + + + + + + Convert self-intersecting polygons into simple polygons. + + + + + + + + This function is more accurate when the point that's GEOMETRICALLY between the other + 2 points is the one that's tested for distance. + nb: with 'spikes', either pt1 or pt3 is geometrically between the other pts"> + + + + + + + + + + Clean polygon. + + + proximity in units/pixels below which vertices will be stripped. + Default ~= sqrt(2) so when adjacent vertices or semi-adjacent vertices have both x and y coords within 1 unit, then the second vertex will be stripped. + + + + Clean polygon. + + + proximity in units/pixels below which vertices will be stripped. + Default ~= sqrt(2) so when adjacent vertices or semi-adjacent vertices have both x and y coords within 1 unit, then the second vertex will be stripped. + + + + By far the most widely used winding rules for polygon filling are + EvenOdd and NonZero (GDI, GDI+, XLib, OpenGL, Cairo, AGG, Quartz, SVG, Gr32) + Others rules include Positive, Negative and ABS_GTR_EQ_TWO (only in OpenGL) + see http://glprogramming.com/red/chapter11.html + + + + + OutRec: contains a path in the clipping solution. Edges in the AEL will + carry a pointer to an OutRec when they are part of the clipping solution. + + + + + Applies clipping from a clipping path to another path. + + + + + Number of lines to use when transforming bezier curve to polyline. + + + + + Generates the result of applying a clipping path to another path. + + + + + Converts a path to a set of points for the Clipper algorithm to use. + Allows duplicate points as they will be removed by Clipper. + + + + + Extension class to Geometry. + + + + + Return true if the points are in counter-clockwise order. + + The first point. + The second point. + The third point. + + + + Get the dot product of both points. + + The first point. + The second point. + + + + Get a point with the summed coordinates of both points. + + The first point. + The second point. + + + + Get a point with the substracted coordinates of both points. + + The first point. + The second point. + + + + Algorithm to find a minimal bounding rectangle (MBR) such that the MBR corresponds to a rectangle + with smallest possible area completely enclosing the polygon. + From 'A Fast Algorithm for Generating a Minimal Bounding Rectangle' by Lennert D. Den Boer. + + + Polygon P is assumed to be both simple and convex, and to contain no duplicate (coincident) vertices. + The vertices of P are assumed to be in strict cyclic sequential order, either clockwise or + counter-clockwise relative to the origin P0. + + + + + Algorithm to find the (oriented) minimum area rectangle (MAR) by first finding the convex hull of the points + and then finding its MAR. + + The points. + + + + Algorithm to find the oriented bounding box (OBB) by first fitting a line through the points to get the slope, + then rotating the points to obtain the axis-aligned bounding box (AABB), and then rotating back the AABB. + + The points. + + + + Algorithm to find the convex hull of the set of points with time complexity O(n log n). + + + + + Whether the point is located inside the rectangle. + + The rectangle that should contain the point. + The point that should be contained within the rectangle. + If set to false, will return false if the point belongs to the border. + + + + Whether the other rectangle is located inside the rectangle. + + The rectangle that should contain the other rectangle. + The other rectangle that should be contained within the rectangle. + If set to false, will return false if the rectangles share side(s). + + + + Whether two rectangles overlap. + Returns false if the two rectangles only share a border. + + + + + Gets the that is the intersection of two rectangles. + Only works for axis-aligned rectangles. + + + + + Gets the axis-aligned rectangle that completely containing the original rectangle, with no rotation. + + + + + + Whether the rectangle and the line intersect. + + + + + + + Gets the that is the intersection of the rectangle and the line. + + + + + + + Gets the list of s that are the intersection of the rectangle and the lines. + + + + + + + + Whether the point is located on the line segment. + + + + + Whether two lines intersect. + + + + + Whether two lines intersect. + + + + + Get the that is the intersection of two lines. + + + + + Get the that is the intersection of two lines. + + + + + Checks if both lines are parallel. + + + + + Checks if both lines are parallel. + + + + + Gets the that is the intersection of the rectangle and the line. + + + + + + + Whether the rectangle and the line intersect. + + + + + + + Whether the point is located on the line segment. + + + + + Whether two lines intersect. + + + + + Whether two lines intersect. + + + + + Get the that is the intersection of two lines. + + + + + Get the that is the intersection of two lines. + + + + + Checks if both lines are parallel. + + + + + Checks if both lines are parallel. + + + + + Whether the line formed by and + intersects the line formed by and . + + + + + The intersection of the line formed by and + intersects the rectangle. + + + + + Whether the line formed by and + intersects the rectangle. + + + + + Split a bezier curve into 2 bezier curves, at tau. + + The original bezier curve. + The t value were to split the curve, usually between 0 and 1, but not necessary. + + + + Checks if the curve and the line are intersecting. + Avoid using this method as it is not optimised. Use instead. + + + + + Checks if the curve and the line are intersecting. + Avoid using this method as it is not optimised. Use instead. + + + + + Get the s that are the intersections of the line and the curve. + + + + + Get the s that are the intersections of the line and the curve. + + + + + Get the t values that are the intersections of the line and the curve. + + List of t values where the and the intersect. + + + + Get the t values that are the intersections of the line and the curve. + + List of t values where the and the intersect. + + + + nb: returns MaxInt ((2^32)-1) when pt is on a line + + + + + Whether the point is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the point. + The point that should be contained within the subpath. + If set to false, will return false if the point belongs to the subpath's border. + + + + Whether the rectangle is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the rectangle. + The rectangle that should be contained within the subpath. + If set to false, will return false if the rectangle is on the subpath's border. + + + + Whether the other subpath is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the rectangle. + The other subpath that should be contained within the subpath. + If set to false, will return false if the other subpath is on the subpath's border. + + + + Get the area of the path. + + + + + + Whether the point is located inside the path. + + The path that should contain the point. + The point that should be contained within the path. + If set to false, will return false if the point belongs to the path's border. + + + + Whether the rectangle is located inside the path. + + The path that should contain the rectangle. + The rectangle that should be contained within the path. + If set to false, will return false if the rectangle is on the path's border. + + + + Whether the subpath is located inside the path. + + The path that should contain the subpath. + The subpath that should be contained within the path. + If set to false, will return false if the subpath is on the path's border. + + + + Whether the other path is located inside the path. + + The path that should contain the path. + The other path that should be contained within the path. + If set to false, will return false if the other subpath is on the path's border. + + + + Get the real roots of a Cubic (or Quadratic, a=0) equation. + ax^3 + bx^2 + cx + d = 0 + + ax^3 + bx^2 + cx + d + + + + By default user space units correspond to 1/72nd of an inch (a typographic point). + The UserUnit entry in a page dictionary can define the space units as a different multiple of 1/72 (1 point). + + + + + The number of points (1/72nd of an inch) corresponding to a single unit in user space. + + + + + Create a new unit specification for a page. + + + + + Encapsulates the algorithm for chromatic adaptation described here: + http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html + + + + + Transformer for CIEBased color spaces. + + In addition to the PDF spec itself, the transformation implementation is based on the descriptions in: + https://en.wikipedia.org/wiki/SRGB#The_forward_transformation_(CIE_XYZ_to_sRGB) and + http://www.brucelindbloom.com/index.html?Eqn_XYZ_to_RGB.html + + + + + + Transforms the supplied ABC color to the RGB color of the + that was supplied to this as the destination + workspace. + A, B and C represent red, green and blue calibrated color values in the range 0 to 1. + + + + + A color with cyan, magenta, yellow and black (K) components. + + + + + CMYK Black value (0, 0, 0, 1). + + + + + CMYK White value (all 0). + + + + + + + + The cyan value. + + + + + The magenta value. + + + + + The yellow value. + + + + + The black value. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + Color values in a PDF are interpreted according to the current color space. + Color spaces enable a PDF to specify abstract colors in a device independent way. + + + + + Grayscale. Controls the intensity of achromatic light on a scale from black to white. + + + + + RGB. Controls the intensities of red, green and blue light. + + + + + CMYK. Controls the concentrations of cyan, magenta, yellow and black (K) inks. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalGray - Special case of the CIE colorspace using a single channel (A) and a single transformation. + A represents the gray component of a calibrated gray space in the range 0 to 1. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0 to 1. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + Lab - A CIE ABC color space with two transforms. A, B and C represent the L*, a* and b* + components of a CIE 1976 L*a*b* space. The range of A (L*) is 0 to 100. + The range of B (a*) and C (b*) are defined by the Range of the color space. + + + + + ICC (International Color Consortium) colorspace. + ICC - Colorspace specified by a sequence of bytes which are interpreted according to the + ICC specification. + + + + + An Indexed color space allows a PDF content stream to use small integers as indices into a color map or color table of arbitrary colors in some other space. + A PDF consumer application treats each sample value as an index into the color table and uses the color value it finds there. + + + + + Enables a PDF content stream to paint an area with a pattern rather than a single color. + The pattern may be either a tiling pattern (type 1) or a shading pattern (type 2). + + + + + Provides a means for specifying the use of additional colorants or for isolating the control of individual color components of + a device color space for a subtractive device. + When such a space is the current color space, the current color is a single-component value, called a tint, + that controls the application of the given colorant or color components only. + + + + + Can contain an arbitrary number of color components. They provide greater flexibility than is possible with standard device color + spaces such as or with individual color spaces. + For example, it is possible to create a DeviceN color space consisting of only the cyan, magenta, and yellow color components, + with the black component excluded. + + + + + Contains more document-specific information about the . + + + + + The type of the ColorSpace. + + + + + The number of components for the color space. + + + + + The underlying type of , usually equal to + unless or . + + + + + The number of components for the underlying color space. + + + + + Create a new . + + + + + Get the color. + + + + + Get the color, without check and caching. + + + + + Get the color that initialize the current stroking or nonstroking colour. + + + + + Transform image bytes. + + + + + Convert to byte. + + + + + A grayscale value is represented by a single number in the range 0.0 to 1.0, + where 0.0 corresponds to black, 1.0 to white, and intermediate values to different gray levels. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + Color values are defined by three components representing the intensities of the additive primary colorants red, green and blue. + Each component is specified by a number in the range 0.0 to 1.0, where 0.0 denotes the complete absence of a primary component and 1.0 denotes maximum intensity. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + Color values are defined by four components cyan, magenta, yellow and black. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + An Indexed color space allows a PDF content stream to use small integers as indices into a color map or color table of arbitrary colors in some other space. + A PDF consumer treats each sample value as an index into the color table and uses the color value it finds there. + + + + + Creates a indexed color space useful for extracting stencil masks as black-and-white images, + i.e. with a color palette of two colors (black and white). If the decode parameter array is + [0, 1] it indicates that black is at index 0 in the color palette, whereas [1, 0] indicates + that the black color is at index 1. + + + + + + + + + In the case of , gets the ' BaseNumberOfColorComponents. + + + + + The base color space in which the values in the color table are to be interpreted. + It can be any device or CIE-based color space or (in PDF 1.3) a Separation or DeviceN space, + but not a Pattern space or another Indexed space. + + + + + An integer that specifies the maximum valid index value. Can be no greater than 255. + + + + + Provides the mapping between index values and the corresponding colors in the base color space. + + + + + Create a new . + + + + + + + + + + + + + + + + Unwrap then transform using base color space details. + + + + + + DeviceN colour spaces may contain an arbitrary number of colour components. They provide greater flexibility than + is possible with standard device colour spaces such as DeviceCMYK or with individual Separation colour spaces. + + + + + + The 'N' in DeviceN. + + + + + + + + Specifies name objects specifying the individual colour components. The length of the array shall + determine the number of components in the DeviceN colour space. + + + The component names shall all be different from one another, except for the name None, which may be repeated. + + The special name All, used by Separation colour spaces, shall not be used. + + + + + + If the colorant name associated with a DeviceN color space does not correspond to a colorant available on the device, + the application arranges for subsequent painting operations to be performed in an alternate color space. + The intended colors can be approximated by colors in a device or CIE-based color space + which are then rendered with the usual primary or process colorants. + + + + + The optional attributes parameter shall be a dictionary containing additional information about the components of + colour space that conforming readers may use. Conforming readers need not use the alternateSpace and tintTransform + parameters, and may instead use custom blending algorithms, along with other information provided in the attributes + dictionary if present. + + + + + During subsequent painting operations, an application calls this function to transform a tint value into + color component values in the alternate color space. + The function is called with the tint value and must return the corresponding color component values. + That is, the number of components and the interpretation of their values depend on the . + + + + + Create a new . + + + + + + + + + + + + + + + + + DeviceN Color Space Attributes. + + + + + A name specifying the preferred treatment for the colour space. Values shall be DeviceN or NChannel. Default value: DeviceN. + + + + + Colorants - dictionary - Required if Subtype is NChannel and the colour space includes spot colorants; otherwise optional. + + + + + Process - dictionary - Required if Subtype is NChannel and the colour space includes components of a process colour space, otherwise optional. + + + + + MixingHints - dictionary - Optional + + + + + Create a new . + + + + + Create a new . + + + + + A Separation color space provides a means for specifying the use of additional colorants or + for isolating the control of individual color components of a device color space for a subtractive device. + When such a space is the current color space, the current color is a single-component value, called a tint, + that controls the application of the given colorant or color components only. + + + + + + + + + + + Specifies the name of the colorant that this Separation color space is intended to represent. + + + + The special colorant name All refers collectively to all colorants available on an output device, + including those for the standard process colorants. + + + The special colorant name None never produces any visible output. + Painting operations in a Separation space with this colorant name have no effect on the current page. + + + + + + If the colorant name associated with a Separation color space does not correspond to a colorant available on the device, + the application arranges for subsequent painting operations to be performed in an alternate color space. + The intended colors can be approximated by colors in a device or CIE-based color space + which are then rendered with the usual primary or process colorants. + + + + + During subsequent painting operations, an application calls this function to transform a tint value into + color component values in the alternate color space. + The function is called with the tint value and must return the corresponding color component values. + That is, the number of components and the interpretation of their values depend on the . + + + + + Create a new . + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalGray - A CIE A color space with a single transformation. + A represents the gray component of a calibrated gray space. The component must be in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + A number defining the gamma for the gray (A) component. Gamma must be positive and is generally + greater than or equal to 1. Default value: 1. + + + + + Create a new . + + + + + Transforms the supplied A color to grayscale RGB (sRGB) using the propties of this + in the transformation process. + A represents the gray component of a calibrated gray space. The component must be in the range 0.0 to 1.0. + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + An array of three numbers [GR GG GB] specifying the gamma for the red, green and blue (A, B, C) components + of the color space. Default value: [1.0 1.0 1.0]. + + + + + An array of nine numbers [XA YA ZA XB YB ZB XC YC ZC] specifying the linear interpretation of the + decoded A, B, C components of the color space with respect to the final XYZ representation. Default value: + [1 0 0 0 1 0 0 0 1]. + + + + + Create a new . + + + + + Transforms the supplied ABC color to RGB (sRGB) using the propties of this + in the transformation process. + A, B and C represent red, green and blue calibrated color values in the range 0.0 to 1.0. + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + An array of four numbers [a_min a_max b_min b_max] that shall specify the range of valid values for the a* and b* (B and C) + components of the colour space — that is, a_min ≤ a* ≤ a_max and b_min ≤ b* ≤ b_max + Component values falling outside the specified range shall be adjusted to the nearest valid value without error indication. + Default value: [−100 100 −100 100]. + + + + + Create a new . + + + + + Transforms the supplied ABC color to RGB (sRGB) using the properties of this + in the transformation process. + A, B and C represent the L*, a*, and b* components of a CIE 1976 L*a*b* space. The range of the first (L*) + component shall be 0 to 100; the ranges of the second and third (a* and b*) components shall be defined by + the Range entry in the colour space dictionary + + + + + + + + + + + + + + + + + The ICCBased color space is one of the CIE-based color spaces supported in PDFs. These color spaces + enable a page description to specify color values in a way that is related to human visual perception. + The goal is for the same color specification to produce consistent results on different output devices, + within the limitations of each device. + + Currently support for this color space is limited in PdfPig. Calculations will only be based on + the color space of . + + + + + + The number of color components in the color space described by the ICC profile data. + This numbers shall match the number of components actually in the ICC profile. + Valid values are 1, 3 and 4. + + + + + + + + An alternate color space that can be used in case the one specified in the stream data is not + supported. Non-conforming readers may use this color space. The alternate color space may be any + valid color space (except a Pattern color space). If this property isn't explicitly set during + construction, it will assume one of the color spaces, DeviceGray, DeviceRGB or DeviceCMYK depending + on whether the value of is 1, 3 or respectively. + + Conversion of the source color values should not be performed when using the alternate color space. + Color values within the range of the ICCBased color space might not be within the range of the + alternate color space. In this case, the nearest values within the range of the alternate space + must be substituted. + + + + + + A list of 2 x numbers [min0 max0 min1 max1 ...] that + specifies the minimum and maximum valid values of the corresponding color components. These + values must match the information in the ICC profile. Default value: [0.0 1.0 0.0 1.0 ...]. + + + + + An optional metadata stream that contains metadata for the color space. + + + + + Create a new . + + + + + + + + + + + + + + + + + Pattern color space. + + + + + The pattern dictionary. + + + + + + + Cannot be called for , will throw a . + + + + + + + + Valid for Uncoloured Tiling Patterns. Wwill throw a otherwise. + + + + + + The underlying color space for Uncoloured Tiling Patterns. + + + + + Create a new . + + The patterns. + The underlying colour space for Uncoloured Tiling Patterns. + + + + Get the corresponding . + + + + + + + + Cannot be called for , will throw a . + + + + + + + + Cannot be called for , will throw a . + Use instead. + + + + + + + + Always returns null. + + + + + + Cannot be called for , will throw a . + + + + + + A ColorSpace which the PdfPig library does not currently support. Please raise a PR if you need support for this ColorSpace. + + + + + The single instance of the . + + + + + + + Cannot be called for , will throw a . + + + + + + + + Cannot be called for , will throw a . + + + + + + + + + + + + + + + + + + Provides utility extension methods for dealing with s. + + + + + Gets the corresponding for a given . + + + + + Maps from a to the corresponding if one exists. + Includes extended color spaces. + + + + + Gets the corresponding for a given . + + + + + s can be classified into colorspace families. + s within the same family share general characteristics. + + + + + Device colorspaces directly specify colors or shades of gray that the output device + should produce. + + + + + CIE-based color spaces are based on an international standard for color specification created by + the Commission Internationale de l'Éclairage (International Commission on Illumination) (CIE). + These spaces specify colors in a way that is independent of the characteristics of any particular output device. + + + + + Special color spaces add features or properties to an underlying color space. + They include facilities for patterns, color mapping, separations, and high-fidelity and multitone color. + + + + + A grayscale color with a single gray component. + + + + + Gray Black value (0). + + + + + Gray White value (1). + + + + + + + + The gray value between 0 and 1. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + A color used for text or paths in a PDF. + + + + + The colorspace used for this color. + + + + + The color as RGB values (between 0 and 1). + + + + + A pattern color. + + Base class for and . + + + + + + 1 for tiling, 2 for shading. + + + + + The dictionary defining the pattern. + + + + + Graphics state parameter dictionary containing graphics state parameters to be put into effect temporarily while the shading + pattern is painted. Any parameters that are so specified shall be inherited from the graphics state that was in effect at the + beginning of the content stream in which the pattern is defined as a resource. + + + + + The pattern matrix (see 8.7.2, "General Properties of Patterns"). Default value: the identity matrix [1 0 0 1 0 0]. + + + + + + + + + + + + + Cannot be called for , will throw a . + + + + + + + + + A tiling pattern consists of a small graphical figure called a pattern cell. Painting with the pattern + replicates the cell at fixed horizontal and vertical intervals to fill an area. The effect is as if the + figure were painted on the surface of a clear glass tile, identical copies of which were then laid down + in an array covering the area and trimmed to its boundaries. + + + + + Content stream containing the painting operators needed to paint one instance of the cell. + + + + + A code that determines how the colour of the pattern cell shall be specified. + + + + + A code that controls adjustments to the spacing of tiles relative to the device pixel grid:. + + + + + The pattern cell's bounding box. These boundaries shall be used to clip the pattern cell. + + + + + The desired horizontal spacing between pattern cells, measured in the pattern coordinate system. + + XStep and YStep may differ from the dimensions of the pattern cell implied by the BBox entry. This allows tiling with irregularly shaped figures. + XStep and YStep may be either positive or negative but shall not be zero. + + + + + + The desired vertical spacing between pattern cells, measured in the pattern coordinate system. + + XStep and YStep may differ from the dimensions of the pattern cell implied by the BBox entry. This allows tiling with irregularly shaped figures. + XStep and YStep may be either positive or negative but shall not be zero. + + + + + + A resource dictionary that shall contain all of the named resources required by the pattern's content stream. + + + + + Content containing the painting operators needed to paint one instance of the cell. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + Shading patterns provide a smooth transition between colours across an area to be painted, independent of + the resolution of any particular output device and without specifying the number of steps in the colour transition. + + + + + A shading object defining the shading pattern's gradient fill. + + + + + Create a new . + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + A color space definition from a resource dictionary. + + + + + A color with red, green and blue components. + + + + + RGB Black value (all 0). + + + + + RGB White value (all 1). + + + + + + + + The red value between 0 and 1. + + + + + The green value between 0 and 1. + + + + + The blue value between 0 and 1. + + + + + Create a new . + + The red value between 0 and 1. + The green value between 0 and 1. + The blue value between 0 and 1. + + + + + + + + + + + Whether 2 RGB colors are equal across all channels. + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + A shading specifies details of a particular gradient fill, including the type + of shading to be used, the geometry of the area to be shaded, and the geometry of the + gradient fill. Various shading types are available, depending on the value of the + dictionary's ShadingType entry. + + + + + The dictionary defining the shading. + + + + + The shading type. + + + + + The colour space in which colour values shall beexpressed. + This may be any device, CIE-based, or special colour space except a Pattern space. + + + + + An array of colour components appropriate to the colour space, + specifying a single background colour value. If present, this + colour shall be used, before any painting operation involving + the shading, to fill those portions of the area to be painted + that lie outside the bounds of the shading object. + + + + + The shading's bounding box. The coordinates shall be interpreted + in the shading's target coordinate space. If present, this bounding + box shall be applied as a temporary clipping boundary when the shading + is painted, in addition to the current clipping path and any other + clipping boundaries in effect at that time. + + + + + The shading operators sample shading functions at a rate determined by + the resolution of the output device. Aliasing can occur if the function + is not smooth—that is, if it has a high spatial frequency relative to + the sampling rate. Anti-aliasing can be computationally expensive and + is usually unnecessary, since most shading functions are smooth enough + or are sampled at a high enough frequency to avoid aliasing effects. + Anti-aliasing may not be implemented on some output devices, in which + case this flag is ignored. + + + + + Create a new . + + + + + The shading's function(s), if any. + + + + + Convert the input values using the functions of the shading. + + + + + Function-based shadings (type 1) define the colour of every point in the domain using a + mathematical function (not necessarily smooth or continuous). + + + + + (Optional) An array of four numbers [xmin xmax ymin ymax] specifying the rectangular domain of + coordinates over which the colour function(s) are defined. + + Default value: [0.0 1.0 0.0 1.0]. + + + + + + (Optional) An array of six numbers specifying a transformation matrix mapping the coordinate + space specified by the Domain entry into the shading's target coordinate space. + + Default value: the identity matrix [1 0 0 1 0 0]. + + + + + + (Required) A 2-in, n-out function or an array of n 2-in, 1-out functions (where n is the + number of colour components in the shading dictionary's colour space). + Each function's domain shall be a superset of that of the shading dictionary. + If the value returned by the function for a given colour component is out of + range, it shall be adjusted to the nearest valid value. + + + + + Create a new . + + + + + Axial shadings (type 2) define a colour blend along a line between two points, optionally + extended beyond the boundary points by continuing the boundary colours. + + + + + (Required) An array of four numbers [x0 y0 x1 y1] specifying the starting and ending coordinates + of the axis, expressed in the shading's target coordinate space. + + + + + (Optional) An array of two numbers [t0 t1] specifying the limiting values of a parametric variable t. + The variable is considered to vary linearly between these two values as the colour gradient + varies between the starting and ending points of the axis. The variable t becomes the input + argument to the colour function(s). Default value: [0.0 1.0]. + + + + + (Required) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number of + colour components in the shading dictionary's colour space). The function(s) shall be + called with values of the parametric variable t in the domain defined by the Domain entry. + Each function's domain shall be a superset of that of the shading dictionary. If the value + returned by the function for a given colour component is out of range, it shall be adjusted + to the nearest valid value. + + + + + (Optional) An array of two boolean values specifying whether to extend the shading beyond the starting + and ending points of the axis, respectively. Default value: [false false]. + + + + + Create a new . + + + + + Radial shadings (type 3) define a blend between two circles, optionally extended beyond the + boundary circles by continuing the boundary colours. This type of shading is commonly used + to represent three-dimensional spheres and cones. + + + + + (Required) An array of six numbers [x0 y0 r0 x1 y1 r1] specifying the centres and radii of the starting + and ending circles, expressed in the shading's target coordinate space. The radii r0 and r1 + shall both be greater than or equal to 0. If one radius is 0, the corresponding circle shall + be treated as a point; if both are 0, nothing shall be painted. + + + + + (Optional) An array of two numbers [t0 t1] specifying the limiting values of a parametric variable t. + The variable is considered to vary linearly between these two values as the colour gradient + varies between the starting and ending circles. The variable t becomes the input argument + to the colour function(s). + + Default value: [0.0 1.0]. + + + + + + (Required) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number of + colour components in the shading dictionary's colour space). The function(s) shall be + called with values of the parametric variable t in the domain defined by the shading + dictionary's Domain entry. Each function’s domain shall be a superset of that of the + shading dictionary. If the value returned by the function for a given colour component + is out of range, it shall be adjusted to the nearest valid value. + + + + + (Optional) An array of two boolean values specifying whether to extend the shading beyond the starting + and ending points of the axis, respectively. + + Default value: [false false]. + + + + + + Create a new . + + + + + Free-form Gouraud-shaded triangle meshes (type 4) define a common construct used by many + three-dimensional applications to represent complex coloured and shaded shapes. Vertices + are specified in free-form geometry. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each vertex (see below). + The value of BitsPerFlag shall be 2, 4, or8, but only the least significant 2 bits + in each flag value shall beused. The value for the edge flag shall be 0, 1, or 2. + + + + + (Required) An array of numbers specifying how to map vertex coordinates and colour components + into the appropriate ranges of values. The decoding method is similar to that used + in image dictionaries. The ranges shall bespecified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n + is the number of colour components in the shading dictionary's colour space). If + this entry is present, the colour data for each vertex shall be specified by a + single parametric variable rather than by n separate colour components. + The designated function(s) shall be called with each interpolated value of the + parametric variable to determine the actual colour at each point. Each input + value shall be forced into the range interval specified for the corresponding + colour component in the shading dictionary's Decode array. Each function’s + domain shall be a superset of that interval. If the value returned by the + function for a given colour component is out of range, it shall be adjusted + to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Lattice-form Gouraud-shaded triangle meshes (type 5) are based on the same geometrical + construct as type 4 but with vertices specified as a pseudorectangular lattice. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of vertices in each row of the lattice; the value shall be greater than + or equal to 2. The number of rows need not be specified. + + + + + (Required) An array of numbers specifying how to map vertex coordinates and colour components + into the appropriate ranges of values. The decoding method is similar to that used + in image dictionaries. The ranges shall bespecified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number + of colour components in the shading dictionary's colour space). If this entry is present, + the colour data for each vertex shall be specified by a single parametric variable rather + than by n separate colour components. The designated function(s) shall be called with each + interpolated value of the parametric variable to determine the actual colour at each point. + Each input value shall be forced into the range interval specified for the corresponding + colour component in the shading dictionary's Decode array. Each function's domain shall be + a superset of that interval. If the value returned by the function for a given colour + component is out of range, it shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Coons patch meshes (type 6) construct a shading from one or more colour patches, each + bounded by four cubic Bézier curves. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each patch (see below). + The value shall be 2, 4, or 8, but only the least significant 2 bits in each flag + value shall be used. Valid values for the edge flag shall be 0, 1, 2, and 3. + + + + + (Required) An array of numbers specifying how to map coordinates and colour components into the + appropriate ranges of values. The decoding method is similar to that used in image + dictionaries. The ranges shall be specified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is + the number of colour components in the shading dictionary's colour space). If this + entry is present, the colour data for each vertex shall be specified by a single + parametric variable rather than by n separate colour components. The designated + function(s) shall be called with each interpolated value of the parametric variable + to determine the actual colour at each point. Each input value shall be forced into + the range interval specified for the corresponding colour component in the shading + dictionary's Decode array. Each function’s domain shall be a superset of that interval. + If the value returned by the function for a given colour component is out of range, it + shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Tensor-product patch meshes (type 7) are similar to type 6 but with additional control + points in each patch, affording greater control over colour mapping. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each patch (see below). + The value shall be 2, 4, or 8, but only the least significant 2 bits in each flag + value shall be used. Valid values for the edge flag shall be 0, 1, 2, and 3. + + + + + (Required) An array of numbers specifying how to map coordinates and colour components into the + appropriate ranges of values. The decoding method is similar to that used in image + dictionaries. The ranges shall be specified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is + the number of colour components in the shading dictionary's colour space). If this + entry is present, the colour data for each vertex shall be specified by a single + parametric variable rather than by n separate colour components. The designated + function(s) shall be called with each interpolated value of the parametric variable + to determine the actual colour at each point. Each input value shall be forced into + the range interval specified for the corresponding colour component in the shading + dictionary's Decode array. Each function’s domain shall be a superset of that interval. + If the value returned by the function for a given colour component is out of range, it + shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Shading types. + + + + + Function-based shading. + + + + + Axial shading. + + + + + Radial shading. + + + + + Free-form Gouraud-shaded triangle mesh. + + + + + Lattice-form Gouraud-shaded triangle mesh. + + + + + Coons patch mesh. + + + + + Tensor-product patch mesh + + + + + Stores each letter as it is encountered in the content stream. + + + + + Stores each path as it is encountered in the content stream. + + + + + Stores a link to each image (either inline or XObject) as it is encountered in the content stream. + + + + + Stores each marked content as it is encountered in the content stream. + + + + + A counter to track individual calls to operations used to determine if letters are likely to be + in the same word/group. This exposes internal grouping of letters used by the PDF creator which may correspond to the + intended grouping of letters into words. + + + + + The line cap style specifies the shape to be used at the ends of open subpaths (and dashes, if any) when they are stroked. + + + + + The stroke is squared off at the endpoint of the path. There is no projection beyond the end of the path. + + + + + A semicircular arc with a diameter equal to the line width is drawn around the endpoint and filled in. + + + + + The stroke continues beyond the endpoint of the path for a distance equal to half the line width and is squared off. + + + + + The line dash pattern controls the pattern of dashes and gaps used to stroke paths. + It is specified by a dash array and a dash phase. + + + + + The distance into the dash pattern at which to start the dash. + + + + + The numbers that specify the lengths of alternating dashes and gaps. + + + + + Create a new . + + The phase. . + The array. . + + + + The default solid line. + + + + + + + + The line join style specifies the shape to be used at the corners of paths that are stroked. + + + + + The outer edges of the strokes for the two segments are extended until they meet at an angle, as in a picture frame. + If the segments meet at too sharp an angle (as defined by the miter limit parameter), a bevel join is used instead. + + + + + An arc of a circle with a diameter equal to the line width is drawn around the point where the two segments meet, + connecting the outer edges of the strokes for the two segments + + + + + The two segments are finished with butt caps and the resulting notch beyond the ends of the segments is filled with a triangle. + + + + + Specifying a rendering intent allows a PDF file to set priorities regarding which properties to preserve and which to sacrifice for CIE colors. + + + + + No correction for the output medium's white point. Colors + only represented relative to the light source. + + + + + Combines light source and output medium's white point. + + + + + Emphasises saturation rather than colorimetric accuracy. + + + + + Modifies from colorimetric values to provide a "pleasing perceptual appearance". + + + + + The current state of text related parameters for a content stream. + + + + + Whether the font comes from the extended graphics state via the operator. + + + + + A value in unscaled text space units which is added to the horizontal (or vertical if in vertical writing mode) + glyph displacement. + + + In horizontal writing mode a positive value will expand the distance between letters/glyphs. + Default value 0. + + + + + As for but applies only for the space character (32). + + + Default value 0. + + + + + Adjusts the width of glyphs/letters by stretching (or compressing) them horizontally. + Value is a percentage of the normal width. + + + + + The vertical distance in unscaled text space units between the baselines of lines of text. + + + + + The name of the currently active font. + + + + + The current font size. + + + + + The for glyph outlines. + + + When the rendering mode requires filling the current non-stroking color in the state is used.
+ When the rendering mode requires stroking the current stroking color in the state is used.
+ The rendering mode has no impact on Type 3 fonts. +
+
+ + + The distance in unscaled text space units to move the default baseline either up or down. + + + Always applies to the vertical coordinate irrespective or writing mode. + + + + + Are all glyphs in a text object treated as a single elementary object for the purpose of the transparent imaging model? + + + + + + + + The state of the current graphics control parameters set by operations in the content stream. + + + Initialized per page. + + + + + The current clipping path. + + + + + The for this graphics state. + + + + + Thickness in user space units of path to be stroked. + + + + + Specifies the shape of line ends for open stroked paths. + + + + + Specifies the shape of joins between connected stroked path segments. + + + + + Maximum length of mitered line joins for paths before becoming a bevel. + + + + + The pattern to be used for stroked lines. + + + + + The rendering intent to use when converting CIE-based colors to device colors. + + + + + Should a correction for rasterization effects be applied? + + + + + Opacity value to be used for transparent imaging. + + + + + Opacity value to be used for transparent imaging. + + + + + Should soft mask and alpha constant values be interpreted as shape () or opacity () values? + + + + + Maps positions from user coordinates to device coordinates. + + + + + The active colorspaces for this content stream. + + + + + The current active stroking color for paths. + + + + + The current active non-stroking color for text and fill. + + + + + Should painting in a colorant set erase () + or leave unchanged () areas of other colorant sets? + + + + + As for but with non-stroking operations. + + + + + In DeviceCMYK color space a value of 0 for a component will erase a component (0) + or leave it unchanged (1) for overprinting. + + + + + The precision for rendering curves, smaller numbers give smoother curves. + + + + + The precision for rendering color gradients on the output device. + + + + + + + + Methods for manipulating and retrieving the current color state for a PDF content stream. + + + + + The used for stroking operations. + + + + + The used for non-stroking operations. + + + + + Set the current color space to use for stroking operations and initialize the stroking color. + + The color space name. + The color space dictionary. Default value is null. + + + + Set the current color space to use for nonstroking operations and initialize the nonstroking color. + + The color space name. + The color space dictionary. Default value is null. + + + + Set the color to use for stroking operations using the current color space. + + + + + Set the stroking color space to DeviceGray and set the gray level to use for stroking operations. + + A number between 0.0 (black) and 1.0 (white). + + + + Set the stroking color space to DeviceRGB and set the color to use for stroking operations. + + Red - A number between 0 (minimum intensity) and 1 (maximum intensity). + Green - A number between 0 (minimum intensity) and 1 (maximum intensity). + Blue - A number between 0 (minimum intensity) and 1 (maximum intensity). + + + + Set the stroking color space to DeviceCMYK and set the color to use for stroking operations. + + Cyan - A number between 0 (minimum concentration) and 1 (maximum concentration). + Magenta - A number between 0 (minimum concentration) and 1 (maximum concentration). + Yellow - A number between 0 (minimum concentration) and 1 (maximum concentration). + Black - A number between 0 (minimum concentration) and 1 (maximum concentration). + + + + Set the color to use for nonstroking operations using the current color space. + + + + + Set the nonstroking color space to DeviceGray and set the gray level to use for nonstroking operations. + + A number between 0.0 (black) and 1.0 (white). + + + + Set the nonstroking color space to DeviceRGB and set the color to use for nonstroking operations. + + Red - A number between 0 (minimum intensity) and 1 (maximum intensity). + Green - A number between 0 (minimum intensity) and 1 (maximum intensity). + Blue - A number between 0 (minimum intensity) and 1 (maximum intensity). + + + + Set the nonstroking color space to DeviceCMYK and set the color to use for nonstroking operations. + + Cyan - A number between 0 (minimum concentration) and 1 (maximum concentration). + Magenta - A number between 0 (minimum concentration) and 1 (maximum concentration). + Yellow - A number between 0 (minimum concentration) and 1 (maximum concentration). + Black - A number between 0 (minimum concentration) and 1 (maximum concentration). + + + + The current graphics state context when running a PDF content stream. + + + + + The current position. + + + + + The matrices for the current text state. + + + + + The number of graphics states on the stack. + + + + + Gets the current graphic state. + + + + + Sets the current graphics state to the state from the top of the stack. + + + + + Saves a copy of the current graphics state on the stack. + + + + + Shows the text represented by the provided bytes using the current graphics state. + + The bytes of the text. + + + + Interprets the tokens to draw text at positions. + + The tokens to show. + + + + Retrieves the named XObject and applies it to the current state. + + The name of the XObject. + + + + Start a new sub-path. + + + + + Close the current subpath. + + + + + Stroke the current path. + + Whether to also close the path. + + + + Fill the current path. + + The filling rule to use. + Whether to also close the path. + + + + Fill and stroke the current path. + + The filling rule to use. + Whether to also close the path. + + + + Add a move command to the path. + Should implement matrix transformations. + + + + + Add a bezier curve to the current subpath. + Should implement matrix transformations. + + + + + Add a bezier curve to the current subpath. + Should implement matrix transformations. + + + + + Add a line command to the subpath. + Should implement matrix transformations. + + + + + Add a rectangle following the pdf specification (m, l, l, l, c) path. A new subpath will be created. + Should implement matrix transformations. + + + + + End the path object without filling or stroking it. This operator shall be a path-painting no-op, + used primarily for the side effect of changing the current clipping path (see 8.5.4, "Clipping Path Operators"). + + + + + Close the current path. + + + + + Indicate that a marked content region is started. + + + + + Indicates that the current marked content region is complete. + + + + + Update the graphics state to apply the state from the named ExtGState dictionary. + + The name of the state to apply. + + + + Indicate that an inline image is being defined. + + + + + Define the properties of the inline image currently being drawn. + + + + + Indicates that the current inline image is complete. + + + + + Modify the clipping rule of the current path. + + + + + Set the flatness tolerance in the graphics state. + Flatness is a number in the range 0 to 100; a value of 0 specifies the output device’s default flatness tolerance. + + + + + + Set the line cap style in the graphics state. + + + + + Set the line dash pattern in the graphics state. + + + + + Set the line join style in the graphics state. + + + + + Set the line width in the graphics state. + + + + + Set the miter limit in the graphics state. + + + + + Move to the start of the next line. + + + This performs this operation: 0 -Tl Td + The offset is negative leading text (Tl) value, this is incorrect in the specification. + + + + + Set the font and the font size. + Font is the name of a font resource in the Font subdictionary of the current resource dictionary. + Size is a number representing a scale factor. + + + + + Set the horizontal scaling. + + + + + + Set the text leading. + + + + + Set the text rendering mode. + + + + + Set text rise. + + + + + Sets the word spacing. + + + + + Modify the current transformation matrix by concatenating the specified matrix. + + + + + Set the character spacing to a number expressed in unscaled text space units. + Initial value: 0. + + + + + Paint the shape and colour shading described by a shading dictionary, subject to the current clipping path. The current colour in the graphics state is neither used nor altered. The effect is different from that of painting a path using a shading pattern as the current colour. + + The name of a shading dictionary resource in the Shading subdictionary of the current resource dictionary. + + + + Handles building s. + + + + + + Modify the current clipping path by intersecting it with the current path, using the + even-odd rule to determine which regions lie inside the clipping path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Modify the current clipping path by intersecting it with the current path, using the + nonzero winding number rule to determine which regions lie inside the clipping path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Begin a compatibility section. Unrecognized operators (along with their operands) are ignored without error. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End a compatibility section. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the color rendering intent in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The rendering intent for CIE-based colors. + + + + + Create new . + + The rendering intent. + + + + + + + + + + + + + + Set the flatness tolerance in the graphics state. + Flatness is a number in the range 0 to 100; a value of 0 specifies the output device’s default flatness tolerance. + + + + + The symbol for this operation in a stream. + + + + + + + + The flatness tolerance controls the maximum permitted distance in device pixels + between the mathematically correct path and an approximation constructed from straight line segments. + + + + + Create new . + + The flatness tolerance. + + + + + + + + + + + + + + Set the line cap style in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The cap style. + + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set the line dash pattern in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The line dash pattern. + + + + + Create a new . + + + + + + + + + + + + + + + + + The symbol for this operation in a stream. + + + + + + + + The line join style. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set the line width in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The line width. + + + + + Create a new . + + The line width. + + + + + + + + + + + + + + Set the miter limit in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The miter limit. The miter limit imposes a maximum on the ratio of the miter length to the line width. + When the limit is exceeded, the join is converted from a miter to a bevel. + + + + + Create a new . + + + + + + + + + + + + + + An operation with associated data from a content stream. + + + + + The symbol representing the operator in the content stream. + + + + + Writes the operator and any operands as valid PDF content to the stream. + + The stream to write to. + + + + Applies the operation to the current context with the provided resources. + Matrix transformations should be implemented in . + + + + + + + Begin an inline image object. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Begin the image data for an inline image object. + + + + + The symbol for this operation in a stream. + + + + + + + + The key-value pairs which specify attributes of the following image. + + + + + Create a new . + + + + + + + + + + + + + + + End an inline image object. + + + + + The symbol for this operation in a stream. + + + + + The raw data for the inline image which should be interpreted according to the corresponding . + + + + + + + + Create a new operation. + + The raw byte data of this image. + + + + + + + + + + + + + + Paint the specified XObject. + The operand name must appear as a key in the XObject subdictionary of the current resource dictionary. + The associated value must be a stream whose Type entry, if present, is XObject. + The effect of depends on the value of the XObject's Subtype entry, which may be Image, Form or PS. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the XObject which appears in the XObject subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the XObject. + + + + + + + + + + + + + + Begin a marked-content sequence terminated by a balancing operator. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the sequence. + + + + + Create a new . + + The name of the marked-content sequence. + + + + + + + + + + + + + + Begin a marked-content sequence with an associated property list terminated by a balancing operator. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + The name of the property dictionary in the Properties subdictionary of the current resource dictionary. + Can be if the property dictionary is provided inline. + + + + + The marked-content sequence properties. + Can be if a name of the property dictionary is provided instead. + + + + + Create a new . + + The name of the marked-content point. + The name of the property dictionary. + + + + Create a new . + + The name of the marked-content point. + The properties of the marked-content point. + + + + + + + + + + + Designate a single marked-content point in the content stream. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + Create a new . + + The name of the marked-content point. + + + + + + + + + + + + + + Designate a single marked-content point in the content stream with an associated property list. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + The name of the property dictionary in the Properties subdictionary of the current resource dictionary. + Can be if the property dictionary is provided inline. + + + + + The marked-content point properties. + Can be if a name of the property dictionary is provided instead. + + + + + Create a new . + + The name of the marked-content point. + The name of the property dictionary. + + + + Create a new . + + The name of the marked-content point. + The properties of the marked-content point. + + + + + + + + + + + End a marked-content sequence. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + Paint the shape and color shading described by a shading dictionary, subject to the current clipping path. + The current color in the graphics state is neither used nor altered. + The effect is different from that of painting a path using a shading pattern as the current color. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of a shading dictionary resource in the Shading subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the shading dictionary. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + First control point x. + + + + + First control point y. + + + + + Second control point x. + + + + + Second control point y. + + + + + End point x. + + + + + End point y. + + + + + Create a new . + + Control point 1 x coordinate. + Control point 1 y coordinate. + Control point 2 x coordinate. + Control point 2 y coordinate. + End point x coordinate. + End point y coordinate. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the first control point. + + + + + The y coordinate of the first control point. + + + + + The x coordinate of the end point. + + + + + The y coordinate of the end point. + + + + + Create a new . + + Control point 1 x coordinate. + Control point 1 y coordinate. + Control point 2/End x coordinate. + Control point 2/End y coordinate. + + + + + + + + + + + + + + Append a rectangle to the current path as a complete subpath. + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the lower left corner. + + + + + The y coordinate of the lower left corner. + + + + + The width of the rectangle. + + + + + The height of the rectangle. + + + + + Create a new . + + The x coordinate of the lower left corner. + The y coordinate of the lower left corner. + The width of the rectangle. + The height of the rectangle. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using the current point and (x2, y2) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the second control point. + + + + + The y coordinate of the second control point. + + + + + The x coordinate of the end point of the curve. + + + + + The y coordinate of the end point of the curve. + + + + + Create a new . + + The x coordinate of the second control point. + The y coordinate of the second control point. + The x coordinate of the end point. + The y coordinate of the end point. + + + + + + + + + + + + + + Append a straight line segment from the current point to the point (x, y). + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the end point of the line. + + + + + The y coordinate of the end point of the line. + + + + + Create a new . + + The x coordinate of the line's end point. + The y coordinate of the line's end point. + + + + + + + + + + + + + + Begin a new subpath by moving the current point to coordinates (x, y), omitting any connecting line segment. + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate for the subpath to begin at. + + + + + The y coordinate for the subpath to begin at. + + + + + Create a new . + + The x coordinate. + The y coordinate. + + + + + + + + + + + + + + Close the current subpath by appending a straight line segment from the current point to the starting point of the subpath. + If the current subpath is already closed, this does nothing. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close and stroke the path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close, fill, and then stroke the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close, fill, and then stroke the path, using the nonzero winding number rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End path without filling or stroking. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill and then stroke the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill the path, using the nonzero winding number rule to determine the region to fill. + Any subpaths that are open are implicitly closed before being filled. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill and then stroke the path, using the nonzero winding number rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Equivalent to included only for compatibility. + Although PDF consumer applications must be able to accept this operator, PDF producer applications should use instead. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Stroke the path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the nonstroking color based on the current color space. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color, 1 for grayscale, 3 for RGB, 4 for CMYK. + + + + + Create a new . + + The color operands. + + + + + + + + + + + + + + Set the stroking color based on the current color space with support for Pattern, Separation, DeviceN, and ICCBased color spaces. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color. + + + + + The name of an entry in the Pattern subdictionary of the current resource dictionary. + + + + + Create a new . + + The color operands. + + + + Create a new . + + The color operands. + The pattern name. + + + + + + + + + + + + + + Set the non-stroking color space to DeviceCMYK and set the color to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The cyan level between 0 and 1. + + + + + The magenta level between 0 and 1. + + + + + The yellow level between 0 and 1. + + + + + The key level between 0 and 1. + + + + + Create a new . + + The cyan level. + The magenta level. + The yellow level. + The key level. + + + + + + + + + + + + + + Set the gray level for non-stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The gray level between 0 (black) and 1 (white). + + + + + Create a new . + + The gray level. + + + + + + + + + + + + + + Set RGB color for non-stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The red level between 0 and 1. + + + + + The green level between 0 and 1. + + + + + The blue level between 0 and 1. + + + + + Create a new . + + The red level. + The green level. + The blue level. + + + + + + + + + + + + + + Set the current color space to use for nonstroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the color space. + + + + + Create a new . + + The name of the color space. + + + + + + + + + + + + + + Set the stroking color based on the current color space. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color, 1 for grayscale, 3 for RGB, 4 for CMYK. + + + + + Create a new . + + The color operands. + + + + + + + + + + + + + + Set the stroking color based on the current color space with support for Pattern, Separation, DeviceN, and ICCBased color spaces. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color. + + + + + The name of an entry in the Pattern subdictionary of the current resource dictionary. + + + + + Create a new . + + The color operands. + + + + Create a new . + + The color operands. + The pattern name. + + + + + + + + + + + + + + Set the stroking color space to DeviceCMYK and set the color to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The cyan level between 0 and 1. + + + + + The magenta level between 0 and 1. + + + + + The yellow level between 0 and 1. + + + + + The key level between 0 and 1. + + + + + Create a new . + + The cyan level. + The magenta level. + The yellow level. + The key level. + + + + + + + + + + + + + + Set the gray level for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The gray level between 0 (black) and 1 (white). + + + + + Create a new . + + The gray level. + + + + + + + + + + + + + + Set RGB color for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The red level between 0 and 1. + + + + + The green level between 0 and 1. + + + + + The blue level between 0 and 1. + + + + + Create a new . + + The red level. + The green level. + The blue level. + + + + + + + + + + + + + + Set the current color space to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the color space. + + + + + Create a new . + + The name of the color space. + + + + + + + + + + + + + + Modify the current transformation matrix by concatenating the specified matrix. + + + + + The symbol for this operation in a stream. + + + + + + + + The 6 values for the transformation matrix. + + + + + Create a new . + + The 6 transformation matrix values. + + + + + + + + + + + + + + Restore the graphics state by removing the most recently saved state from the stack and making it the current state. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Save the current graphics state on the graphics state stack. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the specified parameters in the graphics state using the ExtGState subdictionary with the given name. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of a graphics state parameter dictionary in the ExtGState subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the ExtGState dictionary. + + + + + + + + + + + + + + Begin a text object, initializing the text matrix and the text line matrix to the identity matrix. Text objects cannot be nested. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End a text object, discarding the text matrix. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Move to the start of the next line. + + + This performs this operation: 0 -Tl Td + The offset is negative leading text (Tl) value, this is incorrect in the specification. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Move to the start of the next line offset by Tx Ty. + + + Performs the following operation: + 1 0 0
+ Tm = Tlm = 0 1 0 * Tlm
+ tx ty 1 +
+
+ + + The symbol for this operation in a stream. + + + + + + + + The x value of the offset. + + + + + The y value of the offset. + + + + + Create a new . + + The x offset. + The y offset. + + + + + + + + + + + + + + Move to the start of the next line, offset from the start of the current line by (tx, ty). + This operator also sets the leading parameter in the text state. + + + + + The symbol for this operation in a stream. + + + + + + + + The x value of the offset. + + + + + The y value of the offset and the inverse of the leading parameter. + + + + + Create a new . + + The x value of the offset. + The y value of the offset and the inverse of the leading parameter. + + + + + + + + + + + + + + Set the text matrix and the text line matrix. + + + + + The symbol for this operation in a stream. + + + + + + + + The values of the text matrix. + + + + + Create a new . + + The values of the text matrix. + + + + + + + + + + + + + + Move to the next line and show a text string. + + + + + The symbol for this operation in a stream. + + + + + + + + The text to show as a . + + + + + The text to show as hex bytes. + + + + + Create a new . + + The text to show. + + + + Create a new . + + The bytes of the text to show. + + + + + + + + + + + + + + Move to the next line and show a text string, using the first number as the word spacing and the second as the character spacing. + + + + + The symbol for this operation in a stream. + + + + + + + + The word spacing. + + + + + The character spacing. + + + + + The bytes of the text. + + + + + The text to show. + + + + + Create a new . + + The word spacing. + The character spacing. + The text to show. + + + + Create a new . + + The word spacing. + The character spacing. + The bytes of the text to show. + + + + + + + + + + + + + + Show a text string + + + The input is a sequence of character codes to be shown as glyphs. + + Generally each byte represents a single character code, however starting in version 1.2+ + a composite font might use multi-byte character codes to map to glyphs. + For these composite fonts, the of the font defines the mapping from code to glyph. + + + The grouping of character codes in arguments to this operator does not have any impact on the meaning; for example:
+ (Abc) Tj is equivalent to (A) Tj (b) Tj (c) Tj
+ However grouping character codes makes the document easier to search and extract text from. +
+
+
+ + + The symbol for this operation in a stream. + + + + + + + + The text string to show. + + + + + The bytes of the string to show. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Show one or more text strings, allowing individual glyph positioning. + Each element of array can be a string or a number. + If the element is a string, this operator shows the string. + If it is a number, the operator adjusts the text position by that amount + + + + + The symbol for this operation in a stream. + + + + + + + + The array elements. + + + + + Create a new . + + The array elements. + + + + + + + + + + + Set the character spacing to a number expressed in unscaled text space units. + Initial value: 0. + + + + + The symbol for this operation in a stream. + + + + + + + + The character spacing. + + + + + Create a new . + + The character spacing. + + + + + + + + + + + + + + Set the font and the font size. + Font is the name of a font resource in the Font subdictionary of the current resource dictionary. + Size is a number representing a scale factor. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the font as defined in the resource dictionary. + + + + + The font program defines glyphs for a standard size. This standard size is set so that each line of text will occupy 1 unit in user space. + The size is the scale factor used to scale glyphs from the standard size to the display size rather than the font size in points. + + + + + Create a new . + + The font name. + The font size. + + + + + + + + + + + + + + + + The symbol for this operation in a stream. + + + + + + + + A number specifying the percentage of the normal width. + + + + + Create a new . + + The horizontal scaling percentage. + + + + + + + + + + + + + + Set the text leading. + + + + + The symbol for this operation in a stream. + + + + + + + + The text leading in unscaled text space units. + + + + + Create a new . + + The text leading. + + + + + + + + + + + + + + Set the text rendering mode. + + + + + The symbol for this operation in a stream. + + + + + + + + The text rendering mode to set. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set text rise. + + + + + The symbol for this operation in a stream. + + + + + + + + The amount of text rise - how far to move the baseline up or down from its default location. + + + + + Create a new . + + The text rise. + + + + + + + + + + + + + Sets the word spacing. + + + + + The symbol for this operation in a stream. + + + + + + + + Sets the width of the space ' ' character. For horizontal + writing positive values increase the gap between words separated by space, for vertical writing + positive values decrease the gap. + + + + + Create a new . + + The word spacing. + + + + + + + + + + + + + + Set width information for the glyph and declare that the glyph description specifies both its shape and its color for a Type 3 font. + wx specifies the horizontal displacement in the glyph coordinate system; + it must be consistent with the corresponding width in the font's Widths array. + wy must be 0. + + + + + The symbol for this operation in a stream. + + + + + + + + The horizontal displacement in the glyph coordinate system. + + + + + The vertical displacement in the glyph coordinate system. Must be 0. + + + + + Create a new . + + The horizontal displacement in the glyph coordinate system. + The vertical displacement in the glyph coordinate system. + + + + + + + + + + + + + + Set width information for the glyph and declare that the glyph description specifies both its shape and its color for a Type 3 font. + Also sets the glyph bounding box. + + + + + The symbol for this operation in a stream. + + + + + + + + The horizontal displacement in the glyph coordinate system. + + + + + The vertical displacement in the glyph coordinate system. Must be 0. + + + + + The lower left x coordinate of the glyph bounding box. + + + + + The lower left y coordinate of the glyph bounding box. + + + + + The upper right x coordinate of the glyph bounding box. + + + + + The upper right y coordinate of the glyph bounding box. + + + + + Create a new . + + The horizontal displacement in the glyph coordinate system. + The vertical displacement in the glyph coordinate system. + The lower left x coordinate of the glyph bounding box. + The lower left y coordinate of the glyph bounding box. + The upper right x coordinate of the glyph bounding box. + The upper right y coordinate of the glyph bounding box. + + + + + + + + + + + + + A path is made up of one or more disconnected subpaths, each comprising a sequence of connected segments. The topology of the path is unrestricted: it may be concave or convex, may contain multiple subpaths representing disjoint areas, and may intersect itself in arbitrary ways. + A path shall be composed of straight and curved line segments, which may connect to one another or may be disconnected. + + + + + Rules for determining which points lie inside/outside the path. + + + + + Returns true if this is a clipping path. + + + + + Returns true if the path is filled. + + + + + The fill color. + + + + + Returns true if the path is stroked. + + + + + The stroke color. + + + + + Thickness in user space units of path to be stroked. + + + + + The pattern to be used for stroked lines. + + + + + The cap style to be used for stroked lines. + + + + + The join style to be used for stroked lines. + + + + + Set the clipping mode for this path and IsClipping to true. + IsFilled and IsStroked flags will be set to false. + + + + + Set the filling rule for this path and IsFilled to true. + + + + + Set IsStroked to true. + + + + + Create a clone with no Subpaths. + + + + + Gets a which entirely contains the geometry of the defined path. + + For paths which don't define any geometry this returns . + + + + Manages the Text Matrix (Tm), Text line matrix (Tlm) and used to generate the Text Rendering Matrix (Trm). + + + + + The current text matrix (Tm). + + + + + Captures the value of the at the beginning of a line of text. + This is convenient for aligning evenly spaced lines of text. + + + + + An XObject content record. + + + + + The XObject type. + + + + + The XObject stream. + + + + + The applied transformation. + + + + + The default rendering intent. + + + + + The default color space. + + + + + Utility for working with the bytes in s and converting according to their .s + + + + + Converts the output bytes (if available) of + to actual pixel values using the . For most images this doesn't + change the data but for it will convert the bytes which are indexes into the + real pixel data into the real pixel data. + + + + + Information read from a JPEG image. + + + + + Width of the image in pixels. + + + + + Height of the image in pixels. + + + + + Bits per component. + + + + + Create a new . + + + + + Indicates that this is a baseline DCT-based JPEG, and specifies the width, height, number of components, and component subsampling. + + + + + Indicates that this is a progressive DCT-based JPEG, and specifies the width, height, number of components, and component subsampling. + + + + + Specifies one or more Huffman tables. + + + + + Begins a top-to-bottom scan of the image. In baseline images, there is generally a single scan. + Progressive images usually contain multiple scans. + + + + + Specifies one or more quantization tables. + + + + + Specifies the interval between RSTn markers, in Minimum Coded Units (MCUs). + This marker is followed by two bytes indicating the fixed size so it can be treated like any other variable size segment. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Marks the start of a JPEG image file. + + + + + Marks the end of a JPEG image file. + + + + + Marks a text comment. + + + + + For a given pass number (1 indexed) the scanline indexes of the lines included in that pass in the 8x8 grid. + + + + + Used to calculate the Adler-32 checksum used for ZLIB data in accordance with + RFC 1950: ZLIB Compressed Data Format Specification. + + + + + Calculate the Adler-32 checksum for some data. + + + + + The header for a data chunk in a PNG file. + + + + + The position/start of the chunk header within the stream. + + + + + The length of the chunk in bytes. + + + + + The name of the chunk, uppercase first letter means the chunk is critical (vs. ancillary). + + + + + Whether the chunk is critical (must be read by all readers) or ancillary (may be ignored). + + + + + A public chunk is one that is defined in the International Standard or is registered in the list of public chunk types maintained by the Registration Authority. + Applications can also define private (unregistered) chunk types for their own purposes. + + + + + Whether the (if unrecognized) chunk is safe to copy. + + + + + Create a new . + + + + + + + + Describes the interpretation of the image data. + + + + + Grayscale. + + + + + Colors are stored in a palette rather than directly in the data. + + + + + The image uses color. + + + + + The image has an alpha channel. + + + + + The method used to compress the image data. + + + + + Deflate/inflate compression with a sliding window of at most 32768 bytes. + + + + + 32-bit Cyclic Redundancy Code used by the PNG for checking the data is intact. + + + + + Calculate the CRC32 for data. + + + + + Calculate the CRC32 for data. + + + + + Calculate the combined CRC32 for data. + + + + + Computes a simple linear function of the three neighboring pixels (left, above, upper left), + then chooses as predictor the neighboring pixel closest to the computed value. + + + + + Indicates the pre-processing method applied to the image data before compression. + + + + + Adaptive filtering with five basic filter types. + + + + + The raw byte is unaltered. + + + + + The byte to the left. + + + + + The byte above. + + + + + The mean of bytes left and above, rounded down. + + + + + Byte to the left, above or top-left based on Paeth's algorithm. + + + + + Enables execution of custom logic whenever a chunk is read. + + + + + Called by the PNG reader after a chunk is read. + + + + + The high level information about the image. + + + + + The width of the image in pixels. + + + + + The height of the image in pixels. + + + + + The bit depth of the image. + + + + + The color type of the image. + + + + + The compression method used for the image. + + + + + The filter method used for the image. + + + + + The interlace method used by the image.. + + + + + Create a new . + + + + + + + + Indicates the transmission order of the image data. + + + + + No interlace. + + + + + Adam7 interlace. + + + + + Creates a palette object. Input palette data length from PLTE chunk must be a multiple of 3. + + + + + Adds transparency values from tRNS chunk. + + + + + A pixel in a image. + + + + + The red value for the pixel. + + + + + The green value for the pixel. + + + + + The blue value for the pixel. + + + + + The alpha transparency value for the pixel. + + + + + Whether the pixel is grayscale (if , and will all have the same value). + + + + + Create a new . + + The red value for the pixel. + The green value for the pixel. + The blue value for the pixel. + The alpha transparency value for the pixel. + Whether the pixel is grayscale. + + + + Create a new which has false and is fully opaque. + + The red value for the pixel. + The green value for the pixel. + The blue value for the pixel. + + + + Create a new grayscale . + + The grayscale value. + + + + + + + Whether the pixel values are equal. + + The other pixel. + if all pixel values are equal otherwise . + + + + + + + + + + A PNG image. Call to open from file or bytes. + + + + + The header data from the PNG image. + + + + + The width of the image in pixels. + + + + + The height of the image in pixels. + + + + + Whether the image has an alpha (transparency) layer. + + + + + Get the pixel at the given column and row (x, y). + + + Pixel values are generated on demand from the underlying data to prevent holding many items in memory at once, so consumers + should cache values if they're going to be looped over many time. + + The x coordinate (column). + The y coordinate (row). + The pixel at the coordinate. + + + + Read the PNG image from the stream. + + The stream containing PNG data to be read. + Optional: A visitor which is called whenever a chunk is read by the library. + The data from the stream. + + + + Read the PNG image from the bytes. + + The bytes of the PNG data to be read. + Optional: A visitor which is called whenever a chunk is read by the library. + The data from the bytes. + + + + Read the PNG from the file path. + + The path to the PNG file to open. + Optional: A visitor which is called whenever a chunk is read by the library. + This will open the file to obtain a so will lock the file during reading. + The data from the file. + + + + Used to construct PNG images. Call to make a new builder. + + + + + Create a builder for a PNG with the given width and size. + + + + + Sets the RGB pixel value for the given column (x) and row (y). + + + + + Set the pixel value for the given column (x) and row (y). + + + + + Get the bytes of the PNG file for this builder. + + + + + Write the PNG file bytes to the provided stream. + + + + + The code to execute whenever a chunk is read. Can be . + + + + + Whether to throw if the image contains data after the image end marker. + by default. + + + + + Provides convenience methods for indexing into a raw byte array to extract pixel values. + + + + + Create a new . + + The decoded pixel data as bytes. + The number of bytes in each pixel. + The palette for the image. + The image header. + + + + but without being a public API/ + + + + Default constructor. + + + Default constructor. + + + Create a random access buffer using the given byte array. + + @param input the byte array to be read + + + Create a random access buffer of the given input stream by copying the data. + + @param input the input stream to be read + @throws IOException if something went wrong while copying the data + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + create a new buffer chunk and adjust all pointers and indices. + + + switch to the next buffer chunk and reset the buffer pointer. + + + Ensure that the RandomAccessBuffer is not closed + @throws IOException + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + + Logs internal messages from the PDF parsing process. Consumers can provide their own implementation + in the to intercept log messages. + + + + + Record an informational debug message. + + + + + Record an informational debug message with exception. + + + + + Record an warning message due to a non-error issue encountered in parsing. + + + + + Record an error message due to an issue encountered in parsing. + + + + + Record an error message due to an issue encountered in parsing with exception. + + + + + A node in the (also known as outlines) of a PDF document. + + + + + The text displayed for this node. + + + + + The bookmark's sub-bookmarks. + + + + + Whether this node is a leaf node (has no children). + + + + + The node's level in the hierarchy. + + + + + Create a new . + + + + + The bookmarks in a PDF document. + + + + + The roots of the bookmarks' node tree. + + + + + Create a new . + + + + + Get all nodes. + + + + + Extract bookmarks, if any. + + + + + Extract bookmarks recursively. + + + + + Get explicit destination or a named destination (Ref 12.3.2.3) from dictionary + + + Token name, can be D or Dest + + + + in case we are looking up a destination for a GoToR (Go To Remote) action: pass in true + to enforce a check for indirect page references (which is not allowed for GoToR) + + + + + + A destination location in the same file. + + + + + The page number (1-based) of the destination. + + + + + The display type of the destination. + + + + + The display coordinates of the destination. + + + + + Create a new . + + + + + The coordinates of the region to display for a . + + + + + An empty set of coordinates where no values have been set. + + + + + The left side of the region to display. + + + + + The top edge of the region to display. + + + + + The right side of the region to display + + + + + The bottom edge of the region to display. + + + + + Create a new . + + + + + Create a new . + + + + + Create a new . + + + + + The display type for opening an . + + + + + Display the page with the given top left coordinates and + zoom level. + + + + + Fit the entire page within the window. + + + + + Fit the entire page width within the window. + + + + + Fit the entire page height within the window. + + + + + Fit the rectangle specified by the + within the window. + + + + + Fit the page's bounding box within the window. + + + + + Fit the page's bounding box width within the window. + + + + + Fit the page's bounding box height within the window. + + + + + Named destinations in a PDF document + + + + + Dictionary containing explicit destinations, keyed by name + + + + + Pages are required for getting explicit destinations + + + + + Constructor + + + + + + + + A node in the of a PDF document which corresponds + to a location in the current document. + + + + + The page number where the bookmark is located. + + + + + The destination of the bookmark in the current document. + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a location in an embedded file. + + + + + The file specification for the embedded file + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a location in an external file. + + + + + The name of the file containing this bookmark. + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a uniform resource identifier on the Internet. + + + + + The uniform resource identifier to resolve. + + + + + + Create a new . + + + + + + + + Parse the dictionary from a PDF file trailer. + + + + + Convert the file trailer dictionary into a instance. + + + + + Check that the offsets in the cross reference are correct. + + + + + Used to retrieve the version header from the PDF file. + + + The first line of a PDF file should be a header consisting of the 5 characters %PDF– followed by a version number of the form 1.N, where N is a digit between 0 and 7. + A conforming reader should accept files with any of the following headers: + %PDF–1.0 + %PDF–1.1 + %PDF–1.2 + %PDF–1.3 + %PDF–1.4 + %PDF–1.5 + %PDF–1.6 + %PDF–1.7 + This parser allows versions up to 1.9. + For versions equal or greater to PDF 1.4, the optional Version entry in the document's catalog dictionary should be used instead of the header version. + + + + + The %%EOF may be further back in the file. + + + + + For objects which provide document scoped caching. + + + + + Brute force search for all objects in the document. + + + + + Find the offset of every object contained in the document by searching the entire document contents. + + The bytes of the document. + The object keys and offsets for the objects in this document. + + + + The array representing the size of the fields in a cross reference stream. + + + + + The type of the entry. + + + + + Type 0 and 2 is the object number, Type 1 this is the byte offset from beginning of file. + + + + + For types 0 and 1 this is the generation number. For type 2 it is the stream index. + + + + + How many bytes are in a line. + + + + + Parses through the unfiltered stream and populates the xrefTable HashMap. + + + + + Each subsection of the cross-reference table starts with a line defining the starting object number + and the count of objects in the subsection. + + + xref + 12 16 + ... + + Defines a table subsection that starts with object 12 and has 16 entries (12-27). + + + + + The first object number in the table. + + + + + The number of consecutive objects declared in the table. + + + + + Create a new to define a range of consecutive objects in the cross-reference table. + + + + + Attempts to read the from the current line of the source. + + + + + Configures options used by the parser when reading PDF documents. + + + + + A default with set to false. + + + + + Should the parser apply clipping to paths? + Defaults to . + Bezier curves will be transformed into polylines if clipping is set to . + + + + + Should the parser ignore issues where the document does not conform to the PDF specification? + + + + + The used to record messages raised by the parsing process. + + + + + The password to use to open the document if it is encrypted. If you need to supply multiple passwords to test against + you can use . The value of will be included in the list to test against. + + + + + All passwords to try when opening this document, will include any values set for . + + + + + Skip extracting content where the font could not be found, will result in some letters being skipped/missed + but will prevent the library throwing where the source PDF has some corrupted text. Also skips XObjects like + forms and images when missing. + + + + + + Provides access to document level information for this PDF document as well as access to the s contained in the document. + + + + + The metadata associated with this document. + + + + + Access to the underlying raw structure of the document. + + + + + Access to rare or advanced features of the PDF specification. + + + + + The version number of the PDF specification which this file conforms to, for example 1.4. + + + + + Get the number of pages in this document. + + + + + Whether the document content is encrypted. + + + + + Creates a for reading from the provided file bytes. + + The bytes of the PDF file. + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Opens a file and creates a for reading from the provided file path. + + The full path to the file location of the PDF file. + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Creates a for reading from the provided stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + + + A stream of the file contents, this must support reading and seeking. + The PdfDocument will not dispose of the provided stream. + + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Get the page with the specified page number (1 indexed). + + The number of the page to return, this starts from 1. + The page. + + + + Gets all pages in this document in order. + + + + + Get the document level metadata if present. + The metadata is XML in the (Extensible Metadata Platform) XMP format. + + This will throw a if called on a disposed . + The metadata stream if it exists. + if the metadata is present, otherwise. + + + + Gets the bookmarks if this document contains some. + + This will throw a if called on a disposed . + + + + Gets the form if this document contains one. + + This will throw a if called on a disposed . + An from the document or if not present. + + + + + Dispose the and close any unmanaged resources. + + + + + Extensions for PDF types. + + + + + Try and get the entry with a given name and type or look-up the object if it's an indirect reference. + + + + + Get the decoded data from this stream. + + + + + Character bounding box. + + + + + The glyph bounds. + + + + + THe width. + + + + + Specifies the character collection associated with the (CIDFont). + + + + + Identifies the issuer of the character collection. + + + + + Uniquely identifies the character collection within the parent registry. + + + + + The supplement number of the character collection. + + + + + The stack of numeric operands currently active in a CharString. + + + + + The current size of the stack. + + + + + Whether it's possible to pop a value from either end of the stack. + + + + + Remove and return the value from the top of the stack. + + The value from the top of the stack. + + + + Remove and return the value from the bottom of the stack. + + The value from the bottom of the stack. + + + + Adds the value to the top of the stack. + + The value to add. + + + + Removes all values from the stack. + + + + + Specifies mapping from character identifiers to glyph indices. + Can either be defined as a name in which case it must be Identity or a stream which defines the mapping. + + + + + Glyph descriptions based on Adobe Type 1 format. + + + + + Glyph descriptions based on TrueType format. + + + + + A CID font contains glyph descriptions accessed by + CID (character identifier) as character selectors. + + + A CID font contains information about a CIDFont program but is + not itself a font. It can only be a descendant of a Type 0 font. + + + + + + + + + + Either Type0 (Adobe Type 1 font) or Type2 (TrueType font). + + + + + The PostScript name of the CIDFont. + + + + + The definition of the character collection for the font. + + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + The glyph path for the given character code. + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + + The glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + The normalized glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + + The normalized glyph path for the given character code. + + + + Represents either an Adobe Type 1 or TrueType font program for a CIDFont. + + + + + + Type 0 CID fonts contain glyph descriptions based on the + Adobe Type 1 font format. + + + + + + Type 2 CID fonts contains glyph descriptions based on + the TrueType font format. + + + + + Defines the default position and displacement vector vertical components + for fonts which have vertical writing modes. + + + + + The default value of if not defined by a font. + + + + + The vertical component of the position vector. + + + The full position vector unless overridden by the W2 array is: + (w0/2, Position) + Where w0 is the width of the given glyph. + + + + + The vertical component of the displacement vector. + + + The full displacement vector is: + (0, Displacement) + + + + + Create a new . + + + + + Get the full position vector for a given glyph. + + + + + Get the full displacement vector. + + + + + + + + Glyphs from fonts which support vertical writing mode define displacement and position vectors. + The position vector specifies how the horizontal writing origin is transformed into the vertical writing origin. + The displacement vector specifies how far to move vertically before drawing the next glyph. + + + + + The default position and displacement vectors where not overridden. + + + + + Overrides displacement vector y components for glyphs specified by CID code. + + + + + Overrides position vector (x and y) components for glyphs specified by CID code. + + + + + Create new . + + + + + Get the position vector used to convert horizontal glyph origin to vertical origin. + + + + + Get the displacement vector used to move the origin to the next glyph location after drawing. + + + + + A mutable class used when parsing and generating a . + + + + + Defines the character collection associated CIDFont/s for this CMap. + + + + + An that determines the writing mode for any CIDFont combined with this CMap. + 0: Horizontal + 1: Vertical + + + Defined as optional. + + + + + The PostScript name of the CMap. + + + Defined as required. + + + + + Defines the version of this CIDFont file. + + + Defined as optional. + + + + + Defines changes to the internal structure of Character Map files + or operator semantics. + + + Defined as required. + + + + + Maps from a single character code to its CID. + + + + + The character code. + + + + + The CID to map to. + + + + + Creates a new single mapping from a character code to a CID. + + + + + Associates the beginning and end of a range of character codes with the starting CID for the range. + + + + + The beginning of the range of character codes. + + + + + The end of the range of character codes. + + + + + The CID associated with the beginning character code. + + + + + Creates a new to associate a range of character codes to a range of CIDs. + + The first character code in the range. + The last character code in the range. + The first CID for the range. + + + + Determines if this contains a mapping for the character code. + + + + + Attempts to map the given character code to the corresponding CID in this range. + + Character code + The CID if found. + if the character code maps to a CID in this range or if the character is out of range. + + + + The CMap (character code map) maps character codes to character identifiers (CIDs). + The set of characters which a CMap refers to is the "character set" (charset). + + + + + Defines the type of the internal organization of the CMap file. + + + + + Defines the name of the CMap file. + + + + + The version number of the CIDFont file. + + + + + Describes the set of valid input character codes. + + + + + Associates ranges of character codes with their corresponding CID values. + + + + + Overrides CID mappings for single character codes. + + + + + Controls whether the font associated with the CMap writes horizontally or vertically. + + + + + Issue #202 seems to indicate empty codespace ranges are possible. + + + + + Returns the sequence of Unicode characters for the given character code. + + Character code + Unicode characters(may be more than one, e.g "fi" ligature) + if this character map contains an entry for this code, otherwise. + + + + Converts a character code to a CID. + + The character code. + The corresponding CID for the character code. + + + + A codespace range is specified by a pair of codes of some particular length giving the lower and upper bounds of that range. + + + + + The lower-bound of this range. + + + + + The upper-bound of this range. + + + + + The lower-bound of this range as an integer. + + + + + The upper-bound of this range as an integer. + + + + + The number of bytes for numbers in this range. + + + + + Creates a new instance of . + + + + + Returns if the given code bytes match this codespace range. + + + + + Returns true if the given code bytes match this codespace range. + + + + + Defines the information content (actual text) of the font + as opposed to the display format. + + + + + Does the font provide a CMap to map CIDs to Unicode values? + + + + + Is this document (unexpectedly) using a predefined Identity-H/V CMap as its ToUnicode CMap? + + + + + Defines glyphs using a CIDFont + + + + + + + + + + + Holds the location and type of the stream containing the corresponding font program. + + + This can either be a Type 1 font program (FontFile - ), + a TrueType font program (FontFile2 - ) or a font program + whose format is given by the Subtype of the stream dictionary (FontFile3 - ). + At most only 1 of these entries is present. + + + + + The object containing the stream for this font program. + + + + + The type of the font program represented by this descriptor. + + + + + Create a new . + + + + + The type of font program represented by the stream used by this font descriptor. + + + + + A Type 1 font program. + + + + + A TrueType font program. + + + + + A type defined by the stream dictionary's Subtype entry. + + + + + Specifies metrics and attributes of a simple font or CID Font for the whole font rather than per-glyph. + + + + Provides information to enable consumer applications to find a substitute font when the font is unavailable. + + + Font descriptors are not used with Type 0 fonts. + + + A font descriptor is a dictionary used to specify various attributes. + + + + + + The PostScript name for the font. + + Required + + + + The preferred font family. + + Optional + + + + The font stretch value. + + Optional + + + + The weight/thickness of the font. + + + Possible values: + 100
+ 200
+ 300
+ 500 (normal)
+ 600
+ 700
+ 800
+ 900
+ Optional +
+
+ + + Defines various font characteristics. See . + + Required + + + + A rectangle in glyph coordinates which represents the smallest + rectangle containing all glyphs of the font. + + Required (Except Type 3) + + + + The angle in degrees counter-clockwise from vertical of the vertical + lines of the font. + The value is negative for fonts sloping right (italic fonts). + + 9 o'clock is represented by 90 degrees. 3 o'clock is -90 degrees. + Required + + + + The maximum height above the baseline for any glyph from this font (except for accents). + + Required (Except Type 3) + + + + The maximum depth below the baseline for any glyph in the font. This is negative. + + Required (Except Type 3) + + + + The spacing between consecutive lines of text. Default 0. + + Optional + + + + The vertical distance of the top of flat capital letters from the baseline. + + Required (Where Latin Characters, Except Type 3) + + + + The x height of the font. The vertical distance of the top of flat non-ascending + lowercase letters (e.g. x) from the baseline. Default 0. + + Optional + + + + The horizontal thickness of vertical stems of glyphs. + + Required (Except Type 3) + + + + The vertical thickness of horizontal stems of glyphs. Default 0. + + Optional + + + + The average glyph width in the font. Default 0. + + Optional + + + + The maximum glyph width in the font. Default 0. + + Optional + + + + The width for character codes whose widths are not present in the Widths + array of the font dictionary. Default 0. + + Optional + + + + The bytes of the font program. + + Optional + + + + The character names defined in a font subset. + + Optional + + + + Create a new . + + + + + Provides a mutable way to construct a . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Create a new . + + + + + Create the with values from this builder. + + + + + Specifies various characteristics of a font. + + + + + No flags are set. + + + + + All glyphs have the same width. + + + + + Glyphs have serifs. + + + + + There are glyphs outside the Adobe standard Latin set. + + + + + The glyphs resemble cursive handwriting. + + + + + Font uses a (sub)set of the Adobe standard Latin set. + + Cannot be set at the same time as . + + + + Font is italic. + + + + + Font contains only uppercase letters. + + + + + Lowercase letters are smaller versions of the uppercase equivalent. + + + + + Forces small bold text to be rendered bold. + + + + + Summary details of the font used to draw a glyph. + + + + + The normal weight for a font. + + + + + The bold weight for a font. + + + + + The font name. + + + + + Whether the font is bold. + + + + + The font weight, values above 500 represent bold. + + + + + Whether the font is italic. + + + + + Create a new . + + + + + + + + The font stretch. + + + + + Not specified or not a recognised value. + + + + + Ultra Condensed. + + + + + Extra Condensed. + + + + + Condensed. + + + + + Semi Condensed. + + + + + Normal + + + + + Semi Expanded + + + + + Expanded + + + + + Extra Expanded + + + + + Ultra Expanded + + + + + Font base interface. + + + + + The font name. + + + + + Is the font vertical. + + + + + The font details. + + + + + Read the character code. + + + + + Try get the unicode value. + + + + + Get the font bounding box. + + + + + Get the font transformation matrix. + + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + The glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + The normalized glyph path for the given character code. + + + + A font which supports a vertical writing mode in addition to the default horizontal writing mode. + + + + + In vertical fonts the glyph position is described by a position vector from the origin used for horizontal writing. + The position vector is applied to the horizontal writing origin to give a new vertical writing origin. + + + + + The beginbfrange and endbfrange operators map i ranges of input codes to the corresponding output code range. + + + + + Provides parsing for a certain operator type in a CID font definition. + + The type of the token preceding the operation we wish to parse. + + + + Parse the definition for this part of the CID font and write the results to the . + + + + + + + + + + + Some TrueType fonts use both the Standard 14 descriptor and the TrueType font from disk. + + + + + + + + + + + A font based on the Adobe Type 1 font format. + + + + + + + + + + + A font using one of the Adobe Standard 14 fonts. Can use a custom encoding. + + + + + + Not implemeted. + + + + + + Not implemeted. + + + + + Type 3 fonts are usually unnamed. + + + + + + Type 3 fonts do not use vector paths. Always returns false. + + + + + + Type 3 fonts do not use vector paths. Always returns false. + + + + + Render page as an image. + + + + + Render page as an image. + + The pdf page. + The scale to apply to the page (i.e. zoom level). + The output image format, if supported. + The image as a memory stream. + + + + The output image format of the . + + + + + Bitmap image format. + + + + + Jpeg/Jpg image format. + + + + + Png image format. + + + + + Tiff image format. + + + + + Gif image format. + + + + + Provides access to explore and retrieve the underlying PDF objects from the document. + + + + + The root of the document's hierarchy providing access to the page tree as well as other information. + + + + + The cross-reference table enables direct access to objects by number. + + + + + Provides access to tokenization capabilities for objects by object number. + + + + + Retrieve the tokenized object with the specified object reference number. + + The object reference number. + The tokenized PDF object from the file. + + + + Tokenizes objects from bytes in a PDF file. + + + + + Tokenize the object with a given object number. + May return null when the reference is undefined + + The object number for the object to tokenize. + The tokenized object. + + + + Adds the token to an internal cache that will be returned instead of + scanning the source PDF data. + + The object number for the object to replace. + The token to replace the existing data. + + + + Since we want to scan objects while reading the cross reference table we lazily load it when it's ready. + + + + + Indicates whether we now have a cross reference table. + + + + + Stores tokens encountered between obj - endobj markers for each call. + Cleared after each operation. + + + + + Used internally by the when reading streams to store any occurrences of 'endobj' or 'endstream' observed. + + + + + The offset at which the token started in the file. + + + + + The type, one of either or . + + + + + Create a new + + + + + Used to calculate the Adler-32 checksum used for ZLIB data in accordance with + RFC 1950: ZLIB Compressed Data Format Specification. + + + + + Calculate the Adler-32 checksum for some data. + + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage. + + + [CanBeNull] object Test() => null; + + void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null. + + + [NotNull] object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can never be null. + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can be null. + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form. + + + [StringFormatMethod("message")] + void ShowError(string message, params object[] args) { /* do something */ } + + void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + For a parameter that is expected to be one of the limited set of values. + Specify fields of which type should be used as values for this parameter. + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of . + + + void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + System.ComponentModel.INotifyPropertyChanged interface and this method + is used to notify that some property value changed. + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + public class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + string _name; + + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output. + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) for method output + means that the methos doesn't return normally (throws or terminates the process).
+ Value canbenull is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, or use single attribute + with rows separated by semicolon. There is no notion of order rows, all rows are checked + for applicability and applied per each program state tracked by R# analysis.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, + // and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("=> true, result: notnull; => false, result: null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not. + + + [LocalizationRequiredAttribute(true)] + class Foo { + string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + + class UsesNoEquality { + void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + class ComponentAttribute : Attribute { } + + [Component] // ComponentAttribute requires implementing IComponent interface + class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library), + so this symbol will not be marked as unused (as well as by other usage inspections). + + + + + Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes + as unused (as well as by other usage inspections) + + + + Only entity marked with attribute considered used. + + + Indicates implicit assignment to a member. + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type. + + + + Specify what is considered used implicitly when marked + with or . + + + + Members of entity marked with attribute are considered used. + + + Entity marked with attribute and all its members considered used. + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used. + + + + + Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. + If the parameter is a delegate, indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated while the method is executed. + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute. + + + [Pure] int Multiply(int x, int y) => x * y; + + void M() { + Multiply(123, 42); // Waring: Return value of pure method is not used + } + + + + + Indicates that the return value of method invocation must be used. + + + + + Indicates the type member or parameter of some type, that should be used instead of all other ways + to get the value that type. This annotation is useful when you have some "context" value evaluated + and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. + + + class Foo { + [ProvidesContext] IBarService _barService = ...; + + void ProcessNode(INode node) { + DoSomething(node, node.GetGlobalServices().Bar); + // ^ Warning: use value of '_barService' field + } + } + + + + + Indicates that a parameter is a path to a file or a folder within a web project. + Path can be relative or absolute, starting from web root (~). + + + + + An extension method marked with this attribute is processed by ReSharper code completion + as a 'Source Template'. When extension method is completed over some expression, it's source code + is automatically expanded like a template at call site. + + + Template method body can contain valid source code and/or special comments starting with '$'. + Text inside these comments is added as source code when the template is applied. Template parameters + can be used either as additional method parameters or as identifiers wrapped in two '$' signs. + Use the attribute to specify macros for parameters. + + + In this example, the 'forEach' method is a source template available over all values + of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: + + [SourceTemplate] + public static void forEach<T>(this IEnumerable<T> xs) { + foreach (var x in xs) { + //$ $END$ + } + } + + + + + + Allows specifying a macro for a parameter of a source template. + + + You can apply the attribute on the whole method or on any of its additional parameters. The macro expression + is defined in the property. When applied on a method, the target + template parameter is defined in the property. To apply the macro silently + for the parameter, set the property value = -1. + + + Applying the attribute on a source template method: + + [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] + public static void forEach<T>(this IEnumerable<T> collection) { + foreach (var item in collection) { + //$ $END$ + } + } + + Applying the attribute on a template method parameter: + + [SourceTemplate] + public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { + /*$ var $x$Id = "$newguid$" + x.ToString(); + x.DoSomething($x$Id); */ + } + + + + + + Allows specifying a macro that will be executed for a source template + parameter when the template is expanded. + + + + + Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. + + + If the target parameter is used several times in the template, only one occurrence becomes editable; + other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, + use values >= 0. To make the parameter non-editable when the template is expanded, use -1. + > + + + + Identifies the target parameter of a source template if the + is applied on a template method. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is + an MVC controller. If applied to a method, the MVC controller name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC + partial view. If applied to a method, the MVC partial view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component name. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component view. If applied to a method, the MVC view component view name is default. + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name. + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String). + + + + + Indicates how method, constructor invocation or property access + over collection type affects content of the collection. + + + + Method does not use or modify content of the collection. + + + Method only reads content of the collection but does not modify it. + + + Method can change content of the collection but does not add new elements. + + + Method can add new elements to the collection. + + + + Indicates that the marked method is assertion method, i.e. it halts control flow if + one of the conditions is satisfied. To set the condition, mark one of the parameters with + attribute. + + + + + Indicates the condition parameter of the assertion method. The method itself should be + marked by attribute. The mandatory argument of + the attribute is the assertion type. + + + + + Specifies assertion type. If the assertion method argument satisfies the condition, + then the execution continues. Otherwise, execution is assumed to be halted. + + + + Marked parameter should be evaluated to true. + + + Marked parameter should be evaluated to false. + + + Marked parameter should be evaluated to null value. + + + Marked parameter should be evaluated to not null value. + + + + Indicates that the marked method unconditionally terminates control flow execution. + For example, it could unconditionally throw exception. + + + + + Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, + .Where). This annotation allows inference of [InstantHandle] annotation for parameters + of delegate type by analyzing LINQ method chains. + + + + + Indicates that IEnumerable, passed as parameter, is not enumerated. + + + + + Indicates that parameter is regular expression pattern. + + + + + Prevents the Member Reordering feature from tossing members of the marked class. + + + The attribute must be mentioned in your member reordering patterns + + + + + XAML attribute. Indicates the type that has ItemsSource property and should be treated + as ItemsControl-derived type, to enable inner items DataContext type resolve. + + + + + XAML attribute. Indicates the property of some BindingBase-derived type, that + is used to bind some item of ItemsControl-derived type. This annotation will + enable the DataContext type resolve for XAML bindings for such properties. + + + Property should have the tree ancestor of the ItemsControl type or + marked with the attribute. + + + + + Helper class for dates. + + + + + Try parsing a pdf formatted date string into a . + Date values used in a PDF shall conform to a standard date format, which closely + follows that of the international standard ASN.1, defined in ISO/IEC 8824. A date shall be a text string + of the form (D:YYYYMMDDHHmmSSOHH'mm). + + The pdf formated date string, e.g. D:199812231952-08'00. + The parsed date. + True if parsed. + + + + Default Word Extractor. + + + + + Gets the words. + + The letters in the page. + + + + Create an instance of Default Word Extractor, . + + + + Utility functions for hex encoding. + + @author John Hewson + + + for hex conversion. + + https://stackoverflow.com/questions/2817752/java-code-to-convert-byte-to-hexadecimal + + + + + Returns a hex string for the given byte array. + + + + + An approach used to generate words from a set of letters. + + + + + Generate words from the input set of letters. + + The letters to generate words for. + An enumerable of words from this approach. + + + + The identity matrix. The result of multiplying a matrix with + the identity matrix is the matrix itself. + + + + + Creates a 3x3 matrix with the following layout: + + | m11 m12 m13 | + | m21 m22 m23 | + | m31 m32 m33 | + + + + + + Returns a new matrix that is the inverse of this matrix (i.e. multiplying a matrix with + its inverse matrix yields the identity matrix). + + If an inverse matrix does not exist, null is returned. + + + + + Returns a new matrix with each element being a mulitple of the supplied factor. + + + + + Multiplies this matrix with the supplied 3-element vector + and returns a new 3-element vector as the result. + + + + + Returns a new matrix that is the 'dot product' of this matrix + and the supplied matrix. + + + + + Returns a new matrix that is the transpose of this matrix + (i.e. the tranpose of a matrix, is a matrix with its rows + and column interchanged) + + + + + Measures of whitespace size based on point size. + + + + + Get the average whitespace sized expected for a given letter. + + + + + Check if the measured gap is probably big enough to be a whitespace character based on the letter. + + + + + Sets if the stream writer should attempt to deduplicate objects. + May not have any affect if does not + support deduplication. + + + + + The underlying stream used by the writer. + + + + + Writes a single token to the stream. + + Token to write. + Indirect reference to the token. + + + + Writes a token to a reserved object number. + + Token to write. + Reserved indirect reference. + Reserved indirect reference. + + + + Reserves an object number for an object to be written. + Useful with cyclic references where object number must be known before + writing. + + A reserved indirect reference. + + + + Initializes the PDF stream with pdf header. + + Version of PDF. + + + + Completes the PDF writing trailing PDF information. + + Indirect reference of catalog. + Reference to document information (optional) + + + + Writes any type of to the corresponding PDF document format output. + + + + + Writes the given input token to the output stream with the correct PDF format and encoding including whitespace and line breaks as applicable. + + The token to write to the stream. + The stream to write the token to. + + + + Writes pre-serialized token as an object token to the output stream. + + Object number of the indirect object. + Generation of the indirect object. + Pre-serialized object contents. + The stream to write the token to. + + + + Writes a valid single section cross-reference (xref) table plus trailer dictionary to the output for the set of object offsets. + + The byte offset from the start of the document for each object in the document. + The object representing the catalog dictionary which is referenced from the trailer dictionary. + The output stream to write to. + The object reference for the document information dictionary if present. + + + + Derived class of that does not write or operations in streams + + + + + Write stream without or operations + + + + + + + Try get a stream without or operations. + + + + true if any text operation found (and we have a valid without the text operations), + false if no text operation found (in which case is null) + + + + The standard of PDF/A compliance for generated documents. + + + + + No PDF/A compliance. + + + + + Compliance with PDF/A1-B. Level B (basic) conformance are standards necessary for the reliable reproduction of a document's visual appearance. + + + + + Compliance with PDF/A1-A. Level A (accessible) conformance are PDF/A1-B standards in addition to features intended to improve a document's accessibility. + + + + + Compliance with PDF/A2-B. Level B (basic) conformance are standards necessary for the reliable reproduction of a document's visual appearance. + + + + + Compliance with PDF/A2-A. Level A (accessible) conformance are PDF/A2-B standards in addition to features intended to improve a document's accessibility. + + + + + Compliance with PDF/A3-B. Level B (basic) conformance are PDF/A2-B standards in addition to support for embedded files + + + + + Compliance with PDF/A3-A. Level A (accessible) conformance are PDF/A3-B standards in addition to features intended to improve a document's accessibility. + + + + + A hash combiner that is implemented with the Fowler/Noll/Vo algorithm (FNV-1a). This is a mutable struct for performance reasons. + + + + + The starting point of the FNV hash. + + + + + The prime number used to compute the FNV hash. + + + + + Gets the current result of the hash function. + + + + + Creates a new FNV hash initialized to . + + + + + Adds the specified byte to the hash. + + The byte to hash. + + + + Adds the specified integer to this hash, in little-endian order. + + The integer to hash. + + + + Provides methods to construct new PDF documents. + + + + + The standard of PDF/A compliance of the generated document. Defaults to . + + + + + Whether to include the document information dictionary in the produced document. + + + + + The values of the fields to include in the document information dictionary. + + + + + The bookmark nodes to include in the document outline dictionary. + + + + + The current page builders in the document and the corresponding 1 indexed page numbers. Use + or to add a new page. + + + + + The fonts currently available in the document builder added via or . Keyed by id for internal purposes. + + + + + Creates a document builder keeping resources in memory. + + + + + Creates a document builder keeping resources in memory. + + Pdf version to use in header. + + + + Creates a document builder using the supplied stream. + + Steam to write pdf to. + If stream should be disposed when builder is. + Type of pdf stream writer to use + Pdf version to use in header. + Token writer to use + + + + Determines whether the bytes of the TrueType font file provided can be used in a PDF document. + + The bytes of a TrueType font file. + Any reason messages explaining why the file can't be used, if applicable. + if the file can be used, otherwise. + + + + Adds a TrueType font to the builder so that pages in this document can use it. + + The bytes of a TrueType font. + An identifier which can be passed to . + + + + Adds one of the Standard 14 fonts which are included by default in PDF programs so that pages in this document can use it. These Standard 14 fonts are old and possibly obsolete. + + The type of the Standard 14 font to use. + An identifier which can be passed to . + + + + Add a new page with the specified size, this page will be included in the output when is called. + + The width of the page in points. + The height of the page in points. + A builder for editing the new page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + The size of the page to add. + Whether the page is in portait or landscape orientation. + A builder for editing the new page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + Source document. + Page to copy. + A builder for editing the page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + Source document. + Page to copy. + If set, links are copied based on the result of the delegate. + A builder for editing the page. + + + + Builds a PDF document from the current content of this builder and its pages. + + The bytes of the resulting PDF document. + + + + A key representing a font available to use on the current document builder. Create by adding a font to a document using either + or . + + + + + The Id uniquely identifying this font on the builder. + + + + + Reference to the added font. + + + + + Create a new . + + + + + Sets the values of the dictionary for the document being created. + Control inclusion of the document information dictionary on the output with . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + Disposes underlying stream if set to do so. + + + + + Merges PDF documents into each other. + + + + + Merge two PDF documents together with the pages from followed by . + + + + + Merge two PDF documents together with the pages from followed by into the output stream. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided into the output stream + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided into the output stream + + + + + Merge the set of PDF documents. + + + + + Merge the set of PDF documents into the output stream + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + + A list of streams for the files contents, this must support reading and seeking. + + Must be writable + + + + + + + + A builder used to add construct a page in a PDF document. + + + + + The number of this page, 1-indexed. + + + + + The current size of the page. + + + + + Access to the underlying data structures for advanced use cases. + + + + + Access to + + + + + Allow to append a new content stream before the current one and select it + + + + + Allow to append a new content stream after the current one and select it + + + + + Select a content stream from the list, by his index + + index of the content stream to be selected + + + + Draws a line on the current page between two points with the specified line width. + + The first point on the line. + The last point on the line. + The width of the line in user space units. + + + + Draws a rectangle on the current page starting at the specified point with the given width, height and line width. + + The position of the rectangle, for positive width and height this is the bottom-left corner. + The width of the rectangle. + The height of the rectangle. + The width of the line border of the rectangle. + Whether to fill with the color set by . + + + + Set the number of degrees by which the page is rotated clockwise when displayed or printed. + + + + + Draws a triangle on the current page with the specified points and line width. + + Position of the first corner of the triangle. + Position of the second corner of the triangle. + Position of the third corner of the triangle. + The width of the line border of the triangle. + Whether to fill with the color set by . + + + + Draws a circle on the current page centering at the specified point with the given diameter and line width. + + The center position of the circle. + The diameter of the circle. + The width of the line border of the circle. + Whether to fill with the color set by . + + + + Draws an ellipsis on the current page centering at the specified point with the given width, height and line width. + + The center position of the ellipsis. + The width of the ellipsis. + The height of the ellipsis. + The width of the line border of the ellipsis. + Whether to fill with the color set by . + + + + Sets the stroke color for any following operations to the RGB value. Use to reset. + + Red - 0 to 255 + Green - 0 to 255 + Blue - 0 to 255 + + + + Sets the stroke color with the exact decimal value between 0 and 1 for any following operations to the RGB value. Use to reset. + + Red - 0 to 1 + Green - 0 to 1 + Blue - 0 to 1 + + + + Sets the fill and text color for any following operations to the RGB value. Use to reset. + + Red - 0 to 255 + Green - 0 to 255 + Blue - 0 to 255 + + + + Restores the stroke, text and fill color to default (black). + + + + + Calculates the size and position of each letter in a given string in the provided font without changing the state of the page. + + The text to measure each letter of. + The size of the font in user space units. + The position of the baseline (lower-left corner) to start drawing the text from. + + A font added to the document using + or methods. + + The letters from the input text with their corresponding size and position. + + + + Draws the text in the provided font at the specified position and returns the letters which will be drawn. + + The text to draw to the page. + The size of the font in user space units. + The position of the baseline (lower-left corner) to start drawing the text from. + + A font added to the document using + or methods. + + The letters from the input text with their corresponding size and position. + + + + Set the text rendering mode. This will apply to all future calls to AddText until called again. + + To insert invisible text, for example output of OCR, use TextRenderingMode.Neither. + + Text rendering mode to set. + + + + Adds the JPEG image represented by the input bytes at the specified location. + + + + + Adds the JPEG image represented by the input stream at the specified location. + + + + + Adds the JPEG image previously added using , + this will share the same image data to prevent duplication. + + An image previously added to this page or another page. + The size and location to draw the image on this page. + + + + Adds the image previously added using + or sharing the same image to prevent duplication. + + + + + Adds the PNG image represented by the input bytes at the specified location. + + + + + Adds the PNG image represented by the input stream at the specified location. + + + + + Copy a page from unknown source to this page + + Page to be copied + + + + Provides access to the raw page data structures for advanced editing use cases. + + + + + The operations making up the page content stream. + + + + + A key representing an image available to use for the current document builder. + Create it by adding an image to a page using . + + + + + The Id uniquely identifying this image on the builder. + + + + + The reference to the stored image XObject. + + + + + The width of the raw image in pixels. + + + + + The height of the raw image in pixels. + + + + + Create a new . + + + + + This class would lazily flush all token. Allowing us to make changes to references without need to rewrite the whole stream + + + + + Class to remove text from PDFs, useful as a preprocessing step for Optical Character Recognition (OCR). + Note that this should not be used to redact content from PDFs, this is not a secure or reliable way to redact text. + + + + + Return PDF without text as bytes + Path to PDF + List of pages to emit; if null all pages are emitted + + + + + Write PDF without text to the output stream. The caller must manage disposing the output stream. + Must be writable + Path to PDF + List of pages to emit; if null all pages are emitted + + + + + Remove text from the PDF (passed in as a byte array) and return it as a new byte array + PDF document (as byte array) + List of pages to emit; if null all pages are emitted + PDF without text (as a byte array) + + + + + Remove text from the PDF in the input stream and write it to the output stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + Streams for the file contents, this must support reading and seeking. + Must be writable + List of pages to emit; if null all pages are emitted + + + + + Remove text from the PDF and write it to the output stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + PDF document + Must be writable + List of pages to emit; if null all pages are emitted + + + + + Type of pdf writer to use. + + + + + Default output writer + + + + + De-duplicates objects while writing but requires keeping in memory reference. + + + + + Writes any type of to the corresponding PDF document format output. + + + + + Bytes that indicate start of stream + + + + + Bytes that indicate end start of stream + + + + + Single global instance + + + + + Writes the given input token to the output stream with the correct PDF format and encoding including whitespace and line breaks as applicable. + + The token to write to the stream. + The stream to write the token to. + + + + + + + + + + Write a hex value to the output stream + + + + + + + Write an array to the output stream, with whitespace at the end. + + + + + + + Write a boolean "true" or "false" to the output stream, with whitespace at the end. + + + + + + + Write a "%comment" in the output stream, with a line break at the end. + + + + + + + Writes dictionary key/value pairs to output stream as Name/Token pairs. + + + + + + + Write an indirect reference to the stream, with whitespace at the end. + + + + + + + Write a name to the stream, with whitespace at the end. + + + + + + + Write a number to the stream, with whitespace at the end. + + + + + + + Write an object to the stream, with a line break at the end. It writes the following contents: + - "[ObjectNumber] [Generation] obj" + - Object data + - "endobj" + + + + + + + Write a stream token to the output stream, with the following contents: + - Dictionary specifying the length of the stream, any applied compression filters and additional information. + - Stream start indicator + - Bytes in the StreamToken data + - Stream end indicator + + + + + + + Write string to the stream, with whitespace at the end + + + + + + + Write an integer to the stream + + + + + + + Write a line break to the output stream + + + + + + Write a long to the stream + + + + + + + Write a space to the output stream + + + + + + The purpose of this method is to resolve indirect reference. That mean copy the reference's content to the new document's stream + and replace the indirect reference with the correct/new one + + PDF stream writer + Token to inspect for reference + scanner get the content from the original document + Map of previously copied tokens for original document. + Call stack of indirect references + A reference of the token that was copied. With all the reference updated + + + + + A PostScript image XObject. + + + + + + + + + + + + + + + + + The JPX filter encodes data using the JPEG2000 compression method. + A JPEG2000 data stream allows different versions of the image to be decoded + allowing for thumbnails to be extracted. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new . + + + + + + + + + + + + + + XObject type. + + + + + Image. + + + + + Form. + + + + + PostScript. + + +
+
diff --git a/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/netstandard2.0/UglyToad.PdfPig.xml b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/netstandard2.0/UglyToad.PdfPig.xml new file mode 100644 index 000000000..830ac373c --- /dev/null +++ b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/lib/netstandard2.0/UglyToad.PdfPig.xml @@ -0,0 +1,13635 @@ + + + + UglyToad.PdfPig + + + + + A collection of interactive fields for gathering data from a user through dropdowns, textboxes, checkboxes, etc. + Each with form functionality contains a single spread across one or more pages. + + + The name AcroForm distinguishes this from the other form type called form XObjects which act as templates for repeated sections of content. + + + + + The raw PDF dictionary which is the root form object. + + + + + Document-level characteristics related to signature fields. + + + + + Whether all widget annotations need appearance dictionaries and streams. + + + + + All root fields in this form. + + + + + Create a new . + + + + + Get the set of fields which appear on the given page number. + + + + + + + + Extensions for AcroForm. + + + + + Get fields containing data in form. + + + + + Get fields containing data which are children of field. + + + + + Get string values of field. + + + + + Extracts the from the document, if available. + + + + + Retrieve the from the document, if applicable. + + The if the document contains one. + + + + Flags specifying various characteristics of a button type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + For radio buttons, one radio button must be set at all times. + + + + + The field is a set of radio buttons. + + + + + The field is a push button. + + + + + For radio buttons a group of radio buttons will toggle on/off at the same time based on their initial value. + + + + + + A set of related checkboxes. + + + + + + Create a new . + + + + + + A checkbox which may be toggled on or off. + + + + + The which define the behaviour of this button type. + + + + + The current value of this checkbox. + + + + + Whether this checkbox is currently checked/on. + + + + + + Create a new . + + + + + Flags specifying various characteristics of a choice type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + The field is a combo box. + + + + + The combo box includes an editable text box. must be set. + + + + + The options should be sorted alphabetically, this should be ignored by viewer applications. + + + + + The field allows multiple options to be selected. + + + + + The text entered in the field is not spell checked. and must be set. + + + + + Any associated field action is fired when the selection is changed rather than on losing focus. + + + + + An option in a choice field, either or . + + + + + The index of this option in the array. + + + + + Whether this option is selected. + + + + + The text of the option. + + + + + The value of the option when the form is exported. + + + + + Whether the field defined an export value for this option. + + + + + Create a new . + + + + + + + + + A combo box consisting of a drop-down list optionally accompanied by an editable text box in which the + user can type a value other than the predefined choices. + + + + + The flags specifying the behaviour of this field. + + + + + The options to be presented to the user. + + + + + The names of any currently selected options. + + + + + For multiple select lists with duplicate names gives the indices of the selected options. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The options in this field. + The indices of the selected options where there are multiple with the same name. + The names of the selected options. + The number of the page this field appears on. + The location of this field on the page. + + + + A field in an interactive . + + + + + The raw PDF dictionary for this field. + + + + + The representing the type of this field in PDF format. + + + + + The actual represented by this field. + + + + + Specifies various characteristics of the field. + + + + + The optional information common to all types of field. + + + + + The page number of the page containing this form field if known. + + + + + The placement rectangle of this form field on the page given by if known. + + + + + Create a new . + + The dictionary for this field. + The PDF string type of this field. + The flags specifying behaviour for this field. + The type of this field. + Additional information for this field. + The number of the page this field appears on. + The location of this field on the page. + + + + + + + Information from the field dictionary which is common across all field types. + All of this information is optional. + + + + + The reference to the field which is the parent of this one, if applicable. + + + + + The partial field name for this field. The fully qualified field name is the + period '.' joined name of all parents' partial names and this field's partial name. + + + + + The alternate field name to be used instead of the fully qualified field name where + the field is being identified on the user interface or by screen readers. + + + + + The mapping name used when exporting form field data from the document. + + + + + Create a new . + + + + + + + + Indicates the type of field for a . + + + + + A button that immediately to user input without retaining state. + + + + + A set of checkboxes. + + + + + A checkbox which toggles between on and off states. + + + + + A set of radio buttons. + + + + + A single radio button, as part of a set or on its own. + + + + + A textbox allowing user input through the keyboard. + + + + + A dropdown list of options with optional user-editable textbox. + + + + + A list of options for the user to select from. + + + + + A field containing a digital signature. + + + + + The field type wasn't specified. + + + + + + A scrollable list box field. + + + + + The flags specifying the behaviour of this field. + + + + + The options to be presented to the user. + + + + + The names of any currently selected options. + + + + + For multiple select lists with duplicate names gives the indices of the selected options. + + + + + For scrollable list boxes gives the index of the first visible option. + + + + + Whether the field allows multiple selections. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The options in this field. + The indices of the selected options where there are multiple with the same name. + The first visible option index. + The names of the selected options. + The number of the page this field appears on. + The location of this field on the page. + + + + + A non-leaf field in the form's structure. + + + + + The child fields of this field. + + + + + + Create a new . + + + + + + A push button responds immediately to user input without storing any state. + + + + + The which define the behaviour of this button type. + + + + + + Create a new . + + + + + + A single radio button. + + + + + The which define the behaviour of this button type. + + + + + The current value of this radio button. + + + + + Whether the radio button is currently on/active. + + + + + + Create a new . + + + + + + A set of radio buttons. + + + + + The which define the behaviour of this button type. + + + + + + Create a new . + + + + + + A digital signature field. + + + + + + Create a new . + + + + + + A text field is a box or space in which the user can enter text from the keyboard. + The text may be restricted to a single line or may be permitted to span multiple lines. + + + + + The flags specifying the behaviour of this field. + + + + + The value of the text in this text field. + This can be if no value has been set. + + + + + The optional maximum length of the text field. + + + + + Whether the field supports rich text content. + + + + + Whether the field allows multiline text. + + + + + + Create a new . + + The dictionary for this field. + The type of this field, must be . + The flags specifying behaviour for this field. + Additional information for this field. + The text value. + The maximum length. + The number of the page this field appears on. + The location of this field on the page. + + + + + + + Flags specifying various characteristics of a text type field in an . + + + + + The user may not change the value of the field. + + + + + The field must have a value before the form can be submitted. + + + + + Must not be exported by the submit form action. + + + + + The field can contain multiple lines of text. + + + + + The field is for a password and should not be displayed as text and should not be stored to file. + + + + + The field represents a file path selection. + + + + + The text entered is not spell checked. + + + + + The field does not scroll if the text exceeds the bounds of the field. + + + + + For a text field which is not a , or + the field text is evenly spaced by splitting into 'combs' based on the MaxLen entry in the field dictionary. + + + + + The value of the field is a rich text string. + + + + + Specifies document level characteristics for any signature fields in the document's . + + + + + The document contains at least one signature field. + + + + + The document contains signatures which may be invalidated if the file is saved + in a way which alters its previous content rather than simply appending new content. + + + + + Abstract class for GoTo-type actions (GoTo, GoToE, GoToR) that have a destination + + + + + Destination for the GoTo-type action + + + + + Constructor + + + + + Get an action (A) from dictionary. If GoTo, GoToR or GoToE, also fetches the action destination. + + + + + Action types (PDF reference 8.5.3) + + + + + Go to a destination in the current document. + + + + + (“Go-to remote”) Go to a destination in another document. + + + + + (“Go-to embedded”; PDF 1.6) Go to a destination in an embedded file. + + + + + Launch an application, usually to open a file. + + + + + Begin reading an article thread. + + + + + Resolve a uniform resource identifier. + + + + + (PDF 1.2) Play a sound. + + + + + (PDF 1.2) Play a movie. + + + + + (PDF 1.2) Set an annotation’s Hidden flag. + + + + + (PDF 1.2) Execute an action predefined by the viewer application. + + + + + (PDF 1.2) Send data to a uniform resource locator. + + + + + (PDF 1.2) Set fields to their default values. + + + + + (PDF 1.2) Import field values from a file. + + + + + (PDF 1.3) Execute a JavaScript script. + + + + + (PDF 1.5) Set the states of optional content groups. + + + + + (PDF 1.5) Controls the playing of multimedia content. + + + + + (PDF 1.5) Updates the display of a document, using a transition dictionary. + + + + + (PDF 1.6) Set the current view of a 3D annotation + + + + + GoTo action (with a destination inside the current document) + + + + + Constructor + + + + + GoToE action (to go to a destination inside a file embedded within the PDF) + + + + + File specification of the embedded file + + + + + Constructor + + Destination within the embedded file + Specification of the embedded file + + + + GoToR action, to go to a destination in a remote PDF + + + + + Filename of the remote PDF + + + + + Constructor + + Destination within the remote PDF + Filename of the remote PDF + + + + Actions (PDF reference 8.5) + + + + + Type of action + + + + + Constructor + + + + + Action to open a URI + + + + + URI to open + + + + + Constructor + + URI to open + + + + + Provides access to rare or advanced features from the PDF specification. + + + + + Get any embedded files contained in this PDF document. + Since PDF 1.3 any external file referenced by the document may have its contents embedded within the referring PDF file, + allowing its contents to be stored or transmitted along with the PDF file. + + The set of embedded files in this document. + if this document contains more than zero embedded files, otherwise . + + + + Replaces the token in an internal cache that will be returned instead of + scanning the source PDF data for future requests. + + The object number for the object to replace. + Func that takes existing token as input and return new token. + + + + Replaces the token in an internal cache that will be returned instead of + scanning the source PDF data for future requests. + + The object number for the object to replace. + Replacement token to use. + + + + + + + An annotation on a page in a PDF document. + + + + + The underlying PDF dictionary which this annotation was created from. + + + + + The type of this annotation. + + + + + The rectangle in user space units specifying the location to place this annotation on the page. + + + + + The annotation text, or if the annotation does not display text, a description of the annotation's contents. Optional. + + + + + The name of this annotation which should be unique per page. Optional. + + + + + The date and time the annotation was last modified, can be in any format. Optional. + + + + + Flags defining the appearance and behaviour of this annotation. + + + + + Defines the annotation's border. + + + + + Rectangles defined using QuadPoints, for these are the regions used to activate the link, + for text markup annotations these are the text regions to apply the markup to. + See for more information regarding the order of the points. + + + + + Action for this annotation, if any (can be null) + + + + + Indicates if a normal appearance is present for this annotation + + + + + Indicates if a roll over appearance is present for this annotation (shown when you hover over this annotation) + + + + + Indicates if a down appearance is present for this annotation (shown when you click on this annotation) + + + + + The this annotation was in reply to. Can be + + + + + Create a new . + + + + + + + + A border for a PDF object. + + + + + The default border style if not specified. + + + + + The horizontal corner radius in user space units. + + + + + The vertical corner radius in user space units. + + + + + The width of the border in user space units. + + + + + The dash pattern for the border lines if provided. Optional. + + + + + Create a new . + + + + + + + + Specifies characteristics of an annotation in a PDF or FDF document. + + + + + Do not display the annotation if it is not one of the standard annotation types. + + + + + Do not display or print the annotation irrespective of type. Do not allow interaction. + + + + + The annotation should be included when the document is physically printed. + + + + + Do not zoom/scale the annotation as the zoom of the document is changed. + + + + + Do not rotate the annotation as the page is rotated. + + + + + Do not display the annotation in viewer applications as with , however allow the annotation to be printed if is set. + + + + + Allow the annotation to be displayed/printed if applicable but do not respond to user interaction, e.g. mouse clicks. + + + + + Do not allow deleting the annotation or changing size/position but allow the contents to be modified. + + + + + Invert the meaning of the flag. + + + + + Allow the annotation to be deleted, resized, moved or restyled but disallow changes to the annotation contents. Opposite to . + + + + + The standard annotation types in PDF documents. + + + + + A 'sticky note' style annotation displaying some text with open/closed pop-up state. + + + + + A link to elsewhere in the document or an external application/web link. + + + + + Displays text on the page. Unlike there is no associated pop-up. + + + + + Display a single straight line on the page with optional line ending styles. + + + + + Display a rectangle on the page. + + + + + Display an ellipse on the page. + + + + + Display a closed polygon on the page. + + + + + Display a set of connected lines on the page which is not a closed polygon. + + + + + A highlight for text or content with associated annotation texyt. + + + + + An underline under text with associated annotation text. + + + + + A jagged squiggly line under text with associated annotation text. + + + + + A strikeout through some text with associated annotation text. + + + + + Text or graphics intended to display as if inserted by a rubber stamp. + + + + + A visual symbol indicating the presence of text edits. + + + + + A freehand 'scribble' formed by one or more paths. + + + + + Displays text in a pop-up window for entry or editing. + + + + + A file. + + + + + A sound to be played through speakers. + + + + + Embeds a movie from a file in a PDF document. + + + + + Used by interactive forms to represent field appearance and manage user interactions. + + + + + Specifies a page region for media clips to be played and actions to be triggered from. + + + + + Represents a symbol used during the physical printing process to maintain output quality, e.g. color bars or cut marks. + + + + + Used during the physical printing process to prevent colors mixing. + + + + + Adds a watermark at a fixed size and position irrespective of page size. + + + + + Represents a 3D model/artwork, for example from CAD, in a PDF document. + + + + + A custom annotation type. + + + + + Appearance stream (PDF Reference 8.4.4) that describes what an annotation looks like. Each stream is a Form XObject. + The appearance stream is either stateless (in which case is true) + or stateful, in which case is false and the states can be retrieved via . + The states can then be used to retrieve the state-specific appearances using . + + + + + Indicates if this appearance stream is stateless, or whether you can get appearances by state. + + + + + Get list of states. If this is a stateless appearance stream, an empty collection is returned. + + + + + Constructor for stateless appearance stream + + + + + + Constructor for stateful appearance stream + + + + + + Get appearance stream for particular state + + + + + + + + + A QuadPoints quadrilateral is four points defining the region for an annotation to use. + An annotation may cover multiple quadrilaterals. + + + + + The 4 points defining this quadrilateral. + The PDF specification defines these as being in anti-clockwise order starting from the lower-left corner, however + Adobe's implementation doesn't obey the specification and points seem to go in the order: top-left, top-right, + bottom-left, bottom-right. See: https://stackoverflow.com/questions/9855814/pdf-spec-vs-acrobat-creation-quadpoints. + + + + + Create a new . + + + + + + + + + Artifacts are graphics objects that are not part of the author's original content but rather are + generated by the conforming writer in the course of pagination, layout, or other strictly mechanical + processes. + Artifacts may also be used to describe areas of the document where the author uses a graphical + background, with the goal of enhancing the visual experience. In such a case, the background is not + required for understanding the content. - PDF 32000-1:2008, Section 14.8.2.2 + + + + + The artifact's type: Pagination, Layout, Page, or (PDF 1.7) Background. + + + + + The artifact's subtype. Standard values are Header, Footer, and Watermark. + Additional values may be specified for this entry, provided they comply with the naming conventions. + + + + + The artifact's attribute owners. + + + + + The artifact's bounding box. + + + + + The names of regions this element is attached to. + + + + + Is the artifact attached to the top edge? + + + + + Is the artifact attached to the bottom edge? + + + + + Is the artifact attached to the left edge? + + + + + Is the artifact attached to the right edge? + + + + + If present, shall be one of the names Pagination, Layout, Page, or (PDF 1.7) Background. + + + + + Unknown artifact type. + + + + + Ancillary page features such as running heads and folios (page numbers). + + + + + Purely cosmetic typographical or design elements such as footnote rules or background screens. + + + + + Production aids extraneous to the document itself, such as cut marks and colour bars. + + + + + (PDF 1.7) Images, patterns or coloured blocks that either run the entire length and/or + width of the page or the entire dimensions of a structural element. Background artifacts + typically serve as a background for content shown either on top of or placed adjacent to + that background. + A background artifact can further be classified as visual content that serves to enhance the user experience, that lies under the actual content, and that is not required except to retain visual fidelity. + + + + + The root of the document's object hierarchy. Contains references to objects defining the contents, + outline, named destinations and more. + + + + + The catalog dictionary containing assorted information. + + + + + Create a new . + + + + + Defines the visible region of a page, contents expanding beyond the crop box should be clipped. + + + + + Defines the clipping of the content when the page is displayed or printed. The page's contents are to be clipped (cropped) to this rectangle + and then imposed on the output medium. + + + + + Create a new . + + + + + + + + Metadata for the PDF document. + + + + + The underlying document information PDF dictionary from the document. + + + + + The title of this document if applicable. + + + + + The name of the person who created this document if applicable. + + + + + The subject of this document if applicable. + + + + + Any keywords associated with this document if applicable. + + + + + The name of the application which created the original document before it was converted to PDF if applicable. + + + + + The name of the application used to convert the original document to PDF if applicable. + + + + + The date and time the document was created. + + + + + The date and time the document was most recently modified. + + + + + Gets the as a if it's possible to convert it, or . + + + + + Gets the as a if it's possible to convert it, or . + + + + + Gets a string representing this document information. entries are not shown. + + + + + A file embedded in a PDF document for document references. + + + + + The name given to this embedded file in the document's name tree. + + + + + The specification of the path to the file. + + + + + The decrypted bytes of the file. + + + + + The underlying embedded file stream. + + + + + + + + The offset in bytes from the start of the file to the start of the version comment. + + + + + Full details for a link annotation which references an external resource. + A link to an external resource in a document. + + + + + The area on the page which when clicked will open the hyperlink. + + + + + The text in the link region (if any). + + + + + The letters in the link region. + + + + + The URI the link directs to. + + + + + The underlying link annotation. + + + + + Create a new . + + + + + + + + + A small image that is completely defined directly inline within a 's content stream. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new . + + + + + + + + + + + + + + An image in a PDF document, may be an or a PostScript image XObject (). + + + + + The placement rectangle of the image in PDF coordinates. + + + + + The width of the image in samples. + + + + + The height of the image in samples. + + + + + The number of bits used to represent each color component. + + + + + The encoded bytes of the image with all filters still applied. + + + + + The color rendering intent to be used when rendering the image. + + + + + Indicates whether the image is to be treated as an image mask. + If the image is a monochrome image in which each sample + is specified by a single bit ( is 1). + The image represents a stencil where sample values represent places on the page + that should be marked with the current color or masked (not marked). + + + + + Describes how to map image samples into the values appropriate for the + . + The image data is initially composed of values in the range 0 to 2^n - 1 + where n is . + The decode array contains a pair of numbers for each component in the . + The value from the image data is then interpolated into the values relevant to the + using the corresponding values of the decode array. + + + + + Specifies whether interpolation is to be performed. Interpolation smooths images where a single component in the image + as defined may correspond to many pixels on the output device. The interpolation algorithm is implementation + dependent and is not defined by the specification. + + + + + Whether this image is an or a . + + + + + The full dictionary for this image object. + + + + + The used to interpret the image. + + This is not defined where is and is optional where the image is JPXEncoded for . + + + + + + Get the decoded bytes of the image if applicable. For JPEG images and some other types the + should be used directly. + + + + + Try to convert the image to PNG. Doesn't support conversion of JPG to PNG. + + + + + Remove any named resources and associated state for the last resource dictionary loaded. + Does not affect the cached resources, just the labels associated with them. + + + + + A glyph or combination of glyphs (characters) drawn by a PDF content stream. + + + + + The text for this letter or unicode character. + + + + + Text orientation of the letter. + + + + + The placement position of the character in PDF space. See + + + + + The placement position of the character in PDF space (the start point of the baseline). See + + + + + The end point of the baseline. + + + + + The width occupied by the character within the PDF content. + + + + + Position of the bounding box for the glyph, this is the box surrounding the visible glyph as it appears on the page. + For example letters with descenders, p, j, etc., will have a box extending below the they are placed at. + The width of the glyph may also be more or less than the allocated for the character in the PDF content. + + + + + Size as defined in the PDF file. This is not equivalent to font size in points but is relative to other font sizes on the page. + + + + + The name of the font. + + + + + Details about the font for this letter. + + + + + Text rendering mode that indicates whether we should draw this letter's strokes, + fill, both, neither (in case of hidden text), etc. + If it calls for stroking the is used. + If it calls for filling, the is used. + In modes that perform both filling and stroking, the effect is as if each glyph outline were filled and then stroked in separate operations. + + + + + The primary color of the letter, which is either the in case + is , or otherwise + it is the . + + + + + Stroking color + + + + + Non-stroking (fill) color + + + + + The size of the font in points. + + + + + Sequence number of the ShowText operation that printed this letter. + + + + + Create a new letter to represent some text drawn by the Tj operator. + + + + + Produces a string representation of the letter and its position. + + + + + A marked content element can be used to provide application specific data in the + page's content stream. Interpretation of the marked content is outside of the PDF specification. + + + + + Marked-content identifier. + + + + + The index of this marked content element in the set of marked content in the page. + marked content elements will have the same index as the parent. + + + + + A name indicating the role or significance of the point. + + + + + The properties for this element. + + + + + Is the marked content an artifact, see . + + + + + Child contents. + + + + + Letters contained in this marked content. + + + + + Paths contained in this marked content. + + + + + Images contained in this marked content. + + + + + The natural language specification. + + + + + The replacement text. + + + + + The alternate description. + + + + + The abbreviation expansion text. + + + + + Create a new . + + + + + + + + The boundary of the physical medium to display or print on. + + + See table 3.27 from the PDF specification version 1.7. + + + + + User space units per inch. + + + + + User space units per millimeter. + + + + + A the size of U.S. Letter, 8.5" x 11" Paper. + + + + + A the size of U.S. Legal, 8.5" x 14" Paper. + + + + + A the size of A0 Paper. + + + + + A the size of A1 Paper. + + + + + A the size of A2 Paper. + + + + + A the size of A3 Paper. + + + + + A the size of A4 Paper. + + + + + A the size of A5 Paper. + + + + + A the size of A6 Paper. + + + + + A rectangle, expressed in default user space units, that defines the boundaries of the physical medium on which the page shall be displayed or printed. + + + + + Create a new . + + + + + An optional content group is a dictionary representing a collection of graphics + that can be made visible or invisible dynamically by users of viewers applications. + + + + + The type of PDF object that this dictionary describes. + Must be OCG for an optional content group dictionary. + + + + + The name of the optional content group, suitable for presentation in a viewer application's user interface. + + + + + A single name or an array containing any combination of names. + Default value is 'View'. + + + + + A usage dictionary describing the nature of the content controlled by the group. + + + + + Underlying . + + + + + + + + + + Contains the content and provides access to methods of a single page in the . + + + + + The raw PDF dictionary token for this page in the document. + + + + + The page number (starting at 1). + + + + + Defines the visible region of the page, content outside the is clipped/cropped. + + + + + Defines the boundaries of the physical medium on which the page shall be displayed or printed. + + + + + The rotation of the page in degrees (clockwise). Valid values are 0, 90, 180 and 270. + + + + + The set of s drawn by the PDF content. + + + + + The full text of all characters on the page in the order they are presented in the PDF content. + + + + + Gets the width of the page in points. + + + + + Gets the height of the page in points. + + + + + The size of the page according to the standard page sizes or if no matching standard size found. + + + + + The number of images on this page. Use to access the image contents. + + + + + The parsed graphics state operations in the content stream for this page. + + + + + Access to members whose future locations within the API will change without warning. + + + + + Use the default to get the words for this page. + + The words on this page. + + + + Use a custom to get the words for this page. + + The word extractor to use to generate words. + The words on this page. + + + + Get the hyperlinks which link to external resources on the page. + These are based on the annotations on the page with a type of '/Link'. + + + + + Gets any images on the page. + + + + + Gets any marked content on the page. + + + + + Provides access to useful members which will change in future releases. + + + + + The set of s drawn by the PDF content. + + + + + Get the annotation objects from the page. + + The lazily evaluated set of annotations on this page. + + + + Gets any optional content on the page. + Does not handle XObjects and annotations for the time being. + + + + + Wraps content parsed from a page content stream for access. + + + This should contain a replayable stack of drawing instructions for page content + from a content stream in addition to lazily evaluated state such as text on the page or images. + + + + + Represents the rotation of a page in a PDF document defined by the page dictionary in degrees clockwise. + + + + + The rotation of the page in degrees clockwise. + + + + + Whether the rotation flips the x and y axes. + + + + + Get the rotation expressed in radians (anti-clockwise). + + + + + Create a . + + Rotation in degrees clockwise, must be a multiple of 90. + + + + + + + + + + + + + + + + Equal. + + + + + Not equal. + + + + + The page tree for this document containing all pages, page numbers and their dictionaries. + + + + + The corresponding named size of the . + + + + + Unknown page size, did not match a defined page size. + + + + + The ISO 216 A0 page size. + + + + + The ISO 216 A1 page size. + + + + + The ISO 216 A2 page size. + + + + + The ISO 216 A3 page size. + + + + + The ISO 216 A4 page size. + + + + + The ISO 216 A5 page size. + + + + + The ISO 216 A6 page size. + + + + + The ISO 216 A7 page size. + + + + + The ISO 216 A8 page size. + + + + + The ISO 216 A9 page size. + + + + + The ISO 216 A10 page size. + + + + + The North American Letter page size. + + + + + The North American Legal page size. + + + + + The North American Ledger page size. + + + + + The North American Tabloid page size. + + + + + The North American Executive page size. + + + + + Contains the values inherited from the Page Tree for this page. + + + + + A node in the PDF document's page tree. + Nodes may either be of type 'Page' - a single page, or 'Pages' - a container for multiple child Page + or Pages nodes. + + + + + The dictionary for this node in the page tree. + + + + + The indirect reference for this node in the page tree. + + + + + Whether this node is a page or not. If not it must be a /Pages container. + + + + + The number of this page if is . + + + + + The child nodes of this node if is + + + + + The parent node of this node, unless it is the root node. + + + + + Whether this node is the root node. + + + + + Create a new . + + + + + + + + Orientation of the text. + + + + + Other text orientation. + + + + + Usual text orientation (Left to Right). + + + + + Horizontal text, upside down. + + + + + Rotated text going down. + + + + + Rotated text going up. + + + + + A word. + + + + + The text of the word. + + + + + The text orientation of the word. + + + + + The rectangle completely containing the word. + + + + + The name of the font for the word. + + + + + The letters contained in the word. + + + + + Create a new . + + The letters contained in the word, in the correct order. + + + + Bound angle so that -180 ≤ θ ≤ 180. + + The angle to bound. + + + + + + + Wraps an XML based Extensible Metadata Platform (XMP) document. These XML documents are embedded in PDFs to provide metadata + about objects (the entire document, images, etc). They can be present as plain text or encoded/encrypted streams. + + + + + The underlying for this metadata. + + + + + Get the decoded bytes for the metadata stream. This can be interpreted as a sequence of plain-text bytes. + + The bytes for the metadata object with any filters removed. + + + + Gets the metadata stream as an . + + The for the XMP XML. + + + + The cross-reference table contains information that enables random access to PDF objects within the file by object number + so that specific objects can be located directly without having to scan the whole document. + A PDF document may contain multiple cross reference tables, this class provides access to the merged result with the latest + offset for each object. The offsets of the original cross reference tables or streams merged into this result are available + in the list. + + + + + The corresponding byte offset for each keyed object in this document. + + + + + The type of the first cross-reference table located in this document. + + + + + The trailer dictionary. + + + + + The byte offsets of each cross-reference table or stream in this document and the previous + table or stream they link to if applicable. + + + + + The offset of a cross-reference table or stream in the document. + + + + + The offset in bytes from the start of the document where the stream or table starts. + + + + + The offset in bytes from the start of the document where the previous stream or table in a document + containing incremental updates can be found, if applicable. + + + + + Create a new . + + The offset in bytes from the start of the document where the stream or table starts. + The offset in bytes from the start of the document where the previous stream or table in a document starts. + + + + + + + + + + The table contains a one-line entry for each indirect object, specifying the location of that object within the body of the file. + + + + + + + + The format of an in-use entry is + nnnnnnnnnn ggggg n eol + where + nnnnnnnnnn is a 10-digit byte offset + ggggg is a 5-digit generation number + n is a literal keyword identifying this as an in-use entry + eol is a 2-character end-of-line sequence + + + The byte offset is a 10-digit number, padded with leading zeros if necessary, + giving the number of bytes from the beginning of the file to the beginning of the + object. + + + + + For Xref streams indicated by tables they should be used together when constructing the final table. + + + + + The type of a cross-reference section in a PDF document. + + + + + A cross-reference table. + + + + + A cross-reference stream. + + + + + Contains information for interpreting the cross-reference table. + + + + + The total number of object entries across both the original cross-reference table + and in any incremental updates. + + + Any object in a cross-reference section whose number is greater than this value is + ignored and considered missing. + + + + + The offset in bytes to the previous cross-reference table or stream + if the document has more than one cross-reference section. + + + + + The object reference for the document's catalog dictionary. + + + + + The object reference for the document's information dictionary if it contains one. + + + + + A list containing two-byte string tokens which act as file identifiers. + + + + + The document's encryption dictionary. + + + + + Create a new . + + The parsed dictionary from the document. + + + + + + + The method used by the consumer application to decrypt data. + + + + + The application does not decrypt data but directs the input stream + to the security handler for decryption. + + + + + The application asks the security handler for the encryption key + and implicitly decrypts data using the RC4 algorithm. + + + + + (PDF 1.6) The application asks the security handler for the encryption key and implicitly decrypts data using the AES algorithm in Cipher Block Chaining (CBC) mode + with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. + + + + + The application asks the security handler for the encryption key and implicitly decrypts data using the AES-256 algorithm in Cipher Block Chaining (CBC) with padding mode + with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. + The key size shall be 256 bits. + + + + + The event to be used to trigger the authorization that is required + to access encryption keys used by this filter. + + + + + Authorization is required when a document is opened. + + + + + Authorization is required when accessing embedded files. + + + + + A code specifying the algorithm to be used in encrypting and decrypting the document. + + + + + An algorithm that is undocumented and no longer supported. + + + + + RC4 or AES encryption using a key of 40 bits. + + + + + RC4 or AES encryption using a key of more than 40 bits. + + + + + An unpublished algorithm that permits encryption key lengths ranging from 40 to 128 bits. + + + + + The security handler defines the use of encryption and decryption in the document with a key length of 128 bits. + + + + + The security handler defines the use of encryption and decryption in the document with a key length of 256 bits. + + + + + Since ISO isn't fit for purpose they charge £200 to see the PDF 2 spec so it's not possible to know what the specification for this revision is. + + + + + Required if is 5 or above. A 32-byte string, based on the owner and user passwords that is used in computing the encryption key. + + + + + Required if is 5 or above. A 32-byte string, based on the user password that is used in computing the encryption key. + + + + + This is the revision 6 algorithm the specification for which can't be viewed unless you pay the ISO a lot of money (which makes me extremely angry). + This is an attempt to port directly from PDFBox code. + + The truncated user or owner password. + The 8 byte user or owner key validation salt. + Used when hashing owner password in which case it is the 48 byte /U key. + + + + Manages decryption of tokens in a PDF document where encryption is used. + + + + + (Revision 2) Print the document. + (Revision 3 or greater) Print the document (possibly not at the highest quality level, see ). + + + + + Modify the contents of the document by operations other than those + controlled by , and . + + + + + (Revision 2) Copy or otherwise extract text and graphics from the document, including extracting text and graphics + (in support of accessibility to users with disabilities or for other purposes). + (Revision 3 or greater) Copy or otherwise extract text and graphics from the document by operations other + than that controlled by . + + + + + Add or modify text annotations, fill in interactive form fields, and, if is also set, + create or modify interactive form fields (including signature fields). + + + + + (Revision 3 or greater) Fill in existing interactive form fields (including signature fields), + even if is clear. + + + + + (Revision 3 or greater) Extract text and graphics (in support of accessibility to users with disabilities or for other purposes). + + + + + (Revision 3 or greater) Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), + even if is clear. + + + + + (Revision 3 or greater) Print the document to a representation from which a faithful digital copy of the PDF content could be generated. + When this is clear (and is set), printing is limited to a low-level representation of the appearance, + possibly of degraded quality. + + + + + + The document is encrypted and cannot be decrypted. + + + + + + + + + + + + + + + + + + ASCII 85 (Base85) is a binary to text encoding using 5 ASCII characters per 4 bytes of data. + + + + + + + + + + + + Encodes/decodes data using the ASCII hexadecimal encoding where each byte is represented by two ASCII characters. + + + + + + + + + + + Specifies the compression type to use with . + + + + + Modified Huffman (MH) - Group 3 variation (T2) + + + + + Modified Huffman (MH) - Group 3 (T4) + + + + + Modified Read (MR) - Group 3 (T4) + + + + + Modified Modified Read (MMR) - Group 4 (T6) + + + + + Decodes image data that has been encoded using either Group 3 or Group 4. + + Ported from https://github.com/apache/pdfbox/blob/714156a15ea6fcfe44ac09345b01e192cbd74450/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java + + + + + + + + + + + CCITT Modified Huffman RLE, Group 3 (T4) and Group 4 (T6) fax compression. + + Ported from https://github.com/apache/pdfbox/blob/e644c29279e276bde14ce7a33bdeef0cb1001b3e/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecoderStream.java + + + + + Creates a CCITTFaxDecoderStream. + This constructor may be used for CCITT streams embedded in PDF files, + which use EncodedByteAlign. + + + + + + + + + + + + The default implementation of the . + + + + + The single instance of this provider. + + + + + + + + + + + + + + + The Flate filter is based on the public-domain zlib/deflate compression method, a variable-length Lempel-Ziv + adaptive compression method cascaded with adaptive Huffman coding. + It is fully defined in Internet RFCs 1950, ZLIB Compressed Data Format Specification, and + 1951, DEFLATE Compressed Data Format Specification + + + See section 3.3.3 of the spec (version 1.7) for details on the FlateDecode filter. + The flate decode filter may have a predictor function to further compress the stream. + + + + + + + + + + + A filter is used in a PDF to encode/decode data either to compress it or derive an ASCII representation of the data. + + + + + Whether this library can decode information encoded using this filter. + + + + + Decodes data encoded using this filter type. + + The encoded bytes which were encoded using this filter. + The dictionary of the (or other dictionary types, e.g. inline images) containing these bytes. + The position of this filter in the pipeline used to encode data. + The decoded bytes. + + + + Gets filter implementations () for decoding PDF data. + + + + + Get the filters specified in this dictionary. + + + + + Gets the filters specified by the filter names. + + + + + Get all available filters in this library. + + + + + + + + + + + + + + + + + + The LZW (Lempel-Ziv-Welch) filter is a variable-length, adaptive compression method + that has been adopted as one of the standard compression methods in the Tag Image File Format (TIFF) standard. + + + + + + + + + + + GetLongOrDefault value from bit interval from a byte + + + + + Set value input a bit interval and return that value + + + + + + The Run Length filterencodes data in a simple byte-oriented format based on run length. + The encoded data is a sequence of runs, where each run consists of a length byte followed by 1 to 128 bytes of data. + + + + + + + + + + + This class represents a function in a PDF document. + + + + + The function dictionary. + + + + + The function stream. + + + + + This class represents a function in a PDF document. + + + + + This class represents a function in a PDF document. + + + + + Returns the function type. Possible values are: + + 0Sampled function + 2Exponential interpolation function + 3Stitching function + 4PostScript calculator function + + + the function type. + + + + Returns the function's dictionary. If is defined, it will be returned. + If not, the 's StreamDictionary will be returned. + + + + + This will get the number of output parameters that + have a range specified. A range for output parameters + is optional so this may return zero for a function + that does have output parameters, this will simply return the + number that have the range specified. + + The number of output parameters that have a range specified. + + + + This will get the range for a certain output parameters. This is will never + return null. If it is not present then the range 0 to 0 will + be returned. + + The output parameter number to get the range for. + The range for this component. + + + + This will get the number of input parameters that + have a domain specified. + + The number of input parameters that have a domain specified. + + + + This will get the range for a certain input parameter. This is will never + return null. If it is not present then the range 0 to 0 will + be returned. + + The parameter number to get the domain for. + The domain range for this component. + + + + Evaluates the function at the given input. + ReturnValue = f(input) + + The array of input values for the function. + In many cases will be an array of a single value, but not always. + The of outputs the function returns based on those inputs. + In many cases will be an array of a single value, but not always. + + + + Returns all ranges for the output values as . Required for type 0 and type 4 functions. + + the ranges array. + + + + Returns all domains for the input values as . Required for all function types. + + the domains array. + + + + Clip the given input values to the ranges. + + inputValues the input values + the clipped values + + + + Clip the given input value to the given range. + + x the input value + the min value of the range + the max value of the range + the clipped value + + + + For a given value of x, interpolate calculates the y value + on the line defined by the two points (xRangeMin, xRangeMax) + and (yRangeMin, yRangeMax). + + the value to be interpolated value. + the min value of the x range + the max value of the x range + the min value of the y range + the max value of the y range + the interpolated y value + + + + Pdf function types. + + + + + Sampled function. + + + + + Exponential interpolation function. + + + + + Stitching function. + + + + + PostScript calculator function. + + + + + The samples of the function. + + + + + Stitching function + + + + + Stitching function + + + + + The "Size" entry, which is the number of samples in each input dimension of the sample table. + An array of m positive integers specifying the number of samples in each input dimension of the sample table. + + + + + Get the number of bits that the output value will take up. + Valid values are 1,2,4,8,12,16,24,32. + + Number of bits for each output value. + + + + Get the order of interpolation between samples. Valid values are 1 and 3, + specifying linear and cubic spline interpolation, respectively. Default + is 1. See p.170 in PDF spec 1.7. + + order of interpolation. + + + + An array of 2 x m numbers specifying the linear mapping of input values + into the domain of the function's sample table. Default value: [ 0 (Size0 + - 1) 0 (Size1 - 1) ...]. + + + + + An array of 2 x n numbers specifying the linear mapping of sample values + into the range appropriate for the function's output values. Default + value: same as the value of Range. + + + + + Get the encode for the input parameter. + + The function parameter number. + The encode parameter range or null if none is set. + + + + Get the decode for the input parameter. + + The function parameter number. + The decode parameter range or null if none is set. + + + + Inner class do to an interpolation in the Nth dimension by comparing the + content size of N-1 dimensional objects.This is done with the help of + recursive calls. + To understand the algorithm without recursion, see for a bilinear interpolation + and for trilinear interpolation. + + + + + + Constructor. + + the input coordinates + coordinate of the "ceil" point + coordinate of the "floor" point + + + + + + + Calculate the interpolation. + + interpolated result sample + + + + Do a linear interpolation if the two coordinates can be known, or + call itself recursively twice. + + partially set coordinate (not set from step + upwards); gets fully filled in the last call ("leaf"), where it is + used to get the correct sample + between 0 (first call) and dimension - 1 + interpolated result sample + + + + calculate array index (structure described in p.171 PDF spec 1.7) in multiple dimensions. + + with coordinates + index in flat array + + + + Get all sample values of this function. + + an array with all samples. + + + + Exponential interpolation function + + + + + Exponential interpolation function + + + + + The C0 values of the function, 0 if empty. + + + + + The C1 values of the function, 1 if empty. + + + + + The exponent of the function. + + + + + Stitching function + + + + + Stitching function + + + + + Stitching function + + + + + Returns all functions values. + + + + + Returns all bounds values as . + + the bounds array. + + + + Returns all encode values as . + + the encode array. + + + + Get the encode for the input parameter. + + The function parameter number. + The encode parameter range or null if none is set. + + + + PostScript calculator function + + + + + PostScript calculator function + + + + + Provides the arithmetic operators such as "add" and "sub". + + + + + the "Abs" operator. + + + + + the "add" operator. + + + + + the "atan" operator. + + + + + the "ceiling" operator. + + + + + the "cos" operator. + + + + + the "cvi" operator. + + + + + the "cvr" operator. + + + + + the "div" operator. + + + + + the "exp" operator. + + + + + the "floor" operator. + + + + + the "idiv" operator. + + + + + the "ln" operator. + + + + + the "log" operator. + + + + + the "mod" operator. + + + + + the "mul" operator. + + + + + the "neg" operator. + + + + + the "round" operator. + + + + + the "sin" operator. + + + + + the "sqrt" operator. + + + + + the "sub" operator. + + + + + the "truncate" operator. + + + + + Abstract base class for logical operators. + + + + + Implements the "and" operator. + + + + + Implements the "bitshift" operator. + + + + + Implements the "false" operator. + + + + + Implements the "not" operator. + + + + + Implements the "or" operator. + + + + + Implements the "true" operator. + + + + + Implements the "xor" operator. + + + + + Provides the conditional operators such as "if" and "ifelse". + + + + + Implements the "if" operator. + + + + + Implements the "ifelse" operator. + + + + + The stack used by this execution context. + + + + + Creates a new execution context. + + the operator set + + + + Returns the operator set used by this execution context. + + the operator set + + + + Pops a number (int or real) from the stack. If it's neither data type, a is thrown. + + the number + + + + Pops a value of type int from the stack. If the value is not of type int, a is thrown. + + the int value + + + + Pops a number from the stack and returns it as a real value. If the value is not of a numeric type, + a is thrown. + + the real value + + + + Add a name (ex. an operator) + + the name + + + + Adds an int value. + + the value + + + + Adds a real value. + + the value + + + + Adds a bool value. + + the value + + + + Adds a proc (sub-sequence of instructions). + + the child proc + + + + Executes the instruction sequence. + + the execution context + + + + Basic parser for Type 4 functions which is used to build up instruction sequences. + + + + + Returns the instruction sequence that has been build from the syntactic elements. + + the instruction sequence + + + + Parses the given text into an instruction sequence representing a Type 4 function that can be executed. + + the Type 4 function text + the instruction sequence + + + + + + + Interface for PostScript operators.e + + + + + Executes the operator. The method can inspect and manipulate the stack. + + the execution context + + + + This class provides all the supported operators. + + + + + Creates a new Operators object with the default set of operators. + + + + + Returns the operator for the given operator name. + + the operator name + the operator (or null if there's no such operator + + + + Parser for PDF Type 4 functions. This implements a small subset of the PostScript + language but is no full PostScript interpreter. + + + + + Used to indicate the parsers current state. + + + + + Parses a Type 4 function and sends the syntactic elements to the given syntax handler. + + the text source + the syntax handler + + + + This interface defines all possible syntactic elements of a Type 4 function. + It is called by the parser as the function is interpreted. + + + + + Indicates that a new line starts. + + the new line character (CR, LF, CR/LF or FF) + + + + Called when whitespace characters are encountered. + + the whitespace text + + + + Called when a token is encountered. No distinction between operators and values is done here. + + the token text + + + + Called for a comment. + + the comment + + + + Abstract base class for a . + + + + + + + + + + + + + + + + + Tokenizer for Type 4 functions. + + + + + Provides the relational operators such as "eq" and "le". + + + + + Implements the "eq" operator. + + + + + Abstract base class for number comparison operators. + + + + + Implements the "ge" operator. + + + + + Implements the "gt" operator. + + + + + Implements the "le" operator. + + + + + Implements the "lt" operator. + + + + + Implements the "ne" operator. + + + + + Provides the stack operators such as "Pop" and "dup". + + + + + Implements the "copy" operator. + + + + + Implements the "dup" operator. + + + + + Implements the "exch" operator. + + + + + Implements the "index" operator. + + + + + Implements the "Pop" operator. + + + + + Implements the "roll" operator. + + + + + returns 0 if false, +1 if true, -1 if pt ON polygon boundary. + See "The Point in Polygon Problem for Arbitrary Polygons" by Hormann and Agathos + + + + + + + + Convert self-intersecting polygons into simple polygons. + + + + + + + + Convert self-intersecting polygons into simple polygons. + + + + + + + + This function is more accurate when the point that's GEOMETRICALLY between the other + 2 points is the one that's tested for distance. + nb: with 'spikes', either pt1 or pt3 is geometrically between the other pts"> + + + + + + + + + + Clean polygon. + + + proximity in units/pixels below which vertices will be stripped. + Default ~= sqrt(2) so when adjacent vertices or semi-adjacent vertices have both x and y coords within 1 unit, then the second vertex will be stripped. + + + + Clean polygon. + + + proximity in units/pixels below which vertices will be stripped. + Default ~= sqrt(2) so when adjacent vertices or semi-adjacent vertices have both x and y coords within 1 unit, then the second vertex will be stripped. + + + + By far the most widely used winding rules for polygon filling are + EvenOdd and NonZero (GDI, GDI+, XLib, OpenGL, Cairo, AGG, Quartz, SVG, Gr32) + Others rules include Positive, Negative and ABS_GTR_EQ_TWO (only in OpenGL) + see http://glprogramming.com/red/chapter11.html + + + + + OutRec: contains a path in the clipping solution. Edges in the AEL will + carry a pointer to an OutRec when they are part of the clipping solution. + + + + + Applies clipping from a clipping path to another path. + + + + + Number of lines to use when transforming bezier curve to polyline. + + + + + Generates the result of applying a clipping path to another path. + + + + + Converts a path to a set of points for the Clipper algorithm to use. + Allows duplicate points as they will be removed by Clipper. + + + + + Extension class to Geometry. + + + + + Return true if the points are in counter-clockwise order. + + The first point. + The second point. + The third point. + + + + Get the dot product of both points. + + The first point. + The second point. + + + + Get a point with the summed coordinates of both points. + + The first point. + The second point. + + + + Get a point with the substracted coordinates of both points. + + The first point. + The second point. + + + + Algorithm to find a minimal bounding rectangle (MBR) such that the MBR corresponds to a rectangle + with smallest possible area completely enclosing the polygon. + From 'A Fast Algorithm for Generating a Minimal Bounding Rectangle' by Lennert D. Den Boer. + + + Polygon P is assumed to be both simple and convex, and to contain no duplicate (coincident) vertices. + The vertices of P are assumed to be in strict cyclic sequential order, either clockwise or + counter-clockwise relative to the origin P0. + + + + + Algorithm to find the (oriented) minimum area rectangle (MAR) by first finding the convex hull of the points + and then finding its MAR. + + The points. + + + + Algorithm to find the oriented bounding box (OBB) by first fitting a line through the points to get the slope, + then rotating the points to obtain the axis-aligned bounding box (AABB), and then rotating back the AABB. + + The points. + + + + Algorithm to find the convex hull of the set of points with time complexity O(n log n). + + + + + Whether the point is located inside the rectangle. + + The rectangle that should contain the point. + The point that should be contained within the rectangle. + If set to false, will return false if the point belongs to the border. + + + + Whether the other rectangle is located inside the rectangle. + + The rectangle that should contain the other rectangle. + The other rectangle that should be contained within the rectangle. + If set to false, will return false if the rectangles share side(s). + + + + Whether two rectangles overlap. + Returns false if the two rectangles only share a border. + + + + + Gets the that is the intersection of two rectangles. + Only works for axis-aligned rectangles. + + + + + Gets the axis-aligned rectangle that completely containing the original rectangle, with no rotation. + + + + + + Whether the rectangle and the line intersect. + + + + + + + Gets the that is the intersection of the rectangle and the line. + + + + + + + Gets the list of s that are the intersection of the rectangle and the lines. + + + + + + + + Whether the point is located on the line segment. + + + + + Whether two lines intersect. + + + + + Whether two lines intersect. + + + + + Get the that is the intersection of two lines. + + + + + Get the that is the intersection of two lines. + + + + + Checks if both lines are parallel. + + + + + Checks if both lines are parallel. + + + + + Gets the that is the intersection of the rectangle and the line. + + + + + + + Whether the rectangle and the line intersect. + + + + + + + Whether the point is located on the line segment. + + + + + Whether two lines intersect. + + + + + Whether two lines intersect. + + + + + Get the that is the intersection of two lines. + + + + + Get the that is the intersection of two lines. + + + + + Checks if both lines are parallel. + + + + + Checks if both lines are parallel. + + + + + Whether the line formed by and + intersects the line formed by and . + + + + + The intersection of the line formed by and + intersects the rectangle. + + + + + Whether the line formed by and + intersects the rectangle. + + + + + Split a bezier curve into 2 bezier curves, at tau. + + The original bezier curve. + The t value were to split the curve, usually between 0 and 1, but not necessary. + + + + Checks if the curve and the line are intersecting. + Avoid using this method as it is not optimised. Use instead. + + + + + Checks if the curve and the line are intersecting. + Avoid using this method as it is not optimised. Use instead. + + + + + Get the s that are the intersections of the line and the curve. + + + + + Get the s that are the intersections of the line and the curve. + + + + + Get the t values that are the intersections of the line and the curve. + + List of t values where the and the intersect. + + + + Get the t values that are the intersections of the line and the curve. + + List of t values where the and the intersect. + + + + nb: returns MaxInt ((2^32)-1) when pt is on a line + + + + + Whether the point is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the point. + The point that should be contained within the subpath. + If set to false, will return false if the point belongs to the subpath's border. + + + + Whether the rectangle is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the rectangle. + The rectangle that should be contained within the subpath. + If set to false, will return false if the rectangle is on the subpath's border. + + + + Whether the other subpath is located inside the subpath. + Ignores winding rule. + + The subpath that should contain the rectangle. + The other subpath that should be contained within the subpath. + If set to false, will return false if the other subpath is on the subpath's border. + + + + Get the area of the path. + + + + + + Whether the point is located inside the path. + + The path that should contain the point. + The point that should be contained within the path. + If set to false, will return false if the point belongs to the path's border. + + + + Whether the rectangle is located inside the path. + + The path that should contain the rectangle. + The rectangle that should be contained within the path. + If set to false, will return false if the rectangle is on the path's border. + + + + Whether the subpath is located inside the path. + + The path that should contain the subpath. + The subpath that should be contained within the path. + If set to false, will return false if the subpath is on the path's border. + + + + Whether the other path is located inside the path. + + The path that should contain the path. + The other path that should be contained within the path. + If set to false, will return false if the other subpath is on the path's border. + + + + Get the real roots of a Cubic (or Quadratic, a=0) equation. + ax^3 + bx^2 + cx + d = 0 + + ax^3 + bx^2 + cx + d + + + + By default user space units correspond to 1/72nd of an inch (a typographic point). + The UserUnit entry in a page dictionary can define the space units as a different multiple of 1/72 (1 point). + + + + + The number of points (1/72nd of an inch) corresponding to a single unit in user space. + + + + + Create a new unit specification for a page. + + + + + Encapsulates the algorithm for chromatic adaptation described here: + http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html + + + + + Transformer for CIEBased color spaces. + + In addition to the PDF spec itself, the transformation implementation is based on the descriptions in: + https://en.wikipedia.org/wiki/SRGB#The_forward_transformation_(CIE_XYZ_to_sRGB) and + http://www.brucelindbloom.com/index.html?Eqn_XYZ_to_RGB.html + + + + + + Transforms the supplied ABC color to the RGB color of the + that was supplied to this as the destination + workspace. + A, B and C represent red, green and blue calibrated color values in the range 0 to 1. + + + + + A color with cyan, magenta, yellow and black (K) components. + + + + + CMYK Black value (0, 0, 0, 1). + + + + + CMYK White value (all 0). + + + + + + + + The cyan value. + + + + + The magenta value. + + + + + The yellow value. + + + + + The black value. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + Color values in a PDF are interpreted according to the current color space. + Color spaces enable a PDF to specify abstract colors in a device independent way. + + + + + Grayscale. Controls the intensity of achromatic light on a scale from black to white. + + + + + RGB. Controls the intensities of red, green and blue light. + + + + + CMYK. Controls the concentrations of cyan, magenta, yellow and black (K) inks. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalGray - Special case of the CIE colorspace using a single channel (A) and a single transformation. + A represents the gray component of a calibrated gray space in the range 0 to 1. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0 to 1. + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + Lab - A CIE ABC color space with two transforms. A, B and C represent the L*, a* and b* + components of a CIE 1976 L*a*b* space. The range of A (L*) is 0 to 100. + The range of B (a*) and C (b*) are defined by the Range of the color space. + + + + + ICC (International Color Consortium) colorspace. + ICC - Colorspace specified by a sequence of bytes which are interpreted according to the + ICC specification. + + + + + An Indexed color space allows a PDF content stream to use small integers as indices into a color map or color table of arbitrary colors in some other space. + A PDF consumer application treats each sample value as an index into the color table and uses the color value it finds there. + + + + + Enables a PDF content stream to paint an area with a pattern rather than a single color. + The pattern may be either a tiling pattern (type 1) or a shading pattern (type 2). + + + + + Provides a means for specifying the use of additional colorants or for isolating the control of individual color components of + a device color space for a subtractive device. + When such a space is the current color space, the current color is a single-component value, called a tint, + that controls the application of the given colorant or color components only. + + + + + Can contain an arbitrary number of color components. They provide greater flexibility than is possible with standard device color + spaces such as or with individual color spaces. + For example, it is possible to create a DeviceN color space consisting of only the cyan, magenta, and yellow color components, + with the black component excluded. + + + + + Contains more document-specific information about the . + + + + + The type of the ColorSpace. + + + + + The number of components for the color space. + + + + + The underlying type of , usually equal to + unless or . + + + + + The number of components for the underlying color space. + + + + + Create a new . + + + + + Get the color. + + + + + Get the color, without check and caching. + + + + + Get the color that initialize the current stroking or nonstroking colour. + + + + + Transform image bytes. + + + + + Convert to byte. + + + + + A grayscale value is represented by a single number in the range 0.0 to 1.0, + where 0.0 corresponds to black, 1.0 to white, and intermediate values to different gray levels. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + Color values are defined by three components representing the intensities of the additive primary colorants red, green and blue. + Each component is specified by a number in the range 0.0 to 1.0, where 0.0 denotes the complete absence of a primary component and 1.0 denotes maximum intensity. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + Color values are defined by four components cyan, magenta, yellow and black. + + + + + The single instance of the . + + + + + + + + + + + + + + + + + + + + + + + An Indexed color space allows a PDF content stream to use small integers as indices into a color map or color table of arbitrary colors in some other space. + A PDF consumer treats each sample value as an index into the color table and uses the color value it finds there. + + + + + Creates a indexed color space useful for extracting stencil masks as black-and-white images, + i.e. with a color palette of two colors (black and white). If the decode parameter array is + [0, 1] it indicates that black is at index 0 in the color palette, whereas [1, 0] indicates + that the black color is at index 1. + + + + + + + + + In the case of , gets the ' BaseNumberOfColorComponents. + + + + + The base color space in which the values in the color table are to be interpreted. + It can be any device or CIE-based color space or (in PDF 1.3) a Separation or DeviceN space, + but not a Pattern space or another Indexed space. + + + + + An integer that specifies the maximum valid index value. Can be no greater than 255. + + + + + Provides the mapping between index values and the corresponding colors in the base color space. + + + + + Create a new . + + + + + + + + + + + + + + + + Unwrap then transform using base color space details. + + + + + + DeviceN colour spaces may contain an arbitrary number of colour components. They provide greater flexibility than + is possible with standard device colour spaces such as DeviceCMYK or with individual Separation colour spaces. + + + + + + The 'N' in DeviceN. + + + + + + + + Specifies name objects specifying the individual colour components. The length of the array shall + determine the number of components in the DeviceN colour space. + + + The component names shall all be different from one another, except for the name None, which may be repeated. + + The special name All, used by Separation colour spaces, shall not be used. + + + + + + If the colorant name associated with a DeviceN color space does not correspond to a colorant available on the device, + the application arranges for subsequent painting operations to be performed in an alternate color space. + The intended colors can be approximated by colors in a device or CIE-based color space + which are then rendered with the usual primary or process colorants. + + + + + The optional attributes parameter shall be a dictionary containing additional information about the components of + colour space that conforming readers may use. Conforming readers need not use the alternateSpace and tintTransform + parameters, and may instead use custom blending algorithms, along with other information provided in the attributes + dictionary if present. + + + + + During subsequent painting operations, an application calls this function to transform a tint value into + color component values in the alternate color space. + The function is called with the tint value and must return the corresponding color component values. + That is, the number of components and the interpretation of their values depend on the . + + + + + Create a new . + + + + + + + + + + + + + + + + + DeviceN Color Space Attributes. + + + + + A name specifying the preferred treatment for the colour space. Values shall be DeviceN or NChannel. Default value: DeviceN. + + + + + Colorants - dictionary - Required if Subtype is NChannel and the colour space includes spot colorants; otherwise optional. + + + + + Process - dictionary - Required if Subtype is NChannel and the colour space includes components of a process colour space, otherwise optional. + + + + + MixingHints - dictionary - Optional + + + + + Create a new . + + + + + Create a new . + + + + + A Separation color space provides a means for specifying the use of additional colorants or + for isolating the control of individual color components of a device color space for a subtractive device. + When such a space is the current color space, the current color is a single-component value, called a tint, + that controls the application of the given colorant or color components only. + + + + + + + + + + + Specifies the name of the colorant that this Separation color space is intended to represent. + + + + The special colorant name All refers collectively to all colorants available on an output device, + including those for the standard process colorants. + + + The special colorant name None never produces any visible output. + Painting operations in a Separation space with this colorant name have no effect on the current page. + + + + + + If the colorant name associated with a Separation color space does not correspond to a colorant available on the device, + the application arranges for subsequent painting operations to be performed in an alternate color space. + The intended colors can be approximated by colors in a device or CIE-based color space + which are then rendered with the usual primary or process colorants. + + + + + During subsequent painting operations, an application calls this function to transform a tint value into + color component values in the alternate color space. + The function is called with the tint value and must return the corresponding color component values. + That is, the number of components and the interpretation of their values depend on the . + + + + + Create a new . + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalGray - A CIE A color space with a single transformation. + A represents the gray component of a calibrated gray space. The component must be in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + A number defining the gamma for the gray (A) component. Gamma must be positive and is generally + greater than or equal to 1. Default value: 1. + + + + + Create a new . + + + + + Transforms the supplied A color to grayscale RGB (sRGB) using the propties of this + in the transformation process. + A represents the gray component of a calibrated gray space. The component must be in the range 0.0 to 1.0. + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + An array of three numbers [GR GG GB] specifying the gamma for the red, green and blue (A, B, C) components + of the color space. Default value: [1.0 1.0 1.0]. + + + + + An array of nine numbers [XA YA ZA XB YB ZB XC YC ZC] specifying the linear interpretation of the + decoded A, B, C components of the color space with respect to the final XYZ representation. Default value: + [1 0 0 0 1 0 0 0 1]. + + + + + Create a new . + + + + + Transforms the supplied ABC color to RGB (sRGB) using the propties of this + in the transformation process. + A, B and C represent red, green and blue calibrated color values in the range 0.0 to 1.0. + + + + + + + + + + + + + + + + + CIE (Commission Internationale de l'Éclairage) colorspace. + Specifies color related to human visual perception with the aim of producing consistent color on different output devices. + CalRGB - A CIE ABC color space with a single transformation. + A, B and C represent red, green and blue color values in the range 0.0 to 1.0. + + + + + + + + + + + An array of three numbers [XW YW ZW] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse white point. The numbers XW and ZW shall be positive, and YW shall be equal to 1.0. + + + + + An array of three numbers [XB YB ZB] specifying the tristimulus value, in the CIE 1931 XYZ space of the + diffuse black point. All three numbers must be non-negative. Default value: [0.0 0.0 0.0]. + + + + + An array of four numbers [a_min a_max b_min b_max] that shall specify the range of valid values for the a* and b* (B and C) + components of the colour space — that is, a_min ≤ a* ≤ a_max and b_min ≤ b* ≤ b_max + Component values falling outside the specified range shall be adjusted to the nearest valid value without error indication. + Default value: [−100 100 −100 100]. + + + + + Create a new . + + + + + Transforms the supplied ABC color to RGB (sRGB) using the properties of this + in the transformation process. + A, B and C represent the L*, a*, and b* components of a CIE 1976 L*a*b* space. The range of the first (L*) + component shall be 0 to 100; the ranges of the second and third (a* and b*) components shall be defined by + the Range entry in the colour space dictionary + + + + + + + + + + + + + + + + + The ICCBased color space is one of the CIE-based color spaces supported in PDFs. These color spaces + enable a page description to specify color values in a way that is related to human visual perception. + The goal is for the same color specification to produce consistent results on different output devices, + within the limitations of each device. + + Currently support for this color space is limited in PdfPig. Calculations will only be based on + the color space of . + + + + + + The number of color components in the color space described by the ICC profile data. + This numbers shall match the number of components actually in the ICC profile. + Valid values are 1, 3 and 4. + + + + + + + + An alternate color space that can be used in case the one specified in the stream data is not + supported. Non-conforming readers may use this color space. The alternate color space may be any + valid color space (except a Pattern color space). If this property isn't explicitly set during + construction, it will assume one of the color spaces, DeviceGray, DeviceRGB or DeviceCMYK depending + on whether the value of is 1, 3 or respectively. + + Conversion of the source color values should not be performed when using the alternate color space. + Color values within the range of the ICCBased color space might not be within the range of the + alternate color space. In this case, the nearest values within the range of the alternate space + must be substituted. + + + + + + A list of 2 x numbers [min0 max0 min1 max1 ...] that + specifies the minimum and maximum valid values of the corresponding color components. These + values must match the information in the ICC profile. Default value: [0.0 1.0 0.0 1.0 ...]. + + + + + An optional metadata stream that contains metadata for the color space. + + + + + Create a new . + + + + + + + + + + + + + + + + + Pattern color space. + + + + + The pattern dictionary. + + + + + + + Cannot be called for , will throw a . + + + + + + + + Valid for Uncoloured Tiling Patterns. Wwill throw a otherwise. + + + + + + The underlying color space for Uncoloured Tiling Patterns. + + + + + Create a new . + + The patterns. + The underlying colour space for Uncoloured Tiling Patterns. + + + + Get the corresponding . + + + + + + + + Cannot be called for , will throw a . + + + + + + + + Cannot be called for , will throw a . + Use instead. + + + + + + + + Always returns null. + + + + + + Cannot be called for , will throw a . + + + + + + A ColorSpace which the PdfPig library does not currently support. Please raise a PR if you need support for this ColorSpace. + + + + + The single instance of the . + + + + + + + Cannot be called for , will throw a . + + + + + + + + Cannot be called for , will throw a . + + + + + + + + + + + + + + + + + + Provides utility extension methods for dealing with s. + + + + + Gets the corresponding for a given . + + + + + Maps from a to the corresponding if one exists. + Includes extended color spaces. + + + + + Gets the corresponding for a given . + + + + + s can be classified into colorspace families. + s within the same family share general characteristics. + + + + + Device colorspaces directly specify colors or shades of gray that the output device + should produce. + + + + + CIE-based color spaces are based on an international standard for color specification created by + the Commission Internationale de l'Éclairage (International Commission on Illumination) (CIE). + These spaces specify colors in a way that is independent of the characteristics of any particular output device. + + + + + Special color spaces add features or properties to an underlying color space. + They include facilities for patterns, color mapping, separations, and high-fidelity and multitone color. + + + + + A grayscale color with a single gray component. + + + + + Gray Black value (0). + + + + + Gray White value (1). + + + + + + + + The gray value between 0 and 1. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + A color used for text or paths in a PDF. + + + + + The colorspace used for this color. + + + + + The color as RGB values (between 0 and 1). + + + + + A pattern color. + + Base class for and . + + + + + + 1 for tiling, 2 for shading. + + + + + The dictionary defining the pattern. + + + + + Graphics state parameter dictionary containing graphics state parameters to be put into effect temporarily while the shading + pattern is painted. Any parameters that are so specified shall be inherited from the graphics state that was in effect at the + beginning of the content stream in which the pattern is defined as a resource. + + + + + The pattern matrix (see 8.7.2, "General Properties of Patterns"). Default value: the identity matrix [1 0 0 1 0 0]. + + + + + + + + + + + + + Cannot be called for , will throw a . + + + + + + + + + A tiling pattern consists of a small graphical figure called a pattern cell. Painting with the pattern + replicates the cell at fixed horizontal and vertical intervals to fill an area. The effect is as if the + figure were painted on the surface of a clear glass tile, identical copies of which were then laid down + in an array covering the area and trimmed to its boundaries. + + + + + Content stream containing the painting operators needed to paint one instance of the cell. + + + + + A code that determines how the colour of the pattern cell shall be specified. + + + + + A code that controls adjustments to the spacing of tiles relative to the device pixel grid:. + + + + + The pattern cell's bounding box. These boundaries shall be used to clip the pattern cell. + + + + + The desired horizontal spacing between pattern cells, measured in the pattern coordinate system. + + XStep and YStep may differ from the dimensions of the pattern cell implied by the BBox entry. This allows tiling with irregularly shaped figures. + XStep and YStep may be either positive or negative but shall not be zero. + + + + + + The desired vertical spacing between pattern cells, measured in the pattern coordinate system. + + XStep and YStep may differ from the dimensions of the pattern cell implied by the BBox entry. This allows tiling with irregularly shaped figures. + XStep and YStep may be either positive or negative but shall not be zero. + + + + + + A resource dictionary that shall contain all of the named resources required by the pattern's content stream. + + + + + Content containing the painting operators needed to paint one instance of the cell. + + + + + Create a new . + + + + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + Shading patterns provide a smooth transition between colours across an area to be painted, independent of + the resolution of any particular output device and without specifying the number of steps in the colour transition. + + + + + A shading object defining the shading pattern's gradient fill. + + + + + Create a new . + + + + + + + + + + + + + + Equals. + + + + + Not Equals. + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + A color space definition from a resource dictionary. + + + + + A color with red, green and blue components. + + + + + RGB Black value (all 0). + + + + + RGB White value (all 1). + + + + + + + + The red value between 0 and 1. + + + + + The green value between 0 and 1. + + + + + The blue value between 0 and 1. + + + + + Create a new . + + The red value between 0 and 1. + The green value between 0 and 1. + The blue value between 0 and 1. + + + + + + + + + + + Whether 2 RGB colors are equal across all channels. + + + + + + + + Equals. + + + + + Not Equals. + + + + + + + + A shading specifies details of a particular gradient fill, including the type + of shading to be used, the geometry of the area to be shaded, and the geometry of the + gradient fill. Various shading types are available, depending on the value of the + dictionary's ShadingType entry. + + + + + The dictionary defining the shading. + + + + + The shading type. + + + + + The colour space in which colour values shall beexpressed. + This may be any device, CIE-based, or special colour space except a Pattern space. + + + + + An array of colour components appropriate to the colour space, + specifying a single background colour value. If present, this + colour shall be used, before any painting operation involving + the shading, to fill those portions of the area to be painted + that lie outside the bounds of the shading object. + + + + + The shading's bounding box. The coordinates shall be interpreted + in the shading's target coordinate space. If present, this bounding + box shall be applied as a temporary clipping boundary when the shading + is painted, in addition to the current clipping path and any other + clipping boundaries in effect at that time. + + + + + The shading operators sample shading functions at a rate determined by + the resolution of the output device. Aliasing can occur if the function + is not smooth—that is, if it has a high spatial frequency relative to + the sampling rate. Anti-aliasing can be computationally expensive and + is usually unnecessary, since most shading functions are smooth enough + or are sampled at a high enough frequency to avoid aliasing effects. + Anti-aliasing may not be implemented on some output devices, in which + case this flag is ignored. + + + + + Create a new . + + + + + The shading's function(s), if any. + + + + + Convert the input values using the functions of the shading. + + + + + Function-based shadings (type 1) define the colour of every point in the domain using a + mathematical function (not necessarily smooth or continuous). + + + + + (Optional) An array of four numbers [xmin xmax ymin ymax] specifying the rectangular domain of + coordinates over which the colour function(s) are defined. + + Default value: [0.0 1.0 0.0 1.0]. + + + + + + (Optional) An array of six numbers specifying a transformation matrix mapping the coordinate + space specified by the Domain entry into the shading's target coordinate space. + + Default value: the identity matrix [1 0 0 1 0 0]. + + + + + + (Required) A 2-in, n-out function or an array of n 2-in, 1-out functions (where n is the + number of colour components in the shading dictionary's colour space). + Each function's domain shall be a superset of that of the shading dictionary. + If the value returned by the function for a given colour component is out of + range, it shall be adjusted to the nearest valid value. + + + + + Create a new . + + + + + Axial shadings (type 2) define a colour blend along a line between two points, optionally + extended beyond the boundary points by continuing the boundary colours. + + + + + (Required) An array of four numbers [x0 y0 x1 y1] specifying the starting and ending coordinates + of the axis, expressed in the shading's target coordinate space. + + + + + (Optional) An array of two numbers [t0 t1] specifying the limiting values of a parametric variable t. + The variable is considered to vary linearly between these two values as the colour gradient + varies between the starting and ending points of the axis. The variable t becomes the input + argument to the colour function(s). Default value: [0.0 1.0]. + + + + + (Required) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number of + colour components in the shading dictionary's colour space). The function(s) shall be + called with values of the parametric variable t in the domain defined by the Domain entry. + Each function's domain shall be a superset of that of the shading dictionary. If the value + returned by the function for a given colour component is out of range, it shall be adjusted + to the nearest valid value. + + + + + (Optional) An array of two boolean values specifying whether to extend the shading beyond the starting + and ending points of the axis, respectively. Default value: [false false]. + + + + + Create a new . + + + + + Radial shadings (type 3) define a blend between two circles, optionally extended beyond the + boundary circles by continuing the boundary colours. This type of shading is commonly used + to represent three-dimensional spheres and cones. + + + + + (Required) An array of six numbers [x0 y0 r0 x1 y1 r1] specifying the centres and radii of the starting + and ending circles, expressed in the shading's target coordinate space. The radii r0 and r1 + shall both be greater than or equal to 0. If one radius is 0, the corresponding circle shall + be treated as a point; if both are 0, nothing shall be painted. + + + + + (Optional) An array of two numbers [t0 t1] specifying the limiting values of a parametric variable t. + The variable is considered to vary linearly between these two values as the colour gradient + varies between the starting and ending circles. The variable t becomes the input argument + to the colour function(s). + + Default value: [0.0 1.0]. + + + + + + (Required) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number of + colour components in the shading dictionary's colour space). The function(s) shall be + called with values of the parametric variable t in the domain defined by the shading + dictionary's Domain entry. Each function’s domain shall be a superset of that of the + shading dictionary. If the value returned by the function for a given colour component + is out of range, it shall be adjusted to the nearest valid value. + + + + + (Optional) An array of two boolean values specifying whether to extend the shading beyond the starting + and ending points of the axis, respectively. + + Default value: [false false]. + + + + + + Create a new . + + + + + Free-form Gouraud-shaded triangle meshes (type 4) define a common construct used by many + three-dimensional applications to represent complex coloured and shaded shapes. Vertices + are specified in free-form geometry. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each vertex (see below). + The value of BitsPerFlag shall be 2, 4, or8, but only the least significant 2 bits + in each flag value shall beused. The value for the edge flag shall be 0, 1, or 2. + + + + + (Required) An array of numbers specifying how to map vertex coordinates and colour components + into the appropriate ranges of values. The decoding method is similar to that used + in image dictionaries. The ranges shall bespecified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n + is the number of colour components in the shading dictionary's colour space). If + this entry is present, the colour data for each vertex shall be specified by a + single parametric variable rather than by n separate colour components. + The designated function(s) shall be called with each interpolated value of the + parametric variable to determine the actual colour at each point. Each input + value shall be forced into the range interval specified for the corresponding + colour component in the shading dictionary's Decode array. Each function’s + domain shall be a superset of that interval. If the value returned by the + function for a given colour component is out of range, it shall be adjusted + to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Lattice-form Gouraud-shaded triangle meshes (type 5) are based on the same geometrical + construct as type 4 but with vertices specified as a pseudorectangular lattice. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of vertices in each row of the lattice; the value shall be greater than + or equal to 2. The number of rows need not be specified. + + + + + (Required) An array of numbers specifying how to map vertex coordinates and colour components + into the appropriate ranges of values. The decoding method is similar to that used + in image dictionaries. The ranges shall bespecified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is the number + of colour components in the shading dictionary's colour space). If this entry is present, + the colour data for each vertex shall be specified by a single parametric variable rather + than by n separate colour components. The designated function(s) shall be called with each + interpolated value of the parametric variable to determine the actual colour at each point. + Each input value shall be forced into the range interval specified for the corresponding + colour component in the shading dictionary's Decode array. Each function's domain shall be + a superset of that interval. If the value returned by the function for a given colour + component is out of range, it shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Coons patch meshes (type 6) construct a shading from one or more colour patches, each + bounded by four cubic Bézier curves. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each patch (see below). + The value shall be 2, 4, or 8, but only the least significant 2 bits in each flag + value shall be used. Valid values for the edge flag shall be 0, 1, 2, and 3. + + + + + (Required) An array of numbers specifying how to map coordinates and colour components into the + appropriate ranges of values. The decoding method is similar to that used in image + dictionaries. The ranges shall be specified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is + the number of colour components in the shading dictionary's colour space). If this + entry is present, the colour data for each vertex shall be specified by a single + parametric variable rather than by n separate colour components. The designated + function(s) shall be called with each interpolated value of the parametric variable + to determine the actual colour at each point. Each input value shall be forced into + the range interval specified for the corresponding colour component in the shading + dictionary's Decode array. Each function’s domain shall be a superset of that interval. + If the value returned by the function for a given colour component is out of range, it + shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Tensor-product patch meshes (type 7) are similar to type 6 but with additional control + points in each patch, affording greater control over colour mapping. + + + + + (Required) The number of bits used to represent each vertex coordinate. + The value shall be 1, 2, 4, 8, 12, 16, 24, or 32. + + + + + (Required) The number of bits used to represent each colour component. + The value shall be 1, 2, 4, 8, 12, or 16. + + + + + (Required) The number of bits used to represent the edge flag for each patch (see below). + The value shall be 2, 4, or 8, but only the least significant 2 bits in each flag + value shall be used. Valid values for the edge flag shall be 0, 1, 2, and 3. + + + + + (Required) An array of numbers specifying how to map coordinates and colour components into the + appropriate ranges of values. The decoding method is similar to that used in image + dictionaries. The ranges shall be specified as follows: + [xmin xmax ymin ymax c1, min c1, max … cn, min cn, max] + Only one pair of c values shall be specified if a Function entry is present. + + + + + (Optional) A 1-in, n-out function or an array of n 1-in, 1-out functions (where n is + the number of colour components in the shading dictionary's colour space). If this + entry is present, the colour data for each vertex shall be specified by a single + parametric variable rather than by n separate colour components. The designated + function(s) shall be called with each interpolated value of the parametric variable + to determine the actual colour at each point. Each input value shall be forced into + the range interval specified for the corresponding colour component in the shading + dictionary's Decode array. Each function’s domain shall be a superset of that interval. + If the value returned by the function for a given colour component is out of range, it + shall be adjusted to the nearest valid value. + This entry shall not be used with an Indexed colour space. + + + + + Create a new . + + + + + Shading types. + + + + + Function-based shading. + + + + + Axial shading. + + + + + Radial shading. + + + + + Free-form Gouraud-shaded triangle mesh. + + + + + Lattice-form Gouraud-shaded triangle mesh. + + + + + Coons patch mesh. + + + + + Tensor-product patch mesh + + + + + Stores each letter as it is encountered in the content stream. + + + + + Stores each path as it is encountered in the content stream. + + + + + Stores a link to each image (either inline or XObject) as it is encountered in the content stream. + + + + + Stores each marked content as it is encountered in the content stream. + + + + + A counter to track individual calls to operations used to determine if letters are likely to be + in the same word/group. This exposes internal grouping of letters used by the PDF creator which may correspond to the + intended grouping of letters into words. + + + + + The line cap style specifies the shape to be used at the ends of open subpaths (and dashes, if any) when they are stroked. + + + + + The stroke is squared off at the endpoint of the path. There is no projection beyond the end of the path. + + + + + A semicircular arc with a diameter equal to the line width is drawn around the endpoint and filled in. + + + + + The stroke continues beyond the endpoint of the path for a distance equal to half the line width and is squared off. + + + + + The line dash pattern controls the pattern of dashes and gaps used to stroke paths. + It is specified by a dash array and a dash phase. + + + + + The distance into the dash pattern at which to start the dash. + + + + + The numbers that specify the lengths of alternating dashes and gaps. + + + + + Create a new . + + The phase. . + The array. . + + + + The default solid line. + + + + + + + + The line join style specifies the shape to be used at the corners of paths that are stroked. + + + + + The outer edges of the strokes for the two segments are extended until they meet at an angle, as in a picture frame. + If the segments meet at too sharp an angle (as defined by the miter limit parameter), a bevel join is used instead. + + + + + An arc of a circle with a diameter equal to the line width is drawn around the point where the two segments meet, + connecting the outer edges of the strokes for the two segments + + + + + The two segments are finished with butt caps and the resulting notch beyond the ends of the segments is filled with a triangle. + + + + + Specifying a rendering intent allows a PDF file to set priorities regarding which properties to preserve and which to sacrifice for CIE colors. + + + + + No correction for the output medium's white point. Colors + only represented relative to the light source. + + + + + Combines light source and output medium's white point. + + + + + Emphasises saturation rather than colorimetric accuracy. + + + + + Modifies from colorimetric values to provide a "pleasing perceptual appearance". + + + + + The current state of text related parameters for a content stream. + + + + + Whether the font comes from the extended graphics state via the operator. + + + + + A value in unscaled text space units which is added to the horizontal (or vertical if in vertical writing mode) + glyph displacement. + + + In horizontal writing mode a positive value will expand the distance between letters/glyphs. + Default value 0. + + + + + As for but applies only for the space character (32). + + + Default value 0. + + + + + Adjusts the width of glyphs/letters by stretching (or compressing) them horizontally. + Value is a percentage of the normal width. + + + + + The vertical distance in unscaled text space units between the baselines of lines of text. + + + + + The name of the currently active font. + + + + + The current font size. + + + + + The for glyph outlines. + + + When the rendering mode requires filling the current non-stroking color in the state is used.
+ When the rendering mode requires stroking the current stroking color in the state is used.
+ The rendering mode has no impact on Type 3 fonts. +
+
+ + + The distance in unscaled text space units to move the default baseline either up or down. + + + Always applies to the vertical coordinate irrespective or writing mode. + + + + + Are all glyphs in a text object treated as a single elementary object for the purpose of the transparent imaging model? + + + + + + + + The state of the current graphics control parameters set by operations in the content stream. + + + Initialized per page. + + + + + The current clipping path. + + + + + The for this graphics state. + + + + + Thickness in user space units of path to be stroked. + + + + + Specifies the shape of line ends for open stroked paths. + + + + + Specifies the shape of joins between connected stroked path segments. + + + + + Maximum length of mitered line joins for paths before becoming a bevel. + + + + + The pattern to be used for stroked lines. + + + + + The rendering intent to use when converting CIE-based colors to device colors. + + + + + Should a correction for rasterization effects be applied? + + + + + Opacity value to be used for transparent imaging. + + + + + Opacity value to be used for transparent imaging. + + + + + Should soft mask and alpha constant values be interpreted as shape () or opacity () values? + + + + + Maps positions from user coordinates to device coordinates. + + + + + The active colorspaces for this content stream. + + + + + The current active stroking color for paths. + + + + + The current active non-stroking color for text and fill. + + + + + Should painting in a colorant set erase () + or leave unchanged () areas of other colorant sets? + + + + + As for but with non-stroking operations. + + + + + In DeviceCMYK color space a value of 0 for a component will erase a component (0) + or leave it unchanged (1) for overprinting. + + + + + The precision for rendering curves, smaller numbers give smoother curves. + + + + + The precision for rendering color gradients on the output device. + + + + + + + + Methods for manipulating and retrieving the current color state for a PDF content stream. + + + + + The used for stroking operations. + + + + + The used for non-stroking operations. + + + + + Set the current color space to use for stroking operations and initialize the stroking color. + + The color space name. + The color space dictionary. Default value is null. + + + + Set the current color space to use for nonstroking operations and initialize the nonstroking color. + + The color space name. + The color space dictionary. Default value is null. + + + + Set the color to use for stroking operations using the current color space. + + + + + Set the stroking color space to DeviceGray and set the gray level to use for stroking operations. + + A number between 0.0 (black) and 1.0 (white). + + + + Set the stroking color space to DeviceRGB and set the color to use for stroking operations. + + Red - A number between 0 (minimum intensity) and 1 (maximum intensity). + Green - A number between 0 (minimum intensity) and 1 (maximum intensity). + Blue - A number between 0 (minimum intensity) and 1 (maximum intensity). + + + + Set the stroking color space to DeviceCMYK and set the color to use for stroking operations. + + Cyan - A number between 0 (minimum concentration) and 1 (maximum concentration). + Magenta - A number between 0 (minimum concentration) and 1 (maximum concentration). + Yellow - A number between 0 (minimum concentration) and 1 (maximum concentration). + Black - A number between 0 (minimum concentration) and 1 (maximum concentration). + + + + Set the color to use for nonstroking operations using the current color space. + + + + + Set the nonstroking color space to DeviceGray and set the gray level to use for nonstroking operations. + + A number between 0.0 (black) and 1.0 (white). + + + + Set the nonstroking color space to DeviceRGB and set the color to use for nonstroking operations. + + Red - A number between 0 (minimum intensity) and 1 (maximum intensity). + Green - A number between 0 (minimum intensity) and 1 (maximum intensity). + Blue - A number between 0 (minimum intensity) and 1 (maximum intensity). + + + + Set the nonstroking color space to DeviceCMYK and set the color to use for nonstroking operations. + + Cyan - A number between 0 (minimum concentration) and 1 (maximum concentration). + Magenta - A number between 0 (minimum concentration) and 1 (maximum concentration). + Yellow - A number between 0 (minimum concentration) and 1 (maximum concentration). + Black - A number between 0 (minimum concentration) and 1 (maximum concentration). + + + + The current graphics state context when running a PDF content stream. + + + + + The current position. + + + + + The matrices for the current text state. + + + + + The number of graphics states on the stack. + + + + + Gets the current graphic state. + + + + + Sets the current graphics state to the state from the top of the stack. + + + + + Saves a copy of the current graphics state on the stack. + + + + + Shows the text represented by the provided bytes using the current graphics state. + + The bytes of the text. + + + + Interprets the tokens to draw text at positions. + + The tokens to show. + + + + Retrieves the named XObject and applies it to the current state. + + The name of the XObject. + + + + Start a new sub-path. + + + + + Close the current subpath. + + + + + Stroke the current path. + + Whether to also close the path. + + + + Fill the current path. + + The filling rule to use. + Whether to also close the path. + + + + Fill and stroke the current path. + + The filling rule to use. + Whether to also close the path. + + + + Add a move command to the path. + Should implement matrix transformations. + + + + + Add a bezier curve to the current subpath. + Should implement matrix transformations. + + + + + Add a bezier curve to the current subpath. + Should implement matrix transformations. + + + + + Add a line command to the subpath. + Should implement matrix transformations. + + + + + Add a rectangle following the pdf specification (m, l, l, l, c) path. A new subpath will be created. + Should implement matrix transformations. + + + + + End the path object without filling or stroking it. This operator shall be a path-painting no-op, + used primarily for the side effect of changing the current clipping path (see 8.5.4, "Clipping Path Operators"). + + + + + Close the current path. + + + + + Indicate that a marked content region is started. + + + + + Indicates that the current marked content region is complete. + + + + + Update the graphics state to apply the state from the named ExtGState dictionary. + + The name of the state to apply. + + + + Indicate that an inline image is being defined. + + + + + Define the properties of the inline image currently being drawn. + + + + + Indicates that the current inline image is complete. + + + + + Modify the clipping rule of the current path. + + + + + Set the flatness tolerance in the graphics state. + Flatness is a number in the range 0 to 100; a value of 0 specifies the output device’s default flatness tolerance. + + + + + + Set the line cap style in the graphics state. + + + + + Set the line dash pattern in the graphics state. + + + + + Set the line join style in the graphics state. + + + + + Set the line width in the graphics state. + + + + + Set the miter limit in the graphics state. + + + + + Move to the start of the next line. + + + This performs this operation: 0 -Tl Td + The offset is negative leading text (Tl) value, this is incorrect in the specification. + + + + + Set the font and the font size. + Font is the name of a font resource in the Font subdictionary of the current resource dictionary. + Size is a number representing a scale factor. + + + + + Set the horizontal scaling. + + + + + + Set the text leading. + + + + + Set the text rendering mode. + + + + + Set text rise. + + + + + Sets the word spacing. + + + + + Modify the current transformation matrix by concatenating the specified matrix. + + + + + Set the character spacing to a number expressed in unscaled text space units. + Initial value: 0. + + + + + Paint the shape and colour shading described by a shading dictionary, subject to the current clipping path. The current colour in the graphics state is neither used nor altered. The effect is different from that of painting a path using a shading pattern as the current colour. + + The name of a shading dictionary resource in the Shading subdictionary of the current resource dictionary. + + + + Handles building s. + + + + + + Modify the current clipping path by intersecting it with the current path, using the + even-odd rule to determine which regions lie inside the clipping path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Modify the current clipping path by intersecting it with the current path, using the + nonzero winding number rule to determine which regions lie inside the clipping path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Begin a compatibility section. Unrecognized operators (along with their operands) are ignored without error. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End a compatibility section. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the color rendering intent in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The rendering intent for CIE-based colors. + + + + + Create new . + + The rendering intent. + + + + + + + + + + + + + + Set the flatness tolerance in the graphics state. + Flatness is a number in the range 0 to 100; a value of 0 specifies the output device’s default flatness tolerance. + + + + + The symbol for this operation in a stream. + + + + + + + + The flatness tolerance controls the maximum permitted distance in device pixels + between the mathematically correct path and an approximation constructed from straight line segments. + + + + + Create new . + + The flatness tolerance. + + + + + + + + + + + + + + Set the line cap style in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The cap style. + + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set the line dash pattern in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The line dash pattern. + + + + + Create a new . + + + + + + + + + + + + + + + + + The symbol for this operation in a stream. + + + + + + + + The line join style. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set the line width in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The line width. + + + + + Create a new . + + The line width. + + + + + + + + + + + + + + Set the miter limit in the graphics state. + + + + + The symbol for this operation in a stream. + + + + + + + + The miter limit. The miter limit imposes a maximum on the ratio of the miter length to the line width. + When the limit is exceeded, the join is converted from a miter to a bevel. + + + + + Create a new . + + + + + + + + + + + + + + An operation with associated data from a content stream. + + + + + The symbol representing the operator in the content stream. + + + + + Writes the operator and any operands as valid PDF content to the stream. + + The stream to write to. + + + + Applies the operation to the current context with the provided resources. + Matrix transformations should be implemented in . + + + + + + + Begin an inline image object. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Begin the image data for an inline image object. + + + + + The symbol for this operation in a stream. + + + + + + + + The key-value pairs which specify attributes of the following image. + + + + + Create a new . + + + + + + + + + + + + + + + End an inline image object. + + + + + The symbol for this operation in a stream. + + + + + The raw data for the inline image which should be interpreted according to the corresponding . + + + + + + + + Create a new operation. + + The raw byte data of this image. + + + + + + + + + + + + + + Paint the specified XObject. + The operand name must appear as a key in the XObject subdictionary of the current resource dictionary. + The associated value must be a stream whose Type entry, if present, is XObject. + The effect of depends on the value of the XObject's Subtype entry, which may be Image, Form or PS. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the XObject which appears in the XObject subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the XObject. + + + + + + + + + + + + + + Begin a marked-content sequence terminated by a balancing operator. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the sequence. + + + + + Create a new . + + The name of the marked-content sequence. + + + + + + + + + + + + + + Begin a marked-content sequence with an associated property list terminated by a balancing operator. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + The name of the property dictionary in the Properties subdictionary of the current resource dictionary. + Can be if the property dictionary is provided inline. + + + + + The marked-content sequence properties. + Can be if a name of the property dictionary is provided instead. + + + + + Create a new . + + The name of the marked-content point. + The name of the property dictionary. + + + + Create a new . + + The name of the marked-content point. + The properties of the marked-content point. + + + + + + + + + + + Designate a single marked-content point in the content stream. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + Create a new . + + The name of the marked-content point. + + + + + + + + + + + + + + Designate a single marked-content point in the content stream with an associated property list. + + + + + The symbol for this operation in a stream. + + + + + + + + A name indicating the role or significance of the point. + + + + + The name of the property dictionary in the Properties subdictionary of the current resource dictionary. + Can be if the property dictionary is provided inline. + + + + + The marked-content point properties. + Can be if a name of the property dictionary is provided instead. + + + + + Create a new . + + The name of the marked-content point. + The name of the property dictionary. + + + + Create a new . + + The name of the marked-content point. + The properties of the marked-content point. + + + + + + + + + + + End a marked-content sequence. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + Paint the shape and color shading described by a shading dictionary, subject to the current clipping path. + The current color in the graphics state is neither used nor altered. + The effect is different from that of painting a path using a shading pattern as the current color. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of a shading dictionary resource in the Shading subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the shading dictionary. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + First control point x. + + + + + First control point y. + + + + + Second control point x. + + + + + Second control point y. + + + + + End point x. + + + + + End point y. + + + + + Create a new . + + Control point 1 x coordinate. + Control point 1 y coordinate. + Control point 2 x coordinate. + Control point 2 y coordinate. + End point x coordinate. + End point y coordinate. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the first control point. + + + + + The y coordinate of the first control point. + + + + + The x coordinate of the end point. + + + + + The y coordinate of the end point. + + + + + Create a new . + + Control point 1 x coordinate. + Control point 1 y coordinate. + Control point 2/End x coordinate. + Control point 2/End y coordinate. + + + + + + + + + + + + + + Append a rectangle to the current path as a complete subpath. + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the lower left corner. + + + + + The y coordinate of the lower left corner. + + + + + The width of the rectangle. + + + + + The height of the rectangle. + + + + + Create a new . + + The x coordinate of the lower left corner. + The y coordinate of the lower left corner. + The width of the rectangle. + The height of the rectangle. + + + + + + + + + + + + + + Append a cubic Bezier curve to the current path. + The curve extends from the current point to the point (x3, y3), using the current point and (x2, y2) as the Bezier control points + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the second control point. + + + + + The y coordinate of the second control point. + + + + + The x coordinate of the end point of the curve. + + + + + The y coordinate of the end point of the curve. + + + + + Create a new . + + The x coordinate of the second control point. + The y coordinate of the second control point. + The x coordinate of the end point. + The y coordinate of the end point. + + + + + + + + + + + + + + Append a straight line segment from the current point to the point (x, y). + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate of the end point of the line. + + + + + The y coordinate of the end point of the line. + + + + + Create a new . + + The x coordinate of the line's end point. + The y coordinate of the line's end point. + + + + + + + + + + + + + + Begin a new subpath by moving the current point to coordinates (x, y), omitting any connecting line segment. + + + + + The symbol for this operation in a stream. + + + + + + + + The x coordinate for the subpath to begin at. + + + + + The y coordinate for the subpath to begin at. + + + + + Create a new . + + The x coordinate. + The y coordinate. + + + + + + + + + + + + + + Close the current subpath by appending a straight line segment from the current point to the starting point of the subpath. + If the current subpath is already closed, this does nothing. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close and stroke the path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close, fill, and then stroke the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Close, fill, and then stroke the path, using the nonzero winding number rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End path without filling or stroking. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill and then stroke the path, using the even-odd rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill the path, using the nonzero winding number rule to determine the region to fill. + Any subpaths that are open are implicitly closed before being filled. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Fill and then stroke the path, using the nonzero winding number rule to determine the region to fill. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Equivalent to included only for compatibility. + Although PDF consumer applications must be able to accept this operator, PDF producer applications should use instead. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Stroke the path. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the nonstroking color based on the current color space. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color, 1 for grayscale, 3 for RGB, 4 for CMYK. + + + + + Create a new . + + The color operands. + + + + + + + + + + + + + + Set the stroking color based on the current color space with support for Pattern, Separation, DeviceN, and ICCBased color spaces. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color. + + + + + The name of an entry in the Pattern subdictionary of the current resource dictionary. + + + + + Create a new . + + The color operands. + + + + Create a new . + + The color operands. + The pattern name. + + + + + + + + + + + + + + Set the non-stroking color space to DeviceCMYK and set the color to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The cyan level between 0 and 1. + + + + + The magenta level between 0 and 1. + + + + + The yellow level between 0 and 1. + + + + + The key level between 0 and 1. + + + + + Create a new . + + The cyan level. + The magenta level. + The yellow level. + The key level. + + + + + + + + + + + + + + Set the gray level for non-stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The gray level between 0 (black) and 1 (white). + + + + + Create a new . + + The gray level. + + + + + + + + + + + + + + Set RGB color for non-stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The red level between 0 and 1. + + + + + The green level between 0 and 1. + + + + + The blue level between 0 and 1. + + + + + Create a new . + + The red level. + The green level. + The blue level. + + + + + + + + + + + + + + Set the current color space to use for nonstroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the color space. + + + + + Create a new . + + The name of the color space. + + + + + + + + + + + + + + Set the stroking color based on the current color space. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color, 1 for grayscale, 3 for RGB, 4 for CMYK. + + + + + Create a new . + + The color operands. + + + + + + + + + + + + + + Set the stroking color based on the current color space with support for Pattern, Separation, DeviceN, and ICCBased color spaces. + + + + + The symbol for this operation in a stream. + + + + + + + + The values for the color. + + + + + The name of an entry in the Pattern subdictionary of the current resource dictionary. + + + + + Create a new . + + The color operands. + + + + Create a new . + + The color operands. + The pattern name. + + + + + + + + + + + + + + Set the stroking color space to DeviceCMYK and set the color to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The cyan level between 0 and 1. + + + + + The magenta level between 0 and 1. + + + + + The yellow level between 0 and 1. + + + + + The key level between 0 and 1. + + + + + Create a new . + + The cyan level. + The magenta level. + The yellow level. + The key level. + + + + + + + + + + + + + + Set the gray level for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The gray level between 0 (black) and 1 (white). + + + + + Create a new . + + The gray level. + + + + + + + + + + + + + + Set RGB color for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The red level between 0 and 1. + + + + + The green level between 0 and 1. + + + + + The blue level between 0 and 1. + + + + + Create a new . + + The red level. + The green level. + The blue level. + + + + + + + + + + + + + + Set the current color space to use for stroking operations. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the color space. + + + + + Create a new . + + The name of the color space. + + + + + + + + + + + + + + Modify the current transformation matrix by concatenating the specified matrix. + + + + + The symbol for this operation in a stream. + + + + + + + + The 6 values for the transformation matrix. + + + + + Create a new . + + The 6 transformation matrix values. + + + + + + + + + + + + + + Restore the graphics state by removing the most recently saved state from the stack and making it the current state. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Save the current graphics state on the graphics state stack. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Set the specified parameters in the graphics state using the ExtGState subdictionary with the given name. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of a graphics state parameter dictionary in the ExtGState subdictionary of the current resource dictionary. + + + + + Create a new . + + The name of the ExtGState dictionary. + + + + + + + + + + + + + + Begin a text object, initializing the text matrix and the text line matrix to the identity matrix. Text objects cannot be nested. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + End a text object, discarding the text matrix. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Move to the start of the next line. + + + This performs this operation: 0 -Tl Td + The offset is negative leading text (Tl) value, this is incorrect in the specification. + + + + + The symbol for this operation in a stream. + + + + + The instance of the operation. + + + + + + + + + + + + + + + + + + Move to the start of the next line offset by Tx Ty. + + + Performs the following operation: + 1 0 0
+ Tm = Tlm = 0 1 0 * Tlm
+ tx ty 1 +
+
+ + + The symbol for this operation in a stream. + + + + + + + + The x value of the offset. + + + + + The y value of the offset. + + + + + Create a new . + + The x offset. + The y offset. + + + + + + + + + + + + + + Move to the start of the next line, offset from the start of the current line by (tx, ty). + This operator also sets the leading parameter in the text state. + + + + + The symbol for this operation in a stream. + + + + + + + + The x value of the offset. + + + + + The y value of the offset and the inverse of the leading parameter. + + + + + Create a new . + + The x value of the offset. + The y value of the offset and the inverse of the leading parameter. + + + + + + + + + + + + + + Set the text matrix and the text line matrix. + + + + + The symbol for this operation in a stream. + + + + + + + + The values of the text matrix. + + + + + Create a new . + + The values of the text matrix. + + + + + + + + + + + + + + Move to the next line and show a text string. + + + + + The symbol for this operation in a stream. + + + + + + + + The text to show as a . + + + + + The text to show as hex bytes. + + + + + Create a new . + + The text to show. + + + + Create a new . + + The bytes of the text to show. + + + + + + + + + + + + + + Move to the next line and show a text string, using the first number as the word spacing and the second as the character spacing. + + + + + The symbol for this operation in a stream. + + + + + + + + The word spacing. + + + + + The character spacing. + + + + + The bytes of the text. + + + + + The text to show. + + + + + Create a new . + + The word spacing. + The character spacing. + The text to show. + + + + Create a new . + + The word spacing. + The character spacing. + The bytes of the text to show. + + + + + + + + + + + + + + Show a text string + + + The input is a sequence of character codes to be shown as glyphs. + + Generally each byte represents a single character code, however starting in version 1.2+ + a composite font might use multi-byte character codes to map to glyphs. + For these composite fonts, the of the font defines the mapping from code to glyph. + + + The grouping of character codes in arguments to this operator does not have any impact on the meaning; for example:
+ (Abc) Tj is equivalent to (A) Tj (b) Tj (c) Tj
+ However grouping character codes makes the document easier to search and extract text from. +
+
+
+ + + The symbol for this operation in a stream. + + + + + + + + The text string to show. + + + + + The bytes of the string to show. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Show one or more text strings, allowing individual glyph positioning. + Each element of array can be a string or a number. + If the element is a string, this operator shows the string. + If it is a number, the operator adjusts the text position by that amount + + + + + The symbol for this operation in a stream. + + + + + + + + The array elements. + + + + + Create a new . + + The array elements. + + + + + + + + + + + Set the character spacing to a number expressed in unscaled text space units. + Initial value: 0. + + + + + The symbol for this operation in a stream. + + + + + + + + The character spacing. + + + + + Create a new . + + The character spacing. + + + + + + + + + + + + + + Set the font and the font size. + Font is the name of a font resource in the Font subdictionary of the current resource dictionary. + Size is a number representing a scale factor. + + + + + The symbol for this operation in a stream. + + + + + + + + The name of the font as defined in the resource dictionary. + + + + + The font program defines glyphs for a standard size. This standard size is set so that each line of text will occupy 1 unit in user space. + The size is the scale factor used to scale glyphs from the standard size to the display size rather than the font size in points. + + + + + Create a new . + + The font name. + The font size. + + + + + + + + + + + + + + + + The symbol for this operation in a stream. + + + + + + + + A number specifying the percentage of the normal width. + + + + + Create a new . + + The horizontal scaling percentage. + + + + + + + + + + + + + + Set the text leading. + + + + + The symbol for this operation in a stream. + + + + + + + + The text leading in unscaled text space units. + + + + + Create a new . + + The text leading. + + + + + + + + + + + + + + Set the text rendering mode. + + + + + The symbol for this operation in a stream. + + + + + + + + The text rendering mode to set. + + + + + Create a new . + + + + + Create a new . + + + + + + + + + + + + + + + Set text rise. + + + + + The symbol for this operation in a stream. + + + + + + + + The amount of text rise - how far to move the baseline up or down from its default location. + + + + + Create a new . + + The text rise. + + + + + + + + + + + + + Sets the word spacing. + + + + + The symbol for this operation in a stream. + + + + + + + + Sets the width of the space ' ' character. For horizontal + writing positive values increase the gap between words separated by space, for vertical writing + positive values decrease the gap. + + + + + Create a new . + + The word spacing. + + + + + + + + + + + + + + Set width information for the glyph and declare that the glyph description specifies both its shape and its color for a Type 3 font. + wx specifies the horizontal displacement in the glyph coordinate system; + it must be consistent with the corresponding width in the font's Widths array. + wy must be 0. + + + + + The symbol for this operation in a stream. + + + + + + + + The horizontal displacement in the glyph coordinate system. + + + + + The vertical displacement in the glyph coordinate system. Must be 0. + + + + + Create a new . + + The horizontal displacement in the glyph coordinate system. + The vertical displacement in the glyph coordinate system. + + + + + + + + + + + + + + Set width information for the glyph and declare that the glyph description specifies both its shape and its color for a Type 3 font. + Also sets the glyph bounding box. + + + + + The symbol for this operation in a stream. + + + + + + + + The horizontal displacement in the glyph coordinate system. + + + + + The vertical displacement in the glyph coordinate system. Must be 0. + + + + + The lower left x coordinate of the glyph bounding box. + + + + + The lower left y coordinate of the glyph bounding box. + + + + + The upper right x coordinate of the glyph bounding box. + + + + + The upper right y coordinate of the glyph bounding box. + + + + + Create a new . + + The horizontal displacement in the glyph coordinate system. + The vertical displacement in the glyph coordinate system. + The lower left x coordinate of the glyph bounding box. + The lower left y coordinate of the glyph bounding box. + The upper right x coordinate of the glyph bounding box. + The upper right y coordinate of the glyph bounding box. + + + + + + + + + + + + + A path is made up of one or more disconnected subpaths, each comprising a sequence of connected segments. The topology of the path is unrestricted: it may be concave or convex, may contain multiple subpaths representing disjoint areas, and may intersect itself in arbitrary ways. + A path shall be composed of straight and curved line segments, which may connect to one another or may be disconnected. + + + + + Rules for determining which points lie inside/outside the path. + + + + + Returns true if this is a clipping path. + + + + + Returns true if the path is filled. + + + + + The fill color. + + + + + Returns true if the path is stroked. + + + + + The stroke color. + + + + + Thickness in user space units of path to be stroked. + + + + + The pattern to be used for stroked lines. + + + + + The cap style to be used for stroked lines. + + + + + The join style to be used for stroked lines. + + + + + Set the clipping mode for this path and IsClipping to true. + IsFilled and IsStroked flags will be set to false. + + + + + Set the filling rule for this path and IsFilled to true. + + + + + Set IsStroked to true. + + + + + Create a clone with no Subpaths. + + + + + Gets a which entirely contains the geometry of the defined path. + + For paths which don't define any geometry this returns . + + + + Manages the Text Matrix (Tm), Text line matrix (Tlm) and used to generate the Text Rendering Matrix (Trm). + + + + + The current text matrix (Tm). + + + + + Captures the value of the at the beginning of a line of text. + This is convenient for aligning evenly spaced lines of text. + + + + + An XObject content record. + + + + + The XObject type. + + + + + The XObject stream. + + + + + The applied transformation. + + + + + The default rendering intent. + + + + + The default color space. + + + + + Utility for working with the bytes in s and converting according to their .s + + + + + Converts the output bytes (if available) of + to actual pixel values using the . For most images this doesn't + change the data but for it will convert the bytes which are indexes into the + real pixel data into the real pixel data. + + + + + Information read from a JPEG image. + + + + + Width of the image in pixels. + + + + + Height of the image in pixels. + + + + + Bits per component. + + + + + Create a new . + + + + + Indicates that this is a baseline DCT-based JPEG, and specifies the width, height, number of components, and component subsampling. + + + + + Indicates that this is a progressive DCT-based JPEG, and specifies the width, height, number of components, and component subsampling. + + + + + Specifies one or more Huffman tables. + + + + + Begins a top-to-bottom scan of the image. In baseline images, there is generally a single scan. + Progressive images usually contain multiple scans. + + + + + Specifies one or more quantization tables. + + + + + Specifies the interval between RSTn markers, in Minimum Coded Units (MCUs). + This marker is followed by two bytes indicating the fixed size so it can be treated like any other variable size segment. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Inserted every r macroblocks. + + + + + Marks the start of a JPEG image file. + + + + + Marks the end of a JPEG image file. + + + + + Marks a text comment. + + + + + For a given pass number (1 indexed) the scanline indexes of the lines included in that pass in the 8x8 grid. + + + + + Used to calculate the Adler-32 checksum used for ZLIB data in accordance with + RFC 1950: ZLIB Compressed Data Format Specification. + + + + + Calculate the Adler-32 checksum for some data. + + + + + The header for a data chunk in a PNG file. + + + + + The position/start of the chunk header within the stream. + + + + + The length of the chunk in bytes. + + + + + The name of the chunk, uppercase first letter means the chunk is critical (vs. ancillary). + + + + + Whether the chunk is critical (must be read by all readers) or ancillary (may be ignored). + + + + + A public chunk is one that is defined in the International Standard or is registered in the list of public chunk types maintained by the Registration Authority. + Applications can also define private (unregistered) chunk types for their own purposes. + + + + + Whether the (if unrecognized) chunk is safe to copy. + + + + + Create a new . + + + + + + + + Describes the interpretation of the image data. + + + + + Grayscale. + + + + + Colors are stored in a palette rather than directly in the data. + + + + + The image uses color. + + + + + The image has an alpha channel. + + + + + The method used to compress the image data. + + + + + Deflate/inflate compression with a sliding window of at most 32768 bytes. + + + + + 32-bit Cyclic Redundancy Code used by the PNG for checking the data is intact. + + + + + Calculate the CRC32 for data. + + + + + Calculate the CRC32 for data. + + + + + Calculate the combined CRC32 for data. + + + + + Computes a simple linear function of the three neighboring pixels (left, above, upper left), + then chooses as predictor the neighboring pixel closest to the computed value. + + + + + Indicates the pre-processing method applied to the image data before compression. + + + + + Adaptive filtering with five basic filter types. + + + + + The raw byte is unaltered. + + + + + The byte to the left. + + + + + The byte above. + + + + + The mean of bytes left and above, rounded down. + + + + + Byte to the left, above or top-left based on Paeth's algorithm. + + + + + Enables execution of custom logic whenever a chunk is read. + + + + + Called by the PNG reader after a chunk is read. + + + + + The high level information about the image. + + + + + The width of the image in pixels. + + + + + The height of the image in pixels. + + + + + The bit depth of the image. + + + + + The color type of the image. + + + + + The compression method used for the image. + + + + + The filter method used for the image. + + + + + The interlace method used by the image.. + + + + + Create a new . + + + + + + + + Indicates the transmission order of the image data. + + + + + No interlace. + + + + + Adam7 interlace. + + + + + Creates a palette object. Input palette data length from PLTE chunk must be a multiple of 3. + + + + + Adds transparency values from tRNS chunk. + + + + + A pixel in a image. + + + + + The red value for the pixel. + + + + + The green value for the pixel. + + + + + The blue value for the pixel. + + + + + The alpha transparency value for the pixel. + + + + + Whether the pixel is grayscale (if , and will all have the same value). + + + + + Create a new . + + The red value for the pixel. + The green value for the pixel. + The blue value for the pixel. + The alpha transparency value for the pixel. + Whether the pixel is grayscale. + + + + Create a new which has false and is fully opaque. + + The red value for the pixel. + The green value for the pixel. + The blue value for the pixel. + + + + Create a new grayscale . + + The grayscale value. + + + + + + + Whether the pixel values are equal. + + The other pixel. + if all pixel values are equal otherwise . + + + + + + + + + + A PNG image. Call to open from file or bytes. + + + + + The header data from the PNG image. + + + + + The width of the image in pixels. + + + + + The height of the image in pixels. + + + + + Whether the image has an alpha (transparency) layer. + + + + + Get the pixel at the given column and row (x, y). + + + Pixel values are generated on demand from the underlying data to prevent holding many items in memory at once, so consumers + should cache values if they're going to be looped over many time. + + The x coordinate (column). + The y coordinate (row). + The pixel at the coordinate. + + + + Read the PNG image from the stream. + + The stream containing PNG data to be read. + Optional: A visitor which is called whenever a chunk is read by the library. + The data from the stream. + + + + Read the PNG image from the bytes. + + The bytes of the PNG data to be read. + Optional: A visitor which is called whenever a chunk is read by the library. + The data from the bytes. + + + + Read the PNG from the file path. + + The path to the PNG file to open. + Optional: A visitor which is called whenever a chunk is read by the library. + This will open the file to obtain a so will lock the file during reading. + The data from the file. + + + + Used to construct PNG images. Call to make a new builder. + + + + + Create a builder for a PNG with the given width and size. + + + + + Sets the RGB pixel value for the given column (x) and row (y). + + + + + Set the pixel value for the given column (x) and row (y). + + + + + Get the bytes of the PNG file for this builder. + + + + + Write the PNG file bytes to the provided stream. + + + + + The code to execute whenever a chunk is read. Can be . + + + + + Whether to throw if the image contains data after the image end marker. + by default. + + + + + Provides convenience methods for indexing into a raw byte array to extract pixel values. + + + + + Create a new . + + The decoded pixel data as bytes. + The number of bytes in each pixel. + The palette for the image. + The image header. + + + + but without being a public API/ + + + + Default constructor. + + + Default constructor. + + + Create a random access buffer using the given byte array. + + @param input the byte array to be read + + + Create a random access buffer of the given input stream by copying the data. + + @param input the input stream to be read + @throws IOException if something went wrong while copying the data + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + create a new buffer chunk and adjust all pointers and indices. + + + switch to the next buffer chunk and reset the buffer pointer. + + + Ensure that the RandomAccessBuffer is not closed + @throws IOException + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + {@inheritDoc} + + + + Logs internal messages from the PDF parsing process. Consumers can provide their own implementation + in the to intercept log messages. + + + + + Record an informational debug message. + + + + + Record an informational debug message with exception. + + + + + Record an warning message due to a non-error issue encountered in parsing. + + + + + Record an error message due to an issue encountered in parsing. + + + + + Record an error message due to an issue encountered in parsing with exception. + + + + + A node in the (also known as outlines) of a PDF document. + + + + + The text displayed for this node. + + + + + The bookmark's sub-bookmarks. + + + + + Whether this node is a leaf node (has no children). + + + + + The node's level in the hierarchy. + + + + + Create a new . + + + + + The bookmarks in a PDF document. + + + + + The roots of the bookmarks' node tree. + + + + + Create a new . + + + + + Get all nodes. + + + + + Extract bookmarks, if any. + + + + + Extract bookmarks recursively. + + + + + Get explicit destination or a named destination (Ref 12.3.2.3) from dictionary + + + Token name, can be D or Dest + + + + in case we are looking up a destination for a GoToR (Go To Remote) action: pass in true + to enforce a check for indirect page references (which is not allowed for GoToR) + + + + + + A destination location in the same file. + + + + + The page number (1-based) of the destination. + + + + + The display type of the destination. + + + + + The display coordinates of the destination. + + + + + Create a new . + + + + + The coordinates of the region to display for a . + + + + + An empty set of coordinates where no values have been set. + + + + + The left side of the region to display. + + + + + The top edge of the region to display. + + + + + The right side of the region to display + + + + + The bottom edge of the region to display. + + + + + Create a new . + + + + + Create a new . + + + + + Create a new . + + + + + The display type for opening an . + + + + + Display the page with the given top left coordinates and + zoom level. + + + + + Fit the entire page within the window. + + + + + Fit the entire page width within the window. + + + + + Fit the entire page height within the window. + + + + + Fit the rectangle specified by the + within the window. + + + + + Fit the page's bounding box within the window. + + + + + Fit the page's bounding box width within the window. + + + + + Fit the page's bounding box height within the window. + + + + + Named destinations in a PDF document + + + + + Dictionary containing explicit destinations, keyed by name + + + + + Pages are required for getting explicit destinations + + + + + Constructor + + + + + + + + A node in the of a PDF document which corresponds + to a location in the current document. + + + + + The page number where the bookmark is located. + + + + + The destination of the bookmark in the current document. + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a location in an embedded file. + + + + + The file specification for the embedded file + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a location in an external file. + + + + + The name of the file containing this bookmark. + + + + + + Create a new . + + + + + + + + + A node in the of a PDF document which corresponds + to a uniform resource identifier on the Internet. + + + + + The uniform resource identifier to resolve. + + + + + + Create a new . + + + + + + + + Parse the dictionary from a PDF file trailer. + + + + + Convert the file trailer dictionary into a instance. + + + + + Check that the offsets in the cross reference are correct. + + + + + Used to retrieve the version header from the PDF file. + + + The first line of a PDF file should be a header consisting of the 5 characters %PDF– followed by a version number of the form 1.N, where N is a digit between 0 and 7. + A conforming reader should accept files with any of the following headers: + %PDF–1.0 + %PDF–1.1 + %PDF–1.2 + %PDF–1.3 + %PDF–1.4 + %PDF–1.5 + %PDF–1.6 + %PDF–1.7 + This parser allows versions up to 1.9. + For versions equal or greater to PDF 1.4, the optional Version entry in the document's catalog dictionary should be used instead of the header version. + + + + + The %%EOF may be further back in the file. + + + + + For objects which provide document scoped caching. + + + + + Brute force search for all objects in the document. + + + + + Find the offset of every object contained in the document by searching the entire document contents. + + The bytes of the document. + The object keys and offsets for the objects in this document. + + + + The array representing the size of the fields in a cross reference stream. + + + + + The type of the entry. + + + + + Type 0 and 2 is the object number, Type 1 this is the byte offset from beginning of file. + + + + + For types 0 and 1 this is the generation number. For type 2 it is the stream index. + + + + + How many bytes are in a line. + + + + + Parses through the unfiltered stream and populates the xrefTable HashMap. + + + + + Each subsection of the cross-reference table starts with a line defining the starting object number + and the count of objects in the subsection. + + + xref + 12 16 + ... + + Defines a table subsection that starts with object 12 and has 16 entries (12-27). + + + + + The first object number in the table. + + + + + The number of consecutive objects declared in the table. + + + + + Create a new to define a range of consecutive objects in the cross-reference table. + + + + + Attempts to read the from the current line of the source. + + + + + Configures options used by the parser when reading PDF documents. + + + + + A default with set to false. + + + + + Should the parser apply clipping to paths? + Defaults to . + Bezier curves will be transformed into polylines if clipping is set to . + + + + + Should the parser ignore issues where the document does not conform to the PDF specification? + + + + + The used to record messages raised by the parsing process. + + + + + The password to use to open the document if it is encrypted. If you need to supply multiple passwords to test against + you can use . The value of will be included in the list to test against. + + + + + All passwords to try when opening this document, will include any values set for . + + + + + Skip extracting content where the font could not be found, will result in some letters being skipped/missed + but will prevent the library throwing where the source PDF has some corrupted text. Also skips XObjects like + forms and images when missing. + + + + + + Provides access to document level information for this PDF document as well as access to the s contained in the document. + + + + + The metadata associated with this document. + + + + + Access to the underlying raw structure of the document. + + + + + Access to rare or advanced features of the PDF specification. + + + + + The version number of the PDF specification which this file conforms to, for example 1.4. + + + + + Get the number of pages in this document. + + + + + Whether the document content is encrypted. + + + + + Creates a for reading from the provided file bytes. + + The bytes of the PDF file. + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Opens a file and creates a for reading from the provided file path. + + The full path to the file location of the PDF file. + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Creates a for reading from the provided stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + + + A stream of the file contents, this must support reading and seeking. + The PdfDocument will not dispose of the provided stream. + + Optional parameters controlling parsing. + A providing access to the file contents. + + + + Get the page with the specified page number (1 indexed). + + The number of the page to return, this starts from 1. + The page. + + + + Gets all pages in this document in order. + + + + + Get the document level metadata if present. + The metadata is XML in the (Extensible Metadata Platform) XMP format. + + This will throw a if called on a disposed . + The metadata stream if it exists. + if the metadata is present, otherwise. + + + + Gets the bookmarks if this document contains some. + + This will throw a if called on a disposed . + + + + Gets the form if this document contains one. + + This will throw a if called on a disposed . + An from the document or if not present. + + + + + Dispose the and close any unmanaged resources. + + + + + Extensions for PDF types. + + + + + Try and get the entry with a given name and type or look-up the object if it's an indirect reference. + + + + + Get the decoded data from this stream. + + + + + Character bounding box. + + + + + The glyph bounds. + + + + + THe width. + + + + + Specifies the character collection associated with the (CIDFont). + + + + + Identifies the issuer of the character collection. + + + + + Uniquely identifies the character collection within the parent registry. + + + + + The supplement number of the character collection. + + + + + The stack of numeric operands currently active in a CharString. + + + + + The current size of the stack. + + + + + Whether it's possible to pop a value from either end of the stack. + + + + + Remove and return the value from the top of the stack. + + The value from the top of the stack. + + + + Remove and return the value from the bottom of the stack. + + The value from the bottom of the stack. + + + + Adds the value to the top of the stack. + + The value to add. + + + + Removes all values from the stack. + + + + + Specifies mapping from character identifiers to glyph indices. + Can either be defined as a name in which case it must be Identity or a stream which defines the mapping. + + + + + Glyph descriptions based on Adobe Type 1 format. + + + + + Glyph descriptions based on TrueType format. + + + + + A CID font contains glyph descriptions accessed by + CID (character identifier) as character selectors. + + + A CID font contains information about a CIDFont program but is + not itself a font. It can only be a descendant of a Type 0 font. + + + + + + + + + + Either Type0 (Adobe Type 1 font) or Type2 (TrueType font). + + + + + The PostScript name of the CIDFont. + + + + + The definition of the character collection for the font. + + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + The glyph path for the given character code. + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + + The glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + The normalized glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + + The normalized glyph path for the given character code. + + + + Represents either an Adobe Type 1 or TrueType font program for a CIDFont. + + + + + + Type 0 CID fonts contain glyph descriptions based on the + Adobe Type 1 font format. + + + + + + Type 2 CID fonts contains glyph descriptions based on + the TrueType font format. + + + + + Defines the default position and displacement vector vertical components + for fonts which have vertical writing modes. + + + + + The default value of if not defined by a font. + + + + + The vertical component of the position vector. + + + The full position vector unless overridden by the W2 array is: + (w0/2, Position) + Where w0 is the width of the given glyph. + + + + + The vertical component of the displacement vector. + + + The full displacement vector is: + (0, Displacement) + + + + + Create a new . + + + + + Get the full position vector for a given glyph. + + + + + Get the full displacement vector. + + + + + + + + Glyphs from fonts which support vertical writing mode define displacement and position vectors. + The position vector specifies how the horizontal writing origin is transformed into the vertical writing origin. + The displacement vector specifies how far to move vertically before drawing the next glyph. + + + + + The default position and displacement vectors where not overridden. + + + + + Overrides displacement vector y components for glyphs specified by CID code. + + + + + Overrides position vector (x and y) components for glyphs specified by CID code. + + + + + Create new . + + + + + Get the position vector used to convert horizontal glyph origin to vertical origin. + + + + + Get the displacement vector used to move the origin to the next glyph location after drawing. + + + + + A mutable class used when parsing and generating a . + + + + + Defines the character collection associated CIDFont/s for this CMap. + + + + + An that determines the writing mode for any CIDFont combined with this CMap. + 0: Horizontal + 1: Vertical + + + Defined as optional. + + + + + The PostScript name of the CMap. + + + Defined as required. + + + + + Defines the version of this CIDFont file. + + + Defined as optional. + + + + + Defines changes to the internal structure of Character Map files + or operator semantics. + + + Defined as required. + + + + + Maps from a single character code to its CID. + + + + + The character code. + + + + + The CID to map to. + + + + + Creates a new single mapping from a character code to a CID. + + + + + Associates the beginning and end of a range of character codes with the starting CID for the range. + + + + + The beginning of the range of character codes. + + + + + The end of the range of character codes. + + + + + The CID associated with the beginning character code. + + + + + Creates a new to associate a range of character codes to a range of CIDs. + + The first character code in the range. + The last character code in the range. + The first CID for the range. + + + + Determines if this contains a mapping for the character code. + + + + + Attempts to map the given character code to the corresponding CID in this range. + + Character code + The CID if found. + if the character code maps to a CID in this range or if the character is out of range. + + + + The CMap (character code map) maps character codes to character identifiers (CIDs). + The set of characters which a CMap refers to is the "character set" (charset). + + + + + Defines the type of the internal organization of the CMap file. + + + + + Defines the name of the CMap file. + + + + + The version number of the CIDFont file. + + + + + Describes the set of valid input character codes. + + + + + Associates ranges of character codes with their corresponding CID values. + + + + + Overrides CID mappings for single character codes. + + + + + Controls whether the font associated with the CMap writes horizontally or vertically. + + + + + Issue #202 seems to indicate empty codespace ranges are possible. + + + + + Returns the sequence of Unicode characters for the given character code. + + Character code + Unicode characters(may be more than one, e.g "fi" ligature) + if this character map contains an entry for this code, otherwise. + + + + Converts a character code to a CID. + + The character code. + The corresponding CID for the character code. + + + + A codespace range is specified by a pair of codes of some particular length giving the lower and upper bounds of that range. + + + + + The lower-bound of this range. + + + + + The upper-bound of this range. + + + + + The lower-bound of this range as an integer. + + + + + The upper-bound of this range as an integer. + + + + + The number of bytes for numbers in this range. + + + + + Creates a new instance of . + + + + + Returns if the given code bytes match this codespace range. + + + + + Returns true if the given code bytes match this codespace range. + + + + + Defines the information content (actual text) of the font + as opposed to the display format. + + + + + Does the font provide a CMap to map CIDs to Unicode values? + + + + + Is this document (unexpectedly) using a predefined Identity-H/V CMap as its ToUnicode CMap? + + + + + Defines glyphs using a CIDFont + + + + + + + + + + + Holds the location and type of the stream containing the corresponding font program. + + + This can either be a Type 1 font program (FontFile - ), + a TrueType font program (FontFile2 - ) or a font program + whose format is given by the Subtype of the stream dictionary (FontFile3 - ). + At most only 1 of these entries is present. + + + + + The object containing the stream for this font program. + + + + + The type of the font program represented by this descriptor. + + + + + Create a new . + + + + + The type of font program represented by the stream used by this font descriptor. + + + + + A Type 1 font program. + + + + + A TrueType font program. + + + + + A type defined by the stream dictionary's Subtype entry. + + + + + Specifies metrics and attributes of a simple font or CID Font for the whole font rather than per-glyph. + + + + Provides information to enable consumer applications to find a substitute font when the font is unavailable. + + + Font descriptors are not used with Type 0 fonts. + + + A font descriptor is a dictionary used to specify various attributes. + + + + + + The PostScript name for the font. + + Required + + + + The preferred font family. + + Optional + + + + The font stretch value. + + Optional + + + + The weight/thickness of the font. + + + Possible values: + 100
+ 200
+ 300
+ 500 (normal)
+ 600
+ 700
+ 800
+ 900
+ Optional +
+
+ + + Defines various font characteristics. See . + + Required + + + + A rectangle in glyph coordinates which represents the smallest + rectangle containing all glyphs of the font. + + Required (Except Type 3) + + + + The angle in degrees counter-clockwise from vertical of the vertical + lines of the font. + The value is negative for fonts sloping right (italic fonts). + + 9 o'clock is represented by 90 degrees. 3 o'clock is -90 degrees. + Required + + + + The maximum height above the baseline for any glyph from this font (except for accents). + + Required (Except Type 3) + + + + The maximum depth below the baseline for any glyph in the font. This is negative. + + Required (Except Type 3) + + + + The spacing between consecutive lines of text. Default 0. + + Optional + + + + The vertical distance of the top of flat capital letters from the baseline. + + Required (Where Latin Characters, Except Type 3) + + + + The x height of the font. The vertical distance of the top of flat non-ascending + lowercase letters (e.g. x) from the baseline. Default 0. + + Optional + + + + The horizontal thickness of vertical stems of glyphs. + + Required (Except Type 3) + + + + The vertical thickness of horizontal stems of glyphs. Default 0. + + Optional + + + + The average glyph width in the font. Default 0. + + Optional + + + + The maximum glyph width in the font. Default 0. + + Optional + + + + The width for character codes whose widths are not present in the Widths + array of the font dictionary. Default 0. + + Optional + + + + The bytes of the font program. + + Optional + + + + The character names defined in a font subset. + + Optional + + + + Create a new . + + + + + Provides a mutable way to construct a . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Sets the . + + + + + Create a new . + + + + + Create the with values from this builder. + + + + + Specifies various characteristics of a font. + + + + + No flags are set. + + + + + All glyphs have the same width. + + + + + Glyphs have serifs. + + + + + There are glyphs outside the Adobe standard Latin set. + + + + + The glyphs resemble cursive handwriting. + + + + + Font uses a (sub)set of the Adobe standard Latin set. + + Cannot be set at the same time as . + + + + Font is italic. + + + + + Font contains only uppercase letters. + + + + + Lowercase letters are smaller versions of the uppercase equivalent. + + + + + Forces small bold text to be rendered bold. + + + + + Summary details of the font used to draw a glyph. + + + + + The normal weight for a font. + + + + + The bold weight for a font. + + + + + The font name. + + + + + Whether the font is bold. + + + + + The font weight, values above 500 represent bold. + + + + + Whether the font is italic. + + + + + Create a new . + + + + + + + + The font stretch. + + + + + Not specified or not a recognised value. + + + + + Ultra Condensed. + + + + + Extra Condensed. + + + + + Condensed. + + + + + Semi Condensed. + + + + + Normal + + + + + Semi Expanded + + + + + Expanded + + + + + Extra Expanded + + + + + Ultra Expanded + + + + + Font base interface. + + + + + The font name. + + + + + Is the font vertical. + + + + + The font details. + + + + + Read the character code. + + + + + Try get the unicode value. + + + + + Get the font bounding box. + + + + + Get the font transformation matrix. + + + + + Returns the glyph path for the given character code. + + Character code in a PDF. Not to be confused with unicode. + The glyph path for the given character code. + + + + Returns the normalised glyph path for the given character code in a PDF. + + Character code in a PDF. Not to be confused with unicode. + The normalized glyph path for the given character code. + + + + A font which supports a vertical writing mode in addition to the default horizontal writing mode. + + + + + In vertical fonts the glyph position is described by a position vector from the origin used for horizontal writing. + The position vector is applied to the horizontal writing origin to give a new vertical writing origin. + + + + + The beginbfrange and endbfrange operators map i ranges of input codes to the corresponding output code range. + + + + + Provides parsing for a certain operator type in a CID font definition. + + The type of the token preceding the operation we wish to parse. + + + + Parse the definition for this part of the CID font and write the results to the . + + + + + + + + + + + Some TrueType fonts use both the Standard 14 descriptor and the TrueType font from disk. + + + + + + + + + + + A font based on the Adobe Type 1 font format. + + + + + + + + + + + A font using one of the Adobe Standard 14 fonts. Can use a custom encoding. + + + + + + Not implemeted. + + + + + + Not implemeted. + + + + + Type 3 fonts are usually unnamed. + + + + + + Type 3 fonts do not use vector paths. Always returns false. + + + + + + Type 3 fonts do not use vector paths. Always returns false. + + + + + Render page as an image. + + + + + Render page as an image. + + The pdf page. + The scale to apply to the page (i.e. zoom level). + The output image format, if supported. + The image as a memory stream. + + + + The output image format of the . + + + + + Bitmap image format. + + + + + Jpeg/Jpg image format. + + + + + Png image format. + + + + + Tiff image format. + + + + + Gif image format. + + + + + Provides access to explore and retrieve the underlying PDF objects from the document. + + + + + The root of the document's hierarchy providing access to the page tree as well as other information. + + + + + The cross-reference table enables direct access to objects by number. + + + + + Provides access to tokenization capabilities for objects by object number. + + + + + Retrieve the tokenized object with the specified object reference number. + + The object reference number. + The tokenized PDF object from the file. + + + + Tokenizes objects from bytes in a PDF file. + + + + + Tokenize the object with a given object number. + May return null when the reference is undefined + + The object number for the object to tokenize. + The tokenized object. + + + + Adds the token to an internal cache that will be returned instead of + scanning the source PDF data. + + The object number for the object to replace. + The token to replace the existing data. + + + + Since we want to scan objects while reading the cross reference table we lazily load it when it's ready. + + + + + Indicates whether we now have a cross reference table. + + + + + Stores tokens encountered between obj - endobj markers for each call. + Cleared after each operation. + + + + + Used internally by the when reading streams to store any occurrences of 'endobj' or 'endstream' observed. + + + + + The offset at which the token started in the file. + + + + + The type, one of either or . + + + + + Create a new + + + + + Used to calculate the Adler-32 checksum used for ZLIB data in accordance with + RFC 1950: ZLIB Compressed Data Format Specification. + + + + + Calculate the Adler-32 checksum for some data. + + + + + Indicates that the value of the marked element could be null sometimes, + so the check for null is necessary before its usage. + + + [CanBeNull] object Test() => null; + + void UseTest() { + var p = Test(); + var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' + } + + + + + Indicates that the value of the marked element could never be null. + + + [NotNull] object Foo() { + return null; // Warning: Possible 'null' assignment + } + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can never be null. + + + + + Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task + and Lazy classes to indicate that the value of a collection item, of the Task.Result property + or of the Lazy.Value property can be null. + + + + + Indicates that the marked method builds string by format pattern and (optional) arguments. + Parameter, which contains format string, should be given in constructor. The format string + should be in -like form. + + + [StringFormatMethod("message")] + void ShowError(string message, params object[] args) { /* do something */ } + + void Foo() { + ShowError("Failed: {0}"); // Warning: Non-existing argument in format string + } + + + + + Specifies which parameter of an annotated method should be treated as format-string + + + + + For a parameter that is expected to be one of the limited set of values. + Specify fields of which type should be used as values for this parameter. + + + + + Indicates that the function argument should be string literal and match one + of the parameters of the caller function. For example, ReSharper annotates + the parameter of . + + + void Foo(string param) { + if (param == null) + throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol + } + + + + + Indicates that the method is contained in a type that implements + System.ComponentModel.INotifyPropertyChanged interface and this method + is used to notify that some property value changed. + + + The method should be non-static and conform to one of the supported signatures: + + NotifyChanged(string) + NotifyChanged(params string[]) + NotifyChanged{T}(Expression{Func{T}}) + NotifyChanged{T,U}(Expression{Func{T,U}}) + SetProperty{T}(ref T, T, string) + + + + public class Foo : INotifyPropertyChanged { + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void NotifyChanged(string propertyName) { ... } + + string _name; + + public string Name { + get { return _name; } + set { _name = value; NotifyChanged("LastName"); /* Warning */ } + } + } + + Examples of generated notifications: + + NotifyChanged("Property") + NotifyChanged(() => Property) + NotifyChanged((VM x) => x.Property) + SetProperty(ref myField, value, "Property") + + + + + + Describes dependency between method input and output. + + +

Function Definition Table syntax:

+ + FDT ::= FDTRow [;FDTRow]* + FDTRow ::= Input => Output | Output <= Input + Input ::= ParameterName: Value [, Input]* + Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} + Value ::= true | false | null | notnull | canbenull + + If method has single input parameter, it's name could be omitted.
+ Using halt (or void/nothing, which is the same) for method output + means that the methos doesn't return normally (throws or terminates the process).
+ Value canbenull is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, or use single attribute + with rows separated by semicolon. There is no notion of order rows, all rows are checked + for applicability and applied per each program state tracked by R# analysis.
+
+ + + [ContractAnnotation("=> halt")] + public void TerminationMethod() + + + [ContractAnnotation("halt <= condition: false")] + public void Assert(bool condition, string text) // regular assertion method + + + [ContractAnnotation("s:null => true")] + public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() + + + // A method that returns null if the parameter is null, + // and not null if the parameter is not null + [ContractAnnotation("null => null; notnull => notnull")] + public object Transform(object data) + + + [ContractAnnotation("=> true, result: notnull; => false, result: null")] + public bool TryParse(string s, out Person result) + + +
+ + + Indicates that marked element should be localized or not. + + + [LocalizationRequiredAttribute(true)] + class Foo { + string str = "my string"; // Warning: Localizable string + } + + + + + Indicates that the value of the marked type (or its derivatives) + cannot be compared using '==' or '!=' operators and Equals() + should be used instead. However, using '==' or '!=' for comparison + with null is always permitted. + + + [CannotApplyEqualityOperator] + class NoEquality { } + + class UsesNoEquality { + void Test() { + var ca1 = new NoEquality(); + var ca2 = new NoEquality(); + if (ca1 != null) { // OK + bool condition = ca1 == ca2; // Warning + } + } + } + + + + + When applied to a target attribute, specifies a requirement for any type marked + with the target attribute to implement or inherit specific type or types. + + + [BaseTypeRequired(typeof(IComponent)] // Specify requirement + class ComponentAttribute : Attribute { } + + [Component] // ComponentAttribute requires implementing IComponent interface + class MyComponent : IComponent { } + + + + + Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library), + so this symbol will not be marked as unused (as well as by other usage inspections). + + + + + Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes + as unused (as well as by other usage inspections) + + + + Only entity marked with attribute considered used. + + + Indicates implicit assignment to a member. + + + + Indicates implicit instantiation of a type with fixed constructor signature. + That means any unused constructor parameters won't be reported as such. + + + + Indicates implicit instantiation of a type. + + + + Specify what is considered used implicitly when marked + with or . + + + + Members of entity marked with attribute are considered used. + + + Entity marked with attribute and all its members considered used. + + + + This attribute is intended to mark publicly available API + which should not be removed and so is treated as used. + + + + + Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. + If the parameter is a delegate, indicates that delegate is executed while the method is executed. + If the parameter is an enumerable, indicates that it is enumerated while the method is executed. + + + + + Indicates that a method does not make any observable state changes. + The same as System.Diagnostics.Contracts.PureAttribute. + + + [Pure] int Multiply(int x, int y) => x * y; + + void M() { + Multiply(123, 42); // Waring: Return value of pure method is not used + } + + + + + Indicates that the return value of method invocation must be used. + + + + + Indicates the type member or parameter of some type, that should be used instead of all other ways + to get the value that type. This annotation is useful when you have some "context" value evaluated + and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. + + + class Foo { + [ProvidesContext] IBarService _barService = ...; + + void ProcessNode(INode node) { + DoSomething(node, node.GetGlobalServices().Bar); + // ^ Warning: use value of '_barService' field + } + } + + + + + Indicates that a parameter is a path to a file or a folder within a web project. + Path can be relative or absolute, starting from web root (~). + + + + + An extension method marked with this attribute is processed by ReSharper code completion + as a 'Source Template'. When extension method is completed over some expression, it's source code + is automatically expanded like a template at call site. + + + Template method body can contain valid source code and/or special comments starting with '$'. + Text inside these comments is added as source code when the template is applied. Template parameters + can be used either as additional method parameters or as identifiers wrapped in two '$' signs. + Use the attribute to specify macros for parameters. + + + In this example, the 'forEach' method is a source template available over all values + of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: + + [SourceTemplate] + public static void forEach<T>(this IEnumerable<T> xs) { + foreach (var x in xs) { + //$ $END$ + } + } + + + + + + Allows specifying a macro for a parameter of a source template. + + + You can apply the attribute on the whole method or on any of its additional parameters. The macro expression + is defined in the property. When applied on a method, the target + template parameter is defined in the property. To apply the macro silently + for the parameter, set the property value = -1. + + + Applying the attribute on a source template method: + + [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] + public static void forEach<T>(this IEnumerable<T> collection) { + foreach (var item in collection) { + //$ $END$ + } + } + + Applying the attribute on a template method parameter: + + [SourceTemplate] + public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { + /*$ var $x$Id = "$newguid$" + x.ToString(); + x.DoSomething($x$Id); */ + } + + + + + + Allows specifying a macro that will be executed for a source template + parameter when the template is expanded. + + + + + Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. + + + If the target parameter is used several times in the template, only one occurrence becomes editable; + other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, + use values >= 0. To make the parameter non-editable when the template is expanded, use -1. + > + + + + Identifies the target parameter of a source template if the + is applied on a template method. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC action. If applied to a method, the MVC action name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC area. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is + an MVC controller. If applied to a method, the MVC controller name is calculated + implicitly from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute + for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC + partial view. If applied to a method, the MVC partial view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. + Use this attribute for custom wrappers similar to + System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). + + + + + ASP.NET MVC attribute. Indicates that a parameter is an MVC template. + Use this attribute for custom wrappers similar to + System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component. If applied to a method, the MVC view name is calculated implicitly + from the context. Use this attribute for custom wrappers similar to + System.Web.Mvc.Controller.View(Object). + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component name. + + + + + ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter + is an MVC view component view. If applied to a method, the MVC view component view name is default. + + + + + ASP.NET MVC attribute. When applied to a parameter of an attribute, + indicates that this parameter is an MVC action name. + + + [ActionName("Foo")] + public ActionResult Login(string returnUrl) { + ViewBag.ReturnUrl = Url.Action("Foo"); // OK + return RedirectToAction("Bar"); // Error: Cannot resolve action + } + + + + + Razor attribute. Indicates that a parameter or a method is a Razor section. + Use this attribute for custom wrappers similar to + System.Web.WebPages.WebPageBase.RenderSection(String). + + + + + Indicates how method, constructor invocation or property access + over collection type affects content of the collection. + + + + Method does not use or modify content of the collection. + + + Method only reads content of the collection but does not modify it. + + + Method can change content of the collection but does not add new elements. + + + Method can add new elements to the collection. + + + + Indicates that the marked method is assertion method, i.e. it halts control flow if + one of the conditions is satisfied. To set the condition, mark one of the parameters with + attribute. + + + + + Indicates the condition parameter of the assertion method. The method itself should be + marked by attribute. The mandatory argument of + the attribute is the assertion type. + + + + + Specifies assertion type. If the assertion method argument satisfies the condition, + then the execution continues. Otherwise, execution is assumed to be halted. + + + + Marked parameter should be evaluated to true. + + + Marked parameter should be evaluated to false. + + + Marked parameter should be evaluated to null value. + + + Marked parameter should be evaluated to not null value. + + + + Indicates that the marked method unconditionally terminates control flow execution. + For example, it could unconditionally throw exception. + + + + + Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, + .Where). This annotation allows inference of [InstantHandle] annotation for parameters + of delegate type by analyzing LINQ method chains. + + + + + Indicates that IEnumerable, passed as parameter, is not enumerated. + + + + + Indicates that parameter is regular expression pattern. + + + + + Prevents the Member Reordering feature from tossing members of the marked class. + + + The attribute must be mentioned in your member reordering patterns + + + + + XAML attribute. Indicates the type that has ItemsSource property and should be treated + as ItemsControl-derived type, to enable inner items DataContext type resolve. + + + + + XAML attribute. Indicates the property of some BindingBase-derived type, that + is used to bind some item of ItemsControl-derived type. This annotation will + enable the DataContext type resolve for XAML bindings for such properties. + + + Property should have the tree ancestor of the ItemsControl type or + marked with the attribute. + + + + + Helper class for dates. + + + + + Try parsing a pdf formatted date string into a . + Date values used in a PDF shall conform to a standard date format, which closely + follows that of the international standard ASN.1, defined in ISO/IEC 8824. A date shall be a text string + of the form (D:YYYYMMDDHHmmSSOHH'mm). + + The pdf formated date string, e.g. D:199812231952-08'00. + The parsed date. + True if parsed. + + + + Default Word Extractor. + + + + + Gets the words. + + The letters in the page. + + + + Create an instance of Default Word Extractor, . + + + + Utility functions for hex encoding. + + @author John Hewson + + + for hex conversion. + + https://stackoverflow.com/questions/2817752/java-code-to-convert-byte-to-hexadecimal + + + + + Returns a hex string for the given byte array. + + + + + An approach used to generate words from a set of letters. + + + + + Generate words from the input set of letters. + + The letters to generate words for. + An enumerable of words from this approach. + + + + The identity matrix. The result of multiplying a matrix with + the identity matrix is the matrix itself. + + + + + Creates a 3x3 matrix with the following layout: + + | m11 m12 m13 | + | m21 m22 m23 | + | m31 m32 m33 | + + + + + + Returns a new matrix that is the inverse of this matrix (i.e. multiplying a matrix with + its inverse matrix yields the identity matrix). + + If an inverse matrix does not exist, null is returned. + + + + + Returns a new matrix with each element being a mulitple of the supplied factor. + + + + + Multiplies this matrix with the supplied 3-element vector + and returns a new 3-element vector as the result. + + + + + Returns a new matrix that is the 'dot product' of this matrix + and the supplied matrix. + + + + + Returns a new matrix that is the transpose of this matrix + (i.e. the tranpose of a matrix, is a matrix with its rows + and column interchanged) + + + + + Measures of whitespace size based on point size. + + + + + Get the average whitespace sized expected for a given letter. + + + + + Check if the measured gap is probably big enough to be a whitespace character based on the letter. + + + + + Sets if the stream writer should attempt to deduplicate objects. + May not have any affect if does not + support deduplication. + + + + + The underlying stream used by the writer. + + + + + Writes a single token to the stream. + + Token to write. + Indirect reference to the token. + + + + Writes a token to a reserved object number. + + Token to write. + Reserved indirect reference. + Reserved indirect reference. + + + + Reserves an object number for an object to be written. + Useful with cyclic references where object number must be known before + writing. + + A reserved indirect reference. + + + + Initializes the PDF stream with pdf header. + + Version of PDF. + + + + Completes the PDF writing trailing PDF information. + + Indirect reference of catalog. + Reference to document information (optional) + + + + Writes any type of to the corresponding PDF document format output. + + + + + Writes the given input token to the output stream with the correct PDF format and encoding including whitespace and line breaks as applicable. + + The token to write to the stream. + The stream to write the token to. + + + + Writes pre-serialized token as an object token to the output stream. + + Object number of the indirect object. + Generation of the indirect object. + Pre-serialized object contents. + The stream to write the token to. + + + + Writes a valid single section cross-reference (xref) table plus trailer dictionary to the output for the set of object offsets. + + The byte offset from the start of the document for each object in the document. + The object representing the catalog dictionary which is referenced from the trailer dictionary. + The output stream to write to. + The object reference for the document information dictionary if present. + + + + Derived class of that does not write or operations in streams + + + + + Write stream without or operations + + + + + + + Try get a stream without or operations. + + + + true if any text operation found (and we have a valid without the text operations), + false if no text operation found (in which case is null) + + + + The standard of PDF/A compliance for generated documents. + + + + + No PDF/A compliance. + + + + + Compliance with PDF/A1-B. Level B (basic) conformance are standards necessary for the reliable reproduction of a document's visual appearance. + + + + + Compliance with PDF/A1-A. Level A (accessible) conformance are PDF/A1-B standards in addition to features intended to improve a document's accessibility. + + + + + Compliance with PDF/A2-B. Level B (basic) conformance are standards necessary for the reliable reproduction of a document's visual appearance. + + + + + Compliance with PDF/A2-A. Level A (accessible) conformance are PDF/A2-B standards in addition to features intended to improve a document's accessibility. + + + + + Compliance with PDF/A3-B. Level B (basic) conformance are PDF/A2-B standards in addition to support for embedded files + + + + + Compliance with PDF/A3-A. Level A (accessible) conformance are PDF/A3-B standards in addition to features intended to improve a document's accessibility. + + + + + A hash combiner that is implemented with the Fowler/Noll/Vo algorithm (FNV-1a). This is a mutable struct for performance reasons. + + + + + The starting point of the FNV hash. + + + + + The prime number used to compute the FNV hash. + + + + + Gets the current result of the hash function. + + + + + Creates a new FNV hash initialized to . + + + + + Adds the specified byte to the hash. + + The byte to hash. + + + + Adds the specified integer to this hash, in little-endian order. + + The integer to hash. + + + + Provides methods to construct new PDF documents. + + + + + The standard of PDF/A compliance of the generated document. Defaults to . + + + + + Whether to include the document information dictionary in the produced document. + + + + + The values of the fields to include in the document information dictionary. + + + + + The bookmark nodes to include in the document outline dictionary. + + + + + The current page builders in the document and the corresponding 1 indexed page numbers. Use + or to add a new page. + + + + + The fonts currently available in the document builder added via or . Keyed by id for internal purposes. + + + + + Creates a document builder keeping resources in memory. + + + + + Creates a document builder keeping resources in memory. + + Pdf version to use in header. + + + + Creates a document builder using the supplied stream. + + Steam to write pdf to. + If stream should be disposed when builder is. + Type of pdf stream writer to use + Pdf version to use in header. + Token writer to use + + + + Determines whether the bytes of the TrueType font file provided can be used in a PDF document. + + The bytes of a TrueType font file. + Any reason messages explaining why the file can't be used, if applicable. + if the file can be used, otherwise. + + + + Adds a TrueType font to the builder so that pages in this document can use it. + + The bytes of a TrueType font. + An identifier which can be passed to . + + + + Adds one of the Standard 14 fonts which are included by default in PDF programs so that pages in this document can use it. These Standard 14 fonts are old and possibly obsolete. + + The type of the Standard 14 font to use. + An identifier which can be passed to . + + + + Add a new page with the specified size, this page will be included in the output when is called. + + The width of the page in points. + The height of the page in points. + A builder for editing the new page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + The size of the page to add. + Whether the page is in portait or landscape orientation. + A builder for editing the new page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + Source document. + Page to copy. + A builder for editing the page. + + + + Add a new page with the specified size, this page will be included in the output when is called. + + Source document. + Page to copy. + If set, links are copied based on the result of the delegate. + A builder for editing the page. + + + + Builds a PDF document from the current content of this builder and its pages. + + The bytes of the resulting PDF document. + + + + A key representing a font available to use on the current document builder. Create by adding a font to a document using either + or . + + + + + The Id uniquely identifying this font on the builder. + + + + + Reference to the added font. + + + + + Create a new . + + + + + Sets the values of the dictionary for the document being created. + Control inclusion of the document information dictionary on the output with . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + . + + + + + Disposes underlying stream if set to do so. + + + + + Merges PDF documents into each other. + + + + + Merge two PDF documents together with the pages from followed by . + + + + + Merge two PDF documents together with the pages from followed by into the output stream. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided. + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided into the output stream + + + + + Merge multiple PDF documents together with the pages in the order the file paths are provided into the output stream + + + + + Merge the set of PDF documents. + + + + + Merge the set of PDF documents into the output stream + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + + A list of streams for the files contents, this must support reading and seeking. + + Must be writable + + + + + + + + A builder used to add construct a page in a PDF document. + + + + + The number of this page, 1-indexed. + + + + + The current size of the page. + + + + + Access to the underlying data structures for advanced use cases. + + + + + Access to + + + + + Allow to append a new content stream before the current one and select it + + + + + Allow to append a new content stream after the current one and select it + + + + + Select a content stream from the list, by his index + + index of the content stream to be selected + + + + Draws a line on the current page between two points with the specified line width. + + The first point on the line. + The last point on the line. + The width of the line in user space units. + + + + Draws a rectangle on the current page starting at the specified point with the given width, height and line width. + + The position of the rectangle, for positive width and height this is the bottom-left corner. + The width of the rectangle. + The height of the rectangle. + The width of the line border of the rectangle. + Whether to fill with the color set by . + + + + Set the number of degrees by which the page is rotated clockwise when displayed or printed. + + + + + Draws a triangle on the current page with the specified points and line width. + + Position of the first corner of the triangle. + Position of the second corner of the triangle. + Position of the third corner of the triangle. + The width of the line border of the triangle. + Whether to fill with the color set by . + + + + Draws a circle on the current page centering at the specified point with the given diameter and line width. + + The center position of the circle. + The diameter of the circle. + The width of the line border of the circle. + Whether to fill with the color set by . + + + + Draws an ellipsis on the current page centering at the specified point with the given width, height and line width. + + The center position of the ellipsis. + The width of the ellipsis. + The height of the ellipsis. + The width of the line border of the ellipsis. + Whether to fill with the color set by . + + + + Sets the stroke color for any following operations to the RGB value. Use to reset. + + Red - 0 to 255 + Green - 0 to 255 + Blue - 0 to 255 + + + + Sets the stroke color with the exact decimal value between 0 and 1 for any following operations to the RGB value. Use to reset. + + Red - 0 to 1 + Green - 0 to 1 + Blue - 0 to 1 + + + + Sets the fill and text color for any following operations to the RGB value. Use to reset. + + Red - 0 to 255 + Green - 0 to 255 + Blue - 0 to 255 + + + + Restores the stroke, text and fill color to default (black). + + + + + Calculates the size and position of each letter in a given string in the provided font without changing the state of the page. + + The text to measure each letter of. + The size of the font in user space units. + The position of the baseline (lower-left corner) to start drawing the text from. + + A font added to the document using + or methods. + + The letters from the input text with their corresponding size and position. + + + + Draws the text in the provided font at the specified position and returns the letters which will be drawn. + + The text to draw to the page. + The size of the font in user space units. + The position of the baseline (lower-left corner) to start drawing the text from. + + A font added to the document using + or methods. + + The letters from the input text with their corresponding size and position. + + + + Set the text rendering mode. This will apply to all future calls to AddText until called again. + + To insert invisible text, for example output of OCR, use TextRenderingMode.Neither. + + Text rendering mode to set. + + + + Adds the JPEG image represented by the input bytes at the specified location. + + + + + Adds the JPEG image represented by the input stream at the specified location. + + + + + Adds the JPEG image previously added using , + this will share the same image data to prevent duplication. + + An image previously added to this page or another page. + The size and location to draw the image on this page. + + + + Adds the image previously added using + or sharing the same image to prevent duplication. + + + + + Adds the PNG image represented by the input bytes at the specified location. + + + + + Adds the PNG image represented by the input stream at the specified location. + + + + + Copy a page from unknown source to this page + + Page to be copied + + + + Provides access to the raw page data structures for advanced editing use cases. + + + + + The operations making up the page content stream. + + + + + A key representing an image available to use for the current document builder. + Create it by adding an image to a page using . + + + + + The Id uniquely identifying this image on the builder. + + + + + The reference to the stored image XObject. + + + + + The width of the raw image in pixels. + + + + + The height of the raw image in pixels. + + + + + Create a new . + + + + + This class would lazily flush all token. Allowing us to make changes to references without need to rewrite the whole stream + + + + + Class to remove text from PDFs, useful as a preprocessing step for Optical Character Recognition (OCR). + Note that this should not be used to redact content from PDFs, this is not a secure or reliable way to redact text. + + + + + Return PDF without text as bytes + Path to PDF + List of pages to emit; if null all pages are emitted + + + + + Write PDF without text to the output stream. The caller must manage disposing the output stream. + Must be writable + Path to PDF + List of pages to emit; if null all pages are emitted + + + + + Remove text from the PDF (passed in as a byte array) and return it as a new byte array + PDF document (as byte array) + List of pages to emit; if null all pages are emitted + PDF without text (as a byte array) + + + + + Remove text from the PDF in the input stream and write it to the output stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + Streams for the file contents, this must support reading and seeking. + Must be writable + List of pages to emit; if null all pages are emitted + + + + + Remove text from the PDF and write it to the output stream. + The caller must manage disposing the stream. The created PdfDocument will not dispose the stream. + PDF document + Must be writable + List of pages to emit; if null all pages are emitted + + + + + Type of pdf writer to use. + + + + + Default output writer + + + + + De-duplicates objects while writing but requires keeping in memory reference. + + + + + Writes any type of to the corresponding PDF document format output. + + + + + Bytes that indicate start of stream + + + + + Bytes that indicate end start of stream + + + + + Single global instance + + + + + Writes the given input token to the output stream with the correct PDF format and encoding including whitespace and line breaks as applicable. + + The token to write to the stream. + The stream to write the token to. + + + + + + + + + + Write a hex value to the output stream + + + + + + + Write an array to the output stream, with whitespace at the end. + + + + + + + Write a boolean "true" or "false" to the output stream, with whitespace at the end. + + + + + + + Write a "%comment" in the output stream, with a line break at the end. + + + + + + + Writes dictionary key/value pairs to output stream as Name/Token pairs. + + + + + + + Write an indirect reference to the stream, with whitespace at the end. + + + + + + + Write a name to the stream, with whitespace at the end. + + + + + + + Write a number to the stream, with whitespace at the end. + + + + + + + Write an object to the stream, with a line break at the end. It writes the following contents: + - "[ObjectNumber] [Generation] obj" + - Object data + - "endobj" + + + + + + + Write a stream token to the output stream, with the following contents: + - Dictionary specifying the length of the stream, any applied compression filters and additional information. + - Stream start indicator + - Bytes in the StreamToken data + - Stream end indicator + + + + + + + Write string to the stream, with whitespace at the end + + + + + + + Write an integer to the stream + + + + + + + Write a line break to the output stream + + + + + + Write a long to the stream + + + + + + + Write a space to the output stream + + + + + + The purpose of this method is to resolve indirect reference. That mean copy the reference's content to the new document's stream + and replace the indirect reference with the correct/new one + + PDF stream writer + Token to inspect for reference + scanner get the content from the original document + Map of previously copied tokens for original document. + Call stack of indirect references + A reference of the token that was copied. With all the reference updated + + + + + A PostScript image XObject. + + + + + + + + + + + + + + + + + The JPX filter encodes data using the JPEG2000 compression method. + A JPEG2000 data stream allows different versions of the image to be decoded + allowing for thumbnails to be extracted. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new . + + + + + + + + + + + + + + XObject type. + + + + + Image. + + + + + Form. + + + + + PostScript. + + +
+
diff --git a/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/vsot5rwj.xsg b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/uglytoad.pdfpig.1.7.0-custom-5.nupkg similarity index 100% rename from local-nuget/uglytoad.pdfpig/1.7.0-custom-5/vsot5rwj.xsg rename to local-nuget/uglytoad.pdfpig/1.7.0-custom-5/uglytoad.pdfpig.1.7.0-custom-5.nupkg diff --git a/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/uglytoad.pdfpig.1.7.0-custom-5.nupkg.sha512 b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/uglytoad.pdfpig.1.7.0-custom-5.nupkg.sha512 new file mode 100644 index 000000000..2192089d3 --- /dev/null +++ b/local-nuget/uglytoad.pdfpig/1.7.0-custom-5/uglytoad.pdfpig.1.7.0-custom-5.nupkg.sha512 @@ -0,0 +1 @@ +TQt6R+YkcHVejSTfUH2veCxOXLOq+dEaLOfq8cgaUJfeLSEO13P/1z95HhCg1G3U7u8gSRwH3xJxm2dBZQ7RTQ== \ No newline at end of file